第六届极客大挑战writeup

web500

访问http://hackme.sycsec.com,可以发现有discuz 7.2 漏洞,可以在faq.php进行sql注入。
http://www.waitalone.cn/discuz72-faq-exp.html 有个faq.php注入工具

首先注入得到WordPress数据库:

使用同样的方法注入得到wp_user里面的数据:
注入wp_users表中的数据:

这里需要思考怎么利用得到的数据,登录后台。找到了利用user_activation_key重置admin密码的方法:

首先点击找回密码,然后注入得到user_activation_key如下:

这里就得到了激活key了,即:q6wXYxZ9qktvYhgEgV9P,然后拼凑激活地址:

登录进入后台后,编辑Akismet插件获得shell.

这时候,用菜刀连接即可。

根目录下得到flag:

不知如何搞定接下来。

三叶草留言板

后来给了个测试程序:

简单的POC,使用location.href即可:

即可获得cookie登录后台,得到flag。

Bypass_it

上传.php5 后缀文件,即可获得flag。

sqli2

考的是宽字节注入使用%aa突破单引号.
http://www.jinglingshu.org/?p=534

sqli3

  • order by 报错注入 http://joychou.org/index.php/web/SQL-Injections-in-MySQL-LIMIT-clause.html
  • 简单的绕过过滤. 空格用注释/**/代替

小明

php lfi读取页面源码:

遗失的密码

思路即为编程爆破这个linux密码.
简单研究下这个密码格式.http://www.berlinix.com/linux/shadow.php
用python自带的加密库进行编程爆破:

消失的flag

用wireshark(follow tcp stream 功能)和winhex,得到五张图片。发现上面是校验码:

可以分析得知,需要通过CRC32校验码,反推4个字节(4个ascii字符)的内容。
找了好久,找到了php官网上写的CRC32校验的源码。
分析学习CRC32校验原理后,得到如下代码,不愧为最好的语言:

整理得到flag:

Transposition cipher

简单的解密码编程:

土豪的密码

加密程序如下:

简单的逆向解密编程:

手速够不够快?

这是个简单的socket编程,端口是个base64解码程序。不断发解析结果过去即可,调了许多次,成果了。

会不会写代码?

下载下来是一个zip文件。使用winrar解压,可以看到是git结构,使用git命令查看历史进行恢复:

回到存在flag的commit,得到flag.

简单Win_RE

是个简单的异或运算逻辑。调换字节的顺序。

简单的linux逆向

可以找到字符串E`1z[F1fkbUFiRFnftMUa{

然后进行逻辑运算与其比对:

好简单啊

用ida打开,寻找到如下逻辑。手工运算得到flag。

总结

最终得了4300分,学到了许多知识。这次算是做的最好的一次,以后加油!