结合HCTF2018的一道web题:admin
这道题比较有意思,思路偏门新奇。
题目的目标是以admin身份登陆,下载源码之后,是一个python基于flask框架写的一个web程序,审计代码之后发现,在注册、登陆、修改密码时都用到了strlower这个函数将username转化为小写。
而这里有一个偏门的小知识,那就是unicode安全,具体参考:Unicode安全
我们这里可以利用的是:1
ᴬ -> A -> a
也就是我们注册一个 ᴬdmin的用户,注册时经过strlower转化会变为 Admin,而再修改密码时,又会转化为 admin。从而达到最终越权的目的。