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