目录
0.说在前面
0.1.DNSlog工具
如果有自己的服务器和域名,可以自建一个这样的平台,直接使用BugScan团队开源的工具搭建即可:
https://github.com/BugScanTeam/DNSLog
另外我们也可以使用在线平台:
http://ceye.io
http://www.dnslog.cn
0.1.1.www.dnslog.cn使用方法
(1)Get SubDomain的意思是获取子域名,这里点击完就给我们一个三级域名。复制完后,打开新网页并粘贴在url上,访问
(2)点击完会出现一条DNS记录
0.1.1.1.注意
这里一直刷新访问网址,并在DNSlog.cn里刷新记录(Refresh Record),可是无论怎么刷新,记录都是只有这几条。因为dns协议的目的是我要访问这个域名,可是不知道对应的ip,我就去问,第一次不知道,第二次不知道,第三次也不知道,那第四次总该记住了,这就是dns缓存了的问题。碰到一个新来的域名我不知道,但是问了几次之后我就知道了,我就不需要再查询了。这就是为什么怎么刷新都不会有新的记录了。
解决方法
像下图这样在前面加一个1.,使它变成新的域名,再重新访问后,再刷新记录,就有了
0.1.2.ceye.io使用方法
和http://www.dnslog.cn使用方法类似
(1)login进入后,会给我们一个三级域名,在用户详情页"Profile"中自己的域名标识符"Identifier"。对于每个用户,都有唯一的域名标识符如 xxx.ceye.io 。所有来自于 xxx.ceye.io 或 *.xxx.ceye.io 的DNS查询和HTTP请求都会被记录。
(2)我们复制完,打开新网页并粘贴在url上,访问
(3)最后可以在"Records"里的"DNS Query"中查看
1.什么是DNSlog
我们都知道DNS就是将域名解析为ip,用户在浏览器上输入一个域名A.com,就要靠DNS服务器将A.com解析到它的真实ip127.0.0.1,这样就可以访问127.0.0.1服务器上的相应服务。
那么DNSlog是什么。DNSlog就是存储在DNS服务器上的域名信息,它记录着用户对域名www.baidu.com等的访问信息,类似日志文件。
2.DNSlog回显原理
前面说DNSlog就是日志,那怎么用DNSlog进行注入并回显信息呢。我们得再了解一个多级域名的概念。
域名分级与域名解析过程(DNS)
因特网采用层次树状结构命名方法。域是名字空间中一个可被管理的划分(按机构组织划分),域可被划分为子域,子域可再被划分,即形成了顶级域名、二级域名、三级域名等。从右向左为顶级域名、二级域名、三级域名等,用点隔开。如:
tieba.baidu.com
它由三个标号组成, com即为顶级域名,baidu为二级域名,tieba即为三级域名。且域名不区分大小写。
再来看一个图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gzy1jJ6c-1626507767257)(https://oscimg.oschina.net/oscnet/up-4637d5316f066305f7a2ef4d310fb576b89.png)]
通俗的说就是我有个已注册的域名a.com
,我在域名代理商那里将域名设置对应的ip 1.1.1.1 上,这样当我向dns服务器发起a.com的解析请求时,DNSlog中会记录下他给a.com解析,解析值为1.1.1.1,而我们这个解析的记录的值就是我们要利用的地方。
看个直观一点的例子来理解:
ping命令的时候会用到DNS解析所以我就用ping命令做个实验。
DNSlog.cn中也记录了下来
可以看到解析的日志会把%USERNAME%的值给带出来,因为系统在ping命令之前会将%USERNAME%的值解析出来,然后再和a.com拼接起来,最后ping命令执行将XF.a.com一起发给DNS服务器请求解析域名对应的ip地址,这个过程被记录下来就是DNSlog,看到这里应该有点感觉了。原理上只要能进行DNS请求的函数都可能存在DNSlog注入。
3.DNSlog通常用在哪些地方
大家在渗透测试的时候可能会遇到一下这些情况:
- 挖到一个有SQL盲注的站点,可是用sqlmap跑需要频繁请求,最后导致ip被ban
- 发现疑似命令注入的洞,但是目标站点什么也不显示,无法确认是不是有洞
总之就是目标不让信息显示出来,如果能发送请求,那么就可以尝试咱这个办法——用DNSlog来获取回显
(1)SQL注入中的盲注
(2)XSS盲打
(3)无回显的命令执行
(4)无回显的SSRF
(5)无回显的XXE(Blind XXE)
3.1.SQL注入盲注
在sql注入时为布尔盲注、时间盲注,注入的效率低且线程高容易被waf拦截,又或者是目标站点没有回显
3.1.1.UNC路径
UNC路径
注意:读取远程文件就要用到UNC路径
UNC路径就是类似\softer这样的形式的网络路径,就是\。
例子:\\\www.mss.cn\2.txt
注意:这种用反斜杠是微软喜欢反着来,在微软文件夹里查询需要反斜杠;如果是在别的地方如url里查询就要用正斜杠/,即//www.mss.cn/2.txt,如果硬要用反斜杠,得另外加