阿d注入工具这名字听着就不正经,注入像是工具某个网吧通宵少年随手敲出来的产物。但你要是下载真在安全圈混过几年,就会知道这玩意儿在特定人群里几乎是注入个传说。它不是工具那种花里胡哨的图形界面工具,连个像样的下载图标都没有,解压出来就一个孤零零的注入exe,双击打开,工具黑底白字的下载命令行窗口,光标一闪一闪等着你输参数。注入
我第一次用它是工具大三那年,帮学校某个社团修一个漏洞百出的下载报名系统。那系统是注入学长用PHP写的,SQL语句全靠字符串拼接,工具单引号都不带转义的下载。我盯着浏览器地址栏里那一长串参数,突然想起室友提过这个工具。下载下来,输入目标URL,选了“POST注入检测”,回车,屏幕上开始滚动绿色的测试日志。大概过了十几秒,它停住了,显示“发现可注入点”,附带一个问号似的提示符。
说实话,那一刻我后背有点发凉。工具太安静了,没有进度条,没有花哨的动画,就像一把手术刀,轻轻划开一道口子,里面的数据就自己淌出来了。它把数据库里的表名、字段名、甚至几条测试数据都列在屏幕上,整整齐齐,像是等着你验收。我赶紧关掉窗口,给管理员发了封邮件说明漏洞,然后把这个工具丢进了一个加密文件夹。
后来我慢慢摸清了它的脾气。阿d注入工具不是那种傻瓜式的一键拿站软件,它更像一个半自动的探测装置。你得自己判断注入类型,是数字型还是字符型,是GET还是POST,甚至得手动调整编码格式。有次我拿它测一个用了WAF的站点,它连续报了三次“目标无响应”,我差点以为是自己参数写错了。结果发现是WAF拦截了特征字符串,得改写成unicode编码绕过。工具本身不背这个锅,它只负责把SQL语句发出去,把返回内容解析出来,剩下的全靠人的经验。
这工具还有个毛病——它不太会处理复杂的数据包。遇到需要cookie验证的页面,你得先把cookie复制到配置文件里,格式还不能错,少一个分号就报错。我记得有个晚上,为了测一个带token的登录接口,我前前后后改了七次配置文件,最后一次终于跑通了,屏幕上刷出密密麻麻的字段列表时,我居然有种解数学题的快感。
现在网上很难找到原版下载了,论坛里流传的多数是改过的版本,有些加了后门,有些阉割了功能。我认识一个搞渗透测试的朋友,他电脑里还存着2012年的老版本,说是“用顺手了,新版反而别扭”。这话我信,工具这东西跟人一样,相处久了就有默契。阿d注入工具的设计者估计早就退圈了,但那些命令行窗口里闪烁过的字符,还在某些人的测试报告里留着痕迹。
下载它之前,你得想清楚自己要干什么。如果是拿去扫别人的网站,那趁早删掉——这工具不会替你背锅,日志文件里白纸黑字记着你的IP。但如果是研究自家系统的漏洞,或者纯粹想搞明白SQL注入的原理,它倒是个不错的陪练。界面糙了点,可该有的功能一样不少,连报错信息都比某些商业工具详细。
我最后一次用它,是帮一个朋友排查他公司内部的OA系统。那系统用了最老式的Access数据库,连参数化查询都没做。朋友说“你随便试试,反正也没啥重要数据”。我打开阿d注入工具,输入内网地址,点了“检测”。几秒钟后,屏幕上跳出一行提示——数据库版本是Jet 4.0,支持子查询。我笑了笑,关掉窗口,跟朋友说:“换掉这个系统吧,修不好了。”他没再追问,我也没再解释。有些工具的存在本身,就是在提醒你:代码里的每一个疏忽,都可能成为别人手里的钥匙。