网络通信 频道

利用%5c绕过验证

    说到%5c,你是不是想起了当前流行的那个%5c暴库漏洞,呵呵,本文就是对%5c利用的探索(呵呵,当然有我提出的新东东,或许对你有帮助哦^_^)。

    好,我们先追根溯源,找到那个漏洞的老底。看看绿盟2001年的漏洞公告:_bug&do=view&bug_id=1429">http://www.nsfocus.net/index.php?act=sec_bug&do=view&bug_id=1429



    N年以前利用这个漏洞可以实现目录遍历,虽然微软出了补丁,不过好像补丁是用来限制iis只能访问虚拟目录的,所以漏洞还是存在,只不过利用方式变了。对iis来说,提交一个含有%5c的url能够找到文件,但是该文件里以相对路径引用的其他文件却找不到了(%5c是\的url编码,iis跳转到上一级目录去找,当然找不到;头晕了吧,哈哈,我也头晕啊)。

    后来这个漏洞就被牛人挖掘出来了,也就是传说中的%5c暴库:由于连接数据库的文件引用的相对路径,提交%5c找不到文件,所以导致出错,iis就会老老实实的说出数据库的路径(不明白?找google)。

    一个偶然的机会我发现还可以利用%5c绕过asp的验证;当我们暴库失败的时候不妨试试。

废话少说,看下面的代码:

<!--#INCLUDE file="conn.asp" -->

<%

guest_user=trim(request("guest_user"))

guest_password=trim(request("guest_password"))

Set rs= Server.createObject("ADODB.Recordset")

sql="select * from admin where id=1"

rs.open sql,conn,3,2

readuser=rs("guest_user")

readpassword=rs("guest_password")

if readuser<>guest_user or readpassword<>guest_password then

response.write "请输入正确地管理员密码!"

response.end

else

session("admin")=1 ''登陆后写入seesion中保存

response.write("登陆成功,请返回信息页")

end if

%>


0
相关文章