|
作为一个经典且持续热门的黑客技术——注入,单说其原理非常简单,但其利用过程中所需要结合的各种知识以及自身的变化可谓丰富多样。如何掌握并拓展注入技术,摆脱工具小子称号,已经成为新一代黑客人才的热门话题,本文就建立在这个话题之上,针对注入过程中的Cookies与联合查询进行了实例解析,能让你快速掌握注入技巧。
具体的原理与分析过程我就不写了,写起来一大片,大家看的心烦我写的头痛,我就讲操作过程中的细节。隐私报告里设置处需要接受所有的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 %> |
|