[HCTF 2018]admin之unicode欺骗

前言

今天这道题完全没接触过,算是学到两种新的解题方法,挺开心的。没有思路,只能按照大佬的wp来记录了。

1、注册admin,但是显示已注册,不能注册,感觉这里应该有大作用。
在这里插入图片描述
2、那就随便注册一个。看源码,说不是管理员。

在这里插入图片描述
3、又找了其他功能,没发现有啥。在这里插入图片描述4、但是改密码的时候,发现一个链接。
在这里插入图片描述5、访问
在这里插入图片描述6、发现admin,但是密码加密了,没得用。
在这里插入图片描述7、不会了,看wp吧。

解法一:unicode欺骗

1、参考文章
Unicode欺骗

2、nodeprep.prepare()漏洞原理
使用nodeprep.prepare()函数之后,如果先使用unicode编码的字符,如 ᴬ ,使用该函数之后,会先改为大写的A,再使用一次就会变成小写的a。

3、验证。但是报错了,不知道如何解决。
在这里插入图片描述
4、实战
①、 /app/routes.py
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

②、注册一个账户ᴬᴰmin,按照源码nodeprep.prepare()处理,先转换成小写即ADmin,数据库没有该用户名,绕过admin已注册。此时记录在数据库的是ADmin。
在这里插入图片描述
③、用 ᴬᴰmin 登录,经过nodeprep.prepare()处理,此时ᴬᴰmin变成ADmin,数据库中有该用户名和密码,登录成功。此时session[“name”]=ADmin。
在这里插入图片描述④、login时session[“name”]=ADmin,经过change函数的nodeprep.prepare()处理,Admin转换成admin,此时修改的是admin的密码,达到目的。
在这里插入图片描述⑤、退出登录,以admin和刚刚修改的密码登录,即可得到flag。
在这里插入图片描述⑥、得到flag
在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在学习 vben admin 过程中,我也遇到了一些不足之处。以下是我认为的一些不足之处: 1. 文档不够详细:尽管 vben admin 提供了一些文档和示例代码,但有时候文档的说明还不够详细,对于一些高级功能或复杂场景的使用可能需要更多的指导和示例。 2. 社区支持有限:虽然 vben admin 拥有一定规模的开发者社区,但相比其他流行的框架,社区支持还相对较少。这可能导致在解决问题时需要花费更多的时间和精力。 3. 更新速度较慢:vben admin 的更新速度相对较慢,新功能和修复的 bug 发布可能会需要一段时间。这可能会导致在使用过程中遇到一些已知问题,而无法及时得到修复。 4. 缺乏常见问题解答:在学习 vben admin 的过程中,我发现很难找到关于常见问题的解答。虽然开发者社区提供了一些讨论区,但没有一个集中的常见问题解答平台,这使得解决问题变得相对困难。 5. 对于初学者不友好:对于初学者来说,vben admin 的学习曲线可能较陡峭。虽然框架本身提供了一些简化开发的功能,但对于没有相关经验的开发者来说,仍然需要花费一些时间来理解和掌握。 综上所述,虽然 vben admin 是一款优秀的管理后台框架,但在学习过程中还存在一些不足之处。希望在未来的版本中,vben admin 能够改进这些问题,并提供更好的学习和使用体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值