不懂SQL语言照样注入拿账号
网络安全
想当黑客,却看不懂网上的技术资料,不知道该怎么入门?如果你有这样的烦恼,就一定要看我们为初学者推出的黑客入门系列“家有黑客”,你能在轻松愉快的阅读中,学到你以前感觉很难的黑客技术。
本期知识:用工具注入攻击ASP+Access
技术难度:★★★
学习进度:第五期
SQL注入是黑客非常喜欢的攻击手段,很多黑客常常利用这种手段寻找未知的漏洞,他们会发现许多相关的漏洞。SQL注入对初学者而言,有一定的难度,但并非无法掌握。如果使用一些成熟的SQL注入工具,你会发现该攻击原来如此简单。下面就来看看针对ASP+Access组合如何用注入攻击。
我平时比较低调,知道我用电脑很厉害的人不多,邻居老张就是其中一个。老张快要退休了,准备自己在网上建立一个购物网站,过过创业的瘾。他用ASP+Access建站程序搭好网站后,就来找我,想我帮他检测一下网站是否安全。
巧的是,老张来时,来我家串门的侄儿也在,他也听到这件事,就在那里夸夸其谈:“张叔叔,这事你应该找我。我可是黑客,我来帮你检测,肯定没有问题。我先检测网站是否有SQL注入漏洞吧!”
这小子平日里就喜欢说大话,可别坏了老张的事,所以我决定考他一考:“半冬,你说你会检测SQL注入漏洞,你知道什么是SQL注入吗?”“知道这个干什么?反正我会用就行了。”
“SQL是数据库查询语言,程序员在编写程序时,如果没有对变量的参数进行过滤,就会留下漏洞。知道了这个原因,你才明白怎么进行手工注入。此外,如果网站不大,用ASP+Access组合的多些,网站较大的用ASP+SQL Server组合多一些。”我教导侄儿道。老张在一旁问我:“那应该怎么检测呢?”
“我给你演示一下。就用你的网站好了,在网址http://www.***.com/type.asp?typeID=11后面加一个单引号并回车,如果出现图1中的错误信息,说明网站很可能存在SQL注入漏洞。”

“然后在链接的后面添加'and 1=1'并回车,再输入' and 1=2'并回车,如果前者出现的页面正常,后者出现的页面错误,那么这个网站有非常大的可能性存在SQL注入漏洞……”
“舅舅,你说的这些,我不懂还不是照样可以用SQL注入攻击。要不,我们比试一下。”
“……”
检测网站有无SQL漏洞
侄儿下载了《啊D注入工具》,运行后点击“注入检测”中的“扫描注入点”按钮,在“检测网址”中填入网站的域名,再点击右侧的“打开网页”。如果网站存在SQL注入漏洞,那么在工具界面下方的“可用注入点”窗口中将会显示存在注入漏洞的链接。果然,邻居的网站存在注入点(图2),侄儿任意选择了一个注入点,点击右键选择“复制链接”命令。

他再点击“SQL注入检测”按钮,在“注入连接”中将刚才复制的链接粘贴进去,点击右侧的“检测”按钮。检测完成后,界面中的“检测表段”按钮会变成可选状态,点击一下,网站数据库中的表段都会被检测出来(图3)。“我要找的就是‘admin’、‘user’等表段,因为这些表段中存放的是管理员和其他用户的账号和密码信息。你看,我已经检测到了‘admin’表段。”侄儿在那里炫耀着,完全无视我头上的“黑线”。

他选中“admin”表段,再点击“检测字段”按钮,在“admin”表段中发现“username”、“passwd” 两个字段,这明显就是保存管理员账号和密码的地方。他勾选了“username”、“passwd”两个字段(图4),然后再点击“检测”按钮,很快管理员的账号和密码信息就被检测出来了,管理员用户名是“base”,密码是“feitium”(图5)。


“舅舅,怎么样,我这手活不赖吧!”侄儿神气极了。我叫他继续做下去,他就“原形毕露”什么都不会了,原来他仅仅会用SQL注入工具找漏洞。最后,还是我出马才手工找出了工具也没有发现的漏洞。
我的经验
SQL注入工具使用简单,效果也不错。不过,工具不是万能的,在复杂的情况下,工具很可能检测不到注入点,这时就要用到手工注入了。手工注入难度很高,一般对编程知识有一定了解的黑客才使用,可以用来寻找ODay漏洞。
上文中我们通过注入攻击得到的管理员密码是明文显示的,但很多情况下我们得到的是经过MD5加密的密文,要得到密码原文,就需要对加密过的密文进行破解,为此,可以登录一些专门破解MD5密文的网站。
存在SQL注入漏洞的不仅有用ASP编写的网站程序,还有PHP、JSP等语言编写的网站程序也同样会存在SQL注入漏洞,当然它们的攻击方法是不同的,有兴趣的朋友可以自行研究一下。