目录
绕过内容检查实现文件上传
文件上传漏洞简介
通常web站点会有用户注册功能,而当用户登录之后大多数情况下会存在类似头像上传、附件上传之类的功能,这些功能点往往存在上传验证方式不严格的安全缺陷,导致攻击者通过各种手段绕过验证,上传非法文件,这是在web渗透中非常关键的突破口。
文件上传漏洞危害
攻击者绕过上传验证机制上传恶意文件,通过上传的web后门获得整个web业务的控制权,复杂一点的情况是结合web服务器的解析漏洞来获取权限。
文件上传检测流程
通常一个文件以HTTP协议进行上传时,将以POST请求发送至web服务器,web服务器收到请求并同意后,用户与web服务器将建立连接,并传输数据。
制作图片马木
图片马制作方法:copy test.gif /b + eval.php /a eval.gif
将PHP一句话追加到gif图片末尾,b表示二进制文件,a表示ASCII码文件,形成一个包含webshell代码的新gif文件eval.gif。
任务描述:绕过文件头检查,添加GIF图片的文件头绕过GIF图片检查,上传图片木马,配合文件包含漏洞执行webshell。
显示源码,根据源码提示进行文件上传:
上传eval.gif并用burpsuite抓包:
可以看到图片马最后包含webshell代码;添加GIF图片的文件头GIF89a:
点击go后查看响应:
配合文件包含漏洞执行webshell:
在upload目录下写一个include.php文件,内容为:
菜刀连接webshell:
点这个‘+’号,输入webshell地址:http://10.1.1.100/upload-labs/upload/include.php?page=7820200101163204.gif
在后面的post数据输入框里输入:test=phpinfo();
点击post数据输入框后面的提交键,即可连接webshell:
任务描述:突破getimagesize(),配合文件包含漏洞执行webshell。
这里使用getimagesize()获取文件类型,直接上传图片马,添加GIF图片的文件头绕过GIF图片检查。
上传eval.gif并用burpsuite抓包,添加GIF图片的文件头GIF89a,点击‘go’之后查看响应内容:
利用菜刀,配合文件包含漏洞连接webshell: