Bugku-CTF之flag.php(點了login咋沒反應)


 

 Day2

 
flag.php(點了login咋沒反應)
 
 
 
 
 
 
 
 
 
 
本題要點:代碼審計、反序列化、cookie
 
 
 
打開鏈接發現:
查看源碼什么也沒有
 

 

 
 
 
注意,題目說明中    提示是hint,試試get一個hint參數,得到源碼
 
 
代碼審計:
(參考了很多大佬們的writeup,鏈接會放在本文最后)
我們可以看到
 
代碼邏輯是傳入的cookie參數的值反序列化后等於KEY就輸出Flag,一開始以為$KEY的值是最下面的ISecer: www.isecer.com,結果忙活了半天發現這里其實上面$KEY的值還沒有被定義,上面代碼中$KEY的值應該是NULL,而不是下面的值,所以應該是反序列化的值為NULL.
 
若unserialize($cookie)全等於$KEY,這里注意有雙引號,大體意思是:cookie的參數為ISecer,值為$KEY的序列化 
之所以序列化的$KEY不為'ISecer: www.isecer.com',是因為定義的$KEY在后面,所以執行的$KEY為NULL 
 
用在線的php代碼測試網站測試一下
 
可以看到serialize($KEY)的值為 s:0:""
 
 
 
 
現在我們來用bp抓包
 
 
(這里不知道什么原因沒有抓到cookie,求大佬們指教)
所以手動在headers里添加了cookie
 
Go一下就得到了flag
 
 
 
也可以通過hackbar插件來完成此操作
 
構造cookie :ISser = s:0:"";
注意 ; (分號)在cookie中不會被正確的上傳到服務器,構造URL編碼
;的URL編碼為%3B
於是在火狐的HackBar插件中傳入Cookie ISser = s:0:""%3B
 
 
完成!
 
 
參考資料:
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM