Sqlninja的目标是利用以Microsoft SQL Server作为后端的Web应用程序中的SQL注入漏洞。它是在GPLv3下发布的 。
还有很多其他SQL注入工具,但是sqlninja不是提取数据,而是着重于在远程数据库服务器上获取交互式shell,并将其用作目标网络的立足点。简而言之,它是这样做的:
远程SQL Server的指纹(版本,执行查询的用户,用户权限,xp_cmdshell可用性,DB Server认证模式)
- 暴力的'sa'密码
- 权限升级到“sa”
- 创建一个自定义的xp_cmdshell,如果原始的被禁用
- 上传可执行文件
- 反向扫描以查找可用于反向shell的端口
- 直接和反向外壳,TCP和UDP
- 当没有可用于绑定shell的端口时,DNS隧道伪壳
- ICMP隧道外壳,如果目标DBMS可以通过ICMP Echo与攻击机通信
- Metasploit包装,当你想使用Meterpreter,甚至想要在远程数据库服务器上获得GUI访问
- 使用令牌绑定或通过CVE-2010-0232在远程数据库服务器上进行操作系统特权升级
- 以上所有可以用混淆的SQL代码来完成,以便混淆IDS / IPS系统
正如你可能已经想通了,sqlninja不寻找SQL注入漏洞。同样,已经有几个工具可以执行这个任务,比如 BurpSuite。
有关最新版本和两个Flash演示,请查看地址 http://sqlninja.sourceforge.net。演示是指以前的版本,但仍然非常好,以更好地了解该工具。
仔细阅读本手册(是的,我的意思是所有这一切),因为它会解释你是什么,以及如何通过所有sqlninja选项。是的,我知道这是非常漫长而无聊的,但是由于sqlninja有太多的选项可供玩耍(并且没有闪亮的绿色按钮),请尝试阅读以下内容:它将帮助您获得最多的工具,并将以后节省你很多时间。
用法:
/usr/bin/sqlninja
-m <mode>:必需。可用的模式是:
t / test - 测试注射是否正常
f /fingerprint - 指纹用户,xp_cmdshell等等
b / bruteforce - bruteforce sa帐户
e /escalation - 将用户添加到系统管理员角色
x / resurrectxp - 尝试重新创建xp_cmdshell
u / upload - 上传.scr文件
s / dirshell - 启动一个直接的shell
k / backscan - 寻找一个开放的出站端口
r / revshell - 启动一个反向shell
d / dnstunnel - 尝试一个dns隧道的shell
i / icmpshell - 启动一个反向ICMP外壳
c / sqlcmd - 发出一个“盲”的操作系统命令
m / metasploit - 包装到Metasploit阶段
-f <文件>:配置文件(默认:sqlninja.conf)
-p <密码>:sa密码
-w <wordlist>:在bruteforce模式下使用的wordlist(字典方法只要)
-g:生成调试脚本并退出(仅在上传模式下有效)
-v:详细输出
-d <mode>:激活调试
1 - 打印每个注入的命令
2 - 打印每个原始的HTTP请求
3 - 打印每个原始的HTTP响应
all -以上所有
sqlninja效果与评价:
此工具需要结合扫描工具用起来才比较好,而且还提示说sqlninja.conf的配置文件语法有错,说最新版本的语法发生了变化。但是这个软件它的默认配置文件示例又在那,所以让人很悲哀。
在线视频地址:
优酷:http://v.youku.com/v_show/id_XMzEzMjQzNTE0NA==.html
腾讯:https://v.qq.com/x/page/k05003b4lv1.html
爱奇艺: