HackGame

Posted lightac

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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

进入!

 

成功破解!

以上是关于HackGame的主要内容,如果未能解决你的问题,请参考以下文章