[HCTF 2018]admin

说明:
看大佬秀操作
本篇只记录一种解法…其他解看上面文章

有个登录注册,注册登录后是这个玩意
[HCTF 2018]admin_第1张图片
[HCTF 2018]admin_第2张图片

查看源代码,说明得是admin登录才行

在改密码的时候查看源代码,发现了这东西
[HCTF 2018]admin_第3张图片
进去这个链接查看源码在**hctf_flask/app/routes.py /**里头看到这个函数

在这里插入图片描述
看了大佬们的思路,自己还是不够熟练,既然这是拿python写的,为啥不用python自带的lower()将字符小写呢,
所以我们找找这个函数在哪里
[HCTF 2018]admin_第4张图片
[HCTF 2018]admin_第5张图片
可以发现nodeprep 来自 from twisted.words.protocols.jabber.xmpp_stringprep import nodeprep

我直接将这段话去百度,搜出个unicode欺骗。。。。。

在这里插入图片描述
利用nodeprep.prepare函数会将unicode字符转换成A
而在源码中我们可以看到strlower有三次被调用,分别在注册,登录,改密码的时候
所以再改密码的时候又会将A变成a

解法:
ᴬdmin注册
[HCTF 2018]admin_第6张图片
可以发现变成Admin
咱们改改密码
改为后退出用admin登录
[HCTF 2018]admin_第7张图片

你可能感兴趣的:([HCTF 2018]admin)