unicode欺騙—— hctf - admin


查看源代碼,發現<!-- you are not admin -->

提示要以管理員身份登陸

嘗試注冊管理員賬號,提示The username has been registered

於是嘗試隨便注冊一個賬號,發現注冊成功,並能夠登陸

根據頁面提示,猜測是通過更改admin賬號的密碼獲取flag

 

於是進入change password界面,讀取源碼

發現提示<!-- https://github.com/woadsl1234/hctf_flask/ -->

進入之后是這個網頁的源碼,通過觀察發現代碼中重新定義並使用了strlow函數

 並且運用了nodeprep.prepare函數

百度之后發現這個函數存在unicode欺騙漏洞,會將ᴬ轉換成A,再將A轉換成a

於是注冊ᴬdmin賬號,進行登陸並改密碼,就獲取了管理員密碼

最后登陸得到flag

flag{d4dcfaad-eaca-4976-a9a7-e79c69f21c74}

 

注:此題還有其他解法,一題多解,參考

https://www.jianshu.com/p/f92311564ad0

https://www.anquanke.com/post/id/164086


免責聲明!

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



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