zoukankan      html  css  js  c++  java
  • unicode欺骗—— hctf

    查看源代码,发现<!-- 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

  • 相关阅读:
    webpack的安装与配置
    npm初始化
    gitignore的配置
    git本地已有文件夹和远程仓库对应
    git 配置
    开发环境和开发工具
    git 码云使用教程
    递归
    LeetCode 392. 判断子序列
    MongoDB基本操作
  • 原文地址:https://www.cnblogs.com/MisakaYuii-Z/p/11483071.html
Copyright © 2011-2022 走看看