具有自攻击性的代码(转)--一叶知秋
日期:2007年7月12日 作者: 查看:[大字体 中字体 小字体]-
具有自攻击性的代码 写出这类代码的程序员如果被点破那么一定会被认为是大脑进水,但是这类的代码已经漫天飞舞甚至成为叶子认为攻击网站的最好手段之一,现看下面的一段代码:
<%set dbr = server.createobject("adodb.recordset")
dbr.open "SELECT * from testapp where id="& request("id") ,session("DS"),1,1
for i = 1 to dbr.recordcount %>
<%=dbr("id")%>-<%=dbr("title")%>
dbr.movenext
next
dbr.close
set dbr=nothing %>
这段代码是根据输入ID返回ID相关的标题名称,相应的数据库构造脚本为
CREATE TABLE [dbo].[testapp] (
[id] [int] NOT NULL , [title] [char] (10) COLLATE Chinese_PRC_CI_AS NOT NULL
) ON [PRIMARY]
但是这个脚本并没有任何的安全检查功能,这样的脚本就是一个系统漏洞,先看一下正常脚本的执行情况:在浏览器中正常的敲入地址http://127.0.0.1/testapp/index.ASP?id=5
将看到正常的显示结果
图-2 但如果输入特殊的请求,如http://127.0.0.1/testapp/index.ASP?id=5;update%20testapp%20set%20id=id%2b%201
这时候这段代码中浏览器并没有任何显示
图-3
好象什么都没有执行,实际上在内部数据就已经变化了,看下面的SQL SERVER的屏幕执行前的数据如图
图-4 执行后的数据,
如图
图-5 可见表中数据ID列全部增加了1,正符合在连接地址栏中巧入的连接http://127.0.0.1/testapp/index.ASP?id=5;update%20testapp%20set%20id=id%2b%201
其实对这个连接解码再结合程序可以得到SQL语句 SELECT * from testapp where id=5;update testapp set id=id + 1 连接中的%20是空格的16进制代码%2b是“+”的十六进制代码
因此组成了以上语句。由于其中分号的作用SQL SERVER将一行SQL语句分解成若干行语句执行因此在执行过SELECT * from testapp where id=5语句后再次执行update testapp set id=id + 1语句使ID列增加1 这个后部的update testapp set id=id + 1也可以根据攻击的需要替换成delete 以及 insert甚至在权限允许的条件下可以使用XP_cmdshell执行CMD命令。(出处:网侠)
-
- 具有自攻击性的代码(转)--一叶知秋 相关文章:
- ·具有自攻击性的代码(转)--一叶知秋
- 具有自攻击性的代码(转)--一叶知秋 相关软件
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
上一篇:加固NT和IIS的安全 《转》
下一篇:利用代码实现对ip的访问限制
精品推荐
热点TOP10
- ·加密算法之BLOWFISH算法
- ·对称加密算法技术概述
- ·网络游戏封包基础
- ·破解 最新 SWF scanner V2.6.2
- ·深思3的狗加密的软件
- ·迷你日历 V2.2 算法分析
- ·身份证号编码规则
- ·John the Ripper使用说明
- ·PGP加密原理
- ·即时语音提示 & 校对软件InsTalk注册码及注册机 下
- ·The Bat!使用PGP程序之图形教程(1)
- ·简单算法——WinRCAD 2000公路设计软件
- ·暴破-AQUA 3D Screen Saver v1.5-水族馆屏保程序
- ·smbpasswd - samba加密口令文件
- ·拱猪大战 1.8破解手记--算法分析
- ·简单算法——邮件精灵 V2.0
- ·openssl的man中文文档
- ·屏幕撷取程序Ashampoo SnapYa! v1.53 算法分析
- ·文件密使pj心得
- ·飘雪动画秀3.02注册算法分析
