###1、Sign

题目:Good Luck!flag{X-nuca@GoodLuck!}

Flag直接写在题目上了,flag{X-nuca@GoodLuck!}

###2、BaseCoding

提示:这是编码不是加密哦!一般什么编码里常见等号?
题目:这一串字符好奇怪的样子,里面会不会隐藏什么信息?http://question1.erangelab.com/
Base64……

访问后得到一串含有等号的字符,然后base64解码得到flag

###3、BaseInjection

提示:试试万能密码
题目:不知道密码也能登录。http://question2.erangelab.com/

万能密码 1‘or’1’=’1’
轻松拿到flag

###4、BaseReconstruction

提示:对数据包进行重构是基本技能
题目:此题看似和上题一样,其实不然。http://question3.erangelab.com/

flag{Cr05sthEjava5cr1pt}

###5、CountingStars

提示:一不小心Mac也侧漏
题目:No more $s counting stars. http://question4.erangelab.com/
查看源码可以看到有个提示是说mac系统的,所以直接下载DS_Store,里面可以看到有一个zip

http://question4.erangelab.com/.DS_Store查看源码,发现这么一个名字的压缩包 把压缩包下载来后。

1
2
3
4
5
6
7
8
9
10
11
<?php
$S="song";
$song="says";
$says="no";
$no="more";
$more="d0llars";
$d0llars="counting";
$counting="star";
$star="S";
echo '<div style="text-align:center">What is $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$S</div>';
?>

应该是变量覆盖,直接echo $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$S解出来是d0llars

###6、Invisible

题目:隐藏IP来保护自己。http://121.195.186.234

发包时直接改X-Forwarded-For:127.0.0.1

###7、Normal_normal

提示:phpwind 后台getxxxxx
题目:又是一个bbs。http://question6.erangelab.com/

126邮箱社工拿到后台用户名和密码:zhangrendao zhang2010

登录后台 翻了下XML 最后拿到Flag

flag{n0rmal_meth0d_n0rmal_l1fe}

###8、DBexplorer

提示:a.SELECT @@datadir 。。。mysql/user.MYD b.user.MYD
题目:Where is my data。http://question7.erangelab.com/(请不要修改密码!)

提示vim,看db.php.swp文件,找到了用户名和密码ctfdb ctfmysql123,还有phpmyadmin的地址。但权限不够。

无意中,看到大牛们导出时出现了这个:

然后用topsec topsec123456登陆进去拿到flag

###9、RotatePicture

提示:urlopen file schema
题目:转转转。http://question8.erangelab.com/picrotate

首先可以看源码,得到
http://question8.erangelab.com/getredisvalue
然后找了个paperhttp://www.tuicool.com/articles/fE7nMv3,是Python urllib HTTP Header Injection。
方法就是先设置uuid,然后再get uuid。
这样get uuid 就等于get flag
flag{url0pen_1s_1nterest1ng}

###10、AdminLogin

题目:On the way in。http://121.195.186.238/index.php

点击进去好像有个链接 然后是我队友注入跑出来了账号密码

解出来是
Ctfadmin admininistrat0r
然后尝试去登陆 发现死活登陆不了 看看返回信息。经师傅提示,找到了svn目录,找到了路径。

好吧 要伪造IP 那简单啦 X-Forwarded-For 轻松解决一切

返回了一个图片的包 这个图片base64 那么用base64解出来图片应该就能看到flag了
拿到火狐解一下

###11、WeirdCamel(白师傅做的)

提示:a.小骆驼的%和@真是蛋疼 b.嗯……URL转义有时候会失效 c.也许变量能够覆盖哦
题目:欢迎报名夏令营,请您仔细阅读公告,之后我们将会审核您的报名信息。http://question10.erangelab.com/

这个一开始完全没思路,500太坑,最后又来了个提示,变量覆盖(post:name=a&name=STATEMENT&name=register.pl),直接拿到了源码

可以直接命令执行(post: name=1&name=STATEMENT&name=|ls|)
然后翻了下目录,没找到flag,不过有个xnuca_looktheregisternews.pl

源码:

然后就是弹shell了,上py脚本,直接反弹shell出来
登mysql提示:
Access denied for user ‘xnuca_user‘@’localhost’ to database ‘xnuca_news_db’ when using LOCK TABLES
我服,写了个py脚本去读所有字段,提示:
ImportError: No module named MySQLdb
我服,还打算写个php的,后来发现内核版本有点老啊,ubuntu的,上exp
https://www.exploit-db.com/exploits/37292/

我服,又穿了,中午穿过一次了……
最后看师傅们都在使劲传脚本,弹shell,无奈了,太菜害怕被超,最后十几分钟干了点缺德事,抱歉抱歉……

不过最后发现,删了以后有点亏,因为拿到了root密码xgsqggxwalspassw0rd,不知道是否通用啊,如果通用的话,那500也就可以拿下了……Orz

###12、OneWayIn

题目:How can I get in。http://question11.erangelab.com/

查看源码,发现crc32($_POST['0kee_username']) === crc32($_POST['0kee_password']),弱类型数组绕过。
,url有一个任意文件读取,file参数值需要base64编码一下,num参数是读取第几行数,尝试着读取index.php源码,得到:

做一下代码审计,发现,当cookie设置role_cookie=flagadmin时,才可以读取flag.php文件。读了一下发现flag.phpphpjiami加密了

于是解密得:

1
2
3
4
5
6
7
8
9
<?php

$iipp=$_SERVER["HTTP_HOST"];
if ($iipp === '127.0.0.1') {
echo 'ADwAcwBjAHIAaQBwAHQAPgBmAGwAYQBnAHsATAB6AFUAVgB6AEQATwBvAHgAeQBlAG4AYwA4AHAAagBUADkAdwBlAG8AUgB1AE4ATgBJAE8ATQA0AGIAUQAyAH0APAAvAHMAYwByAGkAcAB0AD4';
}else{
echo 'We need local...';
}
?>

直接base64解密一下,得到flag


Team: JSSec
School: 西安科技大学


最后打进决赛了: