好歹也算是有志青年,偶尔的时候他也会玩玩黑客技术的。本质上精通电脑技术的或多或少都懂得一些黑客攻击的技巧。</p>
想到自己还要重*兵刃,沈斌就不由地感叹,哥已经隐退江湖好多年了……</p>
瞄准一台服务器位于丹麦的一个黑客论坛,沈斌决定先拿它来祭旗。</p>
这是一个小的黑客论坛,更早些沈斌连它的名字都不曾听说过,这种默默无闻的论坛远远比不上那些知名论坛,想必也不应该有大鳄存在。</p>
当然,沈斌也知道自己无论在面对什么对象,都不能够掉以轻心,否则随时都有阴沟里翻船的可能。</p>
不能小看任何一个对手,这是黑客这一“高危”职业所应当注意的。没准简单的背后隐藏着的是不简单的内在!</p>
简单刷新了几个网页后,沈斌判断这是一个活跃度中等的论坛。而且它的发帖也是中规中矩,没有太多新颖的地方。这样的地方会藏有复仇者病毒的编写者?沈斌的兴趣开始流失。</p>
不过就算它再不起眼,他也都不能轻易放弃。</p>
好吧,准备入侵!</p>
沈斌首先从电脑中调出一个SQL注入漏洞扫描工具。</p>
一般来说,现在的网站都带有数据库,以备注册会员、储存信息之用。而有数据库的存在,便给了SQL注入有了可乘之机。曾经有机构进行了一项随机抽样测试,发现在1000个网站中,超过百分之十有易受SQL攻击的可能。</p>
在国内,使用ASP+Access或SQLServer的网站占七成以上,又给SQL注入提供了比较大众的方式。</p>
由于程序员的水平及经验参差不齐,有相当大一部分程序员在编写代码的时候会出现种种疏忽,对用户输入数据没有进行合法性的判断,从而使程序存在着安全隐患。黑客就是瞄准了这样的隐患,通过提交一段特殊的数据库查询代码,根据程序返回的结果,便可获得某些他们想得知的数据。</p>
说白了SQL注入并不复杂,就是直接询问服务器“某某某用户的密码是不是某某某”,然后让服务器来回答是一个道理,从反馈回来的信息当中寻找突破口。一个“错误反馈信息”对于大多数人来说或许仅仅代表网页出错了,而对一个黑客而言,可能就可以从这段反馈当中寻得自己需要的答案。</p>
比如说在一个动态网页网址后面添加“1=1”这段代码,由于在逻辑上“1=1”是成立的,那么这个添加了代码的网址就如同正常网址一般能够被打开。当“1=”被键入时,逻辑上不成立,那么网页自然不能打开。</p>
虽然现在已经有了很多防范机制,一般浅显的添加后缀已经能够杜绝。但百密必有一疏,所谓道高一尺魔高一丈,黑客总能找到被程序员忽略了的漏洞。</p>
当然,能不能根据具体情况进行分析,构造巧妙的SQL语句,从而成功获取想要的数据才是高手与“菜鸟”的根本区别。</p>
你需要找到允许提交数据的页面,比如登陆页面、搜索页面、反馈页面等等,虽然一些页面不见得能够清晰的看到相关参数,但依旧可以从HTML的源代码中的“FORM”标签来辨别是否有参数传递。</p>
举一个例子,当黑客注入一个网站的时候,在网址后面构造SQL语句,添加一段代码“user>0”,由于user是SQLServer的一个内置变量,它的值是当前连接的用户名,类型为nvarchar。</p>
拿一个nvarchar的值跟int的数0比较,系统会先试图将nvarchar的值转成int型,当然,转的过程中肯定会出错,SQLServer的出错提示是:将nvarchar值“abc”转换数据类型为int的列时发生语法错误。</p>
呵呵,abc正是变量user的值,这样,不废吹灰之力就拿到了连接数据库的用户名。</p>
其中,在对象是用sa连接数据库时,通过巧妙构造SQL语句,可以直接通过键入代码,用net命令使服务器生成一个新的用户(用户名和密码),这个新的用户对系统而言是合法的,并且可以将新用户添加到管理员组,从而获得最高权限。</p>
前面提到“user>0”,作用是获取连接用户名,如果换做“db_name()”则是另一个系统变量,返回的是连接的数据库名。</p>
拿到的数据库名,加上某些IIS出错暴露出的绝对路径,将数据库备份到Web目录下面,再用HTTP把整个数据库就完完整整的下载回来,所有的管理员及用户密码都一览无遗!</p>
这是一个狠招!但万一不知道绝对路径怎么办?别着急,还可以备份到网络地址的方法(如0.96..Share1.db),但成功率不高。</p>
……</p>
沈斌的主业毕竟不是职业的黑客,所以上手的时候微微有些紧张,好久没有这么尝试了,不知道能不能成功。</p>
一连构造了好几句SQL语句,准备进行先期试探。但反馈回来的信息令他有些失望,别看这个黑客论坛活跃度不怎么样,在黑客界的名气也不算大,但这防御做得还是可圈可点的。一番试下来居然没有发现注入点。</p>
沈斌很清楚的知道,发现SQL注入位置是实行注入的前提,只有发现了注入点,判断出后台数据库的类型,才能进一步确定XP_CMDSHELL可执行情况,在得知WEB虚拟目录后,上传漏洞,最终达到获取系统管理员权限的终极目标!</p>
“看来长时间没有运用,手段有些生疏了。”他摇了摇头,不断尝试着,试图找回感觉。</p>
“有了!”通过几次试验,沈斌脸上终于露出了笑容。</p>
Ps:明天正式上架,预计将更新十万字左右,请各位读者订阅一下,字数差不多了,该宰了。到时求收藏、求订阅、求鲜花!!!(未完待续)</p>