很糟糕的一套程序,我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 |

| 以下是引用片段: <% 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"> |

下一步,直接拿到了管理员密码:
| 对网软网上购物系统的漏洞分析 | 01-09 | |
| sa-blog 0day | 09-22 | |
| 网站登陆接口的攻与防 | 09-04 | |
| 联众游戏大厅GlobalLink glItemC | 09-04 | |
| php代码不开源下的一种漏洞检测思 | 08-25 | |
| 一段有注射漏洞的asp代码 | 08-03 | |
| 浅析BlogEz安全性 | 07-26 | |
| PHP168 CMS的一次新异漏洞分析 | 07-20 | |
| BBSXP多个注入点漏洞 | 07-11 | |
| PHPWind-附件文件名跨站脚本漏洞 | 06-26 | |
| CGI漏洞精典汇总 | 06-18 | |
| 动易新补丁加旧组件的BUG | 06-18 | |