Quantcast
Channel: CodeSection,代码区,网络安全 - CodeSec
Viewing all articles
Browse latest Browse all 12749

补天沙龙一道曲折的CTF题

$
0
0

昨天参加了补天白帽子沙龙成都站。期间,主办方搞了一道CTF,一共三个关卡,最终拿到Flag可以获得奖品。

先吐槽一下,第一个关卡的tips出来之前我的电脑就断电了(主办方都不准备个电源插头之类的,差评)!于是只能眼睁睁看着会场上各位表哥去夺旗了。

0x01 关卡一

关键字:php弱类型、“0e”、爆破

http://btctf.secbox.cn/

放出题后很长时间没有tips,这段时间应该做出来这道题吧!当我电脑断电自动关机的时候,放出了tips 1 (无语凝噎……)

tips 1:

<?php $flag = '{下一关地址}'; $name = $_POST['name']; $pass = encode($_POST['pass']); $admin_user = "admin"; $admin_pw = get_hash("0e260265122865008095838959784793"); if ($name == $admin_user && $pass == $admin_pw){ echo $flag; }else{ echo "Guess it ?"; } function get_hash($hash) { return preg_replace("/[^0-9a-f]/","",$hash); } function encode($str) { return get_hash(md5(md5($str) . "SALT")); } ?>

是不是看到了熟悉的‘0e’打头的md5,这里需要密码的encode函数加密后内容为‘0e’打头即可成功获取下一关地址。

其实0e开头的字符串会被php解析为0,这是一个叫做‘Magic Hash’的PHP漏洞,我们来看看CodeSec上的介绍:

最近一个被称为“Magic Hash”的PHP漏洞可以使得攻击者非法获取用户的账号信息。漏洞原因是PHP以一种特定的方式处理被哈希的字符串,攻击者可以利用其从中尝试并可能获取密码,绕过登录认证系统和其它运行在PHP哈希比较之上的函数。

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

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

简而言之,md5后的‘0e’==‘0e’结果为真。

那么这里的 md5(md5(str),"SALT") 该如何得到这样一个符合条件的pass呢?看来只有爆破了。可以在web上直接爆破,亦可以在本地搭建环境爆破,这样会快很多。

符合条件的结果理论上不止一个,不过这里有一个就可以了。比如: 62778807

提交得到下一关地址:


补天沙龙一道曲折的CTF题
0x02 关卡二

关键字:验证码加密解密、PsQREdit

http://btctf.secbox.cn/7c43bc96790717a772d50754f9f1f7e6/


补天沙龙一道曲折的CTF题

右键源代码看到下面信息:

<head> <title>还我血汗钱</title> <p>muhe带着小姨子跑了,还我Flag!!!</p> <!--tips:tieba&机器人--> </head> <body>

于是听话地去贴吧看看吧:


补天沙龙一道曲折的CTF题

看到那张二维码,后来官方给出了tips 2: 鸟叔英文名+二维码英文

Psr/qr code 就在说那个工具吧:PsQREdit


补天沙龙一道曲折的CTF题

需要密码,这个时候想起了robots里边的passwd:

http://btctf.secbox.cn/7c43bc96790717a772d50754f9f1f7e6/passwd

得到一个64位字符串,前后解密分别为butian/ctf,密码就是butianctf,拿到下关地址:


补天沙龙一道曲折的CTF题
关卡三

关键字:Apk逆向

http://btctf.secbox.cn/m/x/n/y/xiaolu.apk

不懂apk逆向,找同学去玩了,出来了更新在这里。

tips 3:就一个简单的tea加密,把解密的结果放到apk里重打包运行就行了,密钥在Java里都是明文


Viewing all articles
Browse latest Browse all 12749

Trending Articles