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

相关文章
相关标签/搜索