• HackGame


    第一关

    通过尝试可知修改 id = 后的值能够改变hello的内容,下面的语句给了提示You are not the admin.不妨猜想如果使之出现admin即可过关。

    Admin时,失败

    不断尝试

    过了第一关

    第二关

    由于出现了cookie不妨想到查看其cookie

    由于查看cookie后发现guest变成了base64加密后的

    cookie 改为admin经过base64加密后的

    可以推断出将cookie改为admin改为base64加密后的即可进入

    Base64加密admin

    第二关完成

    第三关

    观察可知只需要求出10932435112经过sha1加密与输入的字符串经过MD5加密后相等的那个字符串即可,但是这样并不可行,所以我们继续尝试先将10932435112经过sha1加密

    发现其为0e前缀

    PHP在处理哈希字符串时,会利用”!=””==”来对哈希值进行比较,它把每一个以”0E”开头的哈希值都解释为0,所以如果两个不同的密码经过哈希以后,其哈希值都是以”0E”开头的,那么PHP将会认为他们相同,都是0

    攻击者可以利用这一漏洞,通过输入一个经过哈希后以”0E”开头的字符串,即会被PHP解释为0,如果数据库中存在这种哈希值以”0E”开头的密码的话,他就可以以这个用户的身份登录进去,尽管并没有真正的密码。

    即:如果md的值是以0e开头的,那么就与其他的0e开头的Md5值是相等的

    网上搜出加密开头为0e

    进入!

    成功破解!

    作者:LightAc
    出处:https://www.cnblogs.com/lightac/
    联系:
    Email: dzz@stu.ouc.edu.cn
    QQ: 1171613053
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。
  • 相关阅读:
    一文搞懂 ThreadLocal 原理
    听说用 Lombok 可以早点下班?
    原来 CPU 为程序性能优化做了这么多
    如何优雅地中止线程?
    线程数,射多少更舒适?
    Elasticsearch 之聚合分析入门
    Go语言之旅:基本类型
    Go语言之旅:包
    网络七层协议之数据链路层
    网络七层协议之物理层
  • 原文地址:https://www.cnblogs.com/lightac/p/10927505.html
Copyright © 2020-2023  润新知