前言
目標是一大學,在一次挖洞過程中遇到個sql注入,嘗試進一步利用擴大危害,漏洞已報送平臺進行了修復
私信我獲取網絡安全學習資料
1.2000多本網絡安全系列電子書
2.網絡安全標準題庫資料
3.項目源碼
4.網絡安全基礎入門、linux、web安全、攻防方面的視頻
5.網絡安全學習路線圖
sql注入getshell失敗
在id處連續加兩個單引號都報錯,經過探測發現是數字型的注入且過濾了空格,這里可以用/**/代替
于是直接上sqlmap
Python sqlmap.py -u url --batch --tamper=space2comment.py –dbs
發現是dba權限:
python sqlmap.py -u url --batch --tamper=space2comment.py --is-dba
試了很多方法找web路徑
最后注意到操作系統是FreeBSD
無意中看到這個
char(47)就是’/’,立馬想到可以通過這個遍歷目錄、找路徑
通過從根目錄開始逐層遍歷,最終找到網站根目錄:
寫入shell失敗,轉換成16進制規避單引號還是不行
但是這個注入可以讀取服務器上的任意敏感文件(包括非web目錄),危害巨大
從其它點繼續嘗試
讀取sql注入處代碼,發現并沒有代碼層面的過濾,explode() 函數把字符串打散為數組,這里以空格為分隔,取數組的第一個,變相地過濾了空格,把空格換成內聯注釋就能注入
根據泄露的數據庫賬號、密碼嘗試連接3306端口失敗,估計綁定了本地ip
繼續遍歷目錄,發現了MySQL的登陸界面
登錄之后卻是空白界面,讀取處理登錄邏輯的代碼發現登陸成功直接設置session但不跳轉,登陸后直接訪問首頁就行
查一下secure_file_priv,發現是空值,并沒有限制
嘗試利用日志寫入webshell,發現沒有權限設置日志路徑
找到了網站后臺
數據庫里面查到的賬號和密碼hash值
在線網站解密hash值得到明文
登錄失敗,讀取一下源碼
發現是加了鹽的,于是加鹽再解密得到正確密碼
成功登陸后在人員資料管理新增處發現一個上傳照片的地方
但是只能上傳圖片文件
上傳成功之后,突然想到了sql寫shell失敗是不是因為目錄權限問題,網站限制了除上傳目錄外其它目錄都不可寫?
于是嘗試寫入shell
成功,果然是目錄寫權限問題
發現蟻劍連不上,估計waf攔截了流量。看了一下蟻劍的流量加密,蟻劍流量有一個重要特征就是User-Agent為antSword/版本,另外使用了編碼器的話還要將解碼函數發過去,所以解碼函數這里也是一個特征,需要自定義編碼器和解碼器。
修改
antSword-master/modules/request.js和antSword-master/modules/update.js兩個文件的User-Agent后成功連接,waf僅僅攔截了UA這一明顯特征
反彈shell失敗,nc是基于tcp/udp協議的,所以可能的原因有:反彈的命令不存在、禁止出站IP、禁止tcp協議出站端口
確認sh存在:
出站端口為訪問外網,查詢網絡連接發現54454端口可以出站
于是監聽54454端口后成功反彈shell
提權失敗。服務器內核版本過高,無法利用內核漏洞提權,嘗試計劃任務、環境變量、和suid提權發現沒有可以利用的地方,sudo提權也不行,第三方服務中udf提權發現插件目錄不可寫,幾個文件權限也配置正常,也沒有發現其它敏感信息泄露






