unicode欺騙—— hctf - admin

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

提示要以管理員身份登錄git

嘗試註冊管理員帳號,提示The username has been registeredgithub

因而嘗試隨便註冊一個帳號,發現註冊成功,並可以登錄flask

根據頁面提示,猜想是經過更改admin帳號的密碼獲取flag函數

 

因而進入change password界面,讀取源碼post

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

進入以後是這個網頁的源碼,經過觀察發現代碼中從新定義並使用了strlow函數code

 而且運用了nodeprep.prepare函數blog

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

因而註冊ᴬdmin帳號,進行登錄並改密碼,就獲取了管理員密碼

最後登錄獲得flag

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

 

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

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

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

相關文章
相關標籤/搜索