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

  • 相关阅读:
    带你看懂MySQL执行计划
    MySQL rename table方法大全
    MySQL慢日志全解析
    mybatis-通用mapper
    springboot-数据访问
    docker-1常用命令
    springboot-错误处理
    springboot-配置1
    react--temp
    了解react记录2-生命周期
  • 原文地址:https://www.cnblogs.com/MisakaYuii-Z/p/11483071.html
Copyright © 2011-2022 走看看