| 
 | |
| 
 | 
| 开发:
C++知识库 
Java知识库 
JavaScript 
Python 
PHP知识库 
人工智能 
区块链 
大数据 
移动开发 
嵌入式 
开发工具 
数据结构与算法 
开发测试 
游戏开发 
网络协议 
系统运维 教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 | 
| -> PHP知识库 -> 2021 DASCTF July X CBCTF 4th/web/cat flag -> 正文阅读 | 
|  | 
| [PHP知识库]2021 DASCTF July X CBCTF 4th/web/cat flag | 
| 题目源码:知识点:1.绕过正则2.escapeshellarg函数绕过3.熟悉常见web中间件日志文件存放位置解题过程:1.了解代码流程(1)我们需要通过get方式传入cmd参数。(2)正则的if语句判断。判断条件:传入的cmd参数中是否包含flag/FLAG/字样 判断成功:传入的cmd参数中不包含flag/FLAG/字样,并执行如下代码。 其中cmd参数会通过escapeshellarg函数处理后再通过system函数执行cat $cmd命令 判断不成功:传入的cmd参数中包含flag/FLAG/字样,并执行如下代码。 2.解题思路:我们要通过查看日志文件来找到flag文件名称,并且需要绕过正则和escapeshellarg函数来最终达到执行cat命令拿到flag。 3.具体绕过姿势(1)首先百度查询并通过测试发现日志文件为/var/log/nginx/access.log?利用cat命令查看日志发现baohanflag的文件名this_is_final_flag_e2a457126032b42d.php 
 (2)绕过正则和escapeshellarg函数:因为escapeshellarg函数会忽略ASCII码大于127的字符,所以我们找一个ASCII码大于127的字符嵌在'flag'中,这样既可以绕过正则又可以绕过escapeshellarg函数,一举两得,这里找一个字符例如%af,%df,%ae绕过即可。 
 ? 总结:1.常见日志文件存放位置Nginx: Apache: Tomcat: 更多日志目录及介绍 https://blog.csdn.net/qq_41814777/article/details/106883265 2.escapeshellarg函数绕过选择一个ASCII码大于127的字符 例如:%df、%ae、%af等 | 
|  | 
| PHP知识库 最新文章 | 
| Laravel 下实现 Google 2fa 验证 | 
| UUCTF WP | 
| DASCTF10月 web | 
| XAMPP任意命令执行提升权限漏洞(CVE-2020- | 
| [GYCTF2020]Easyphp | 
| iwebsec靶场 代码执行关卡通关笔记 | 
| 多个线程同步执行,多个线程依次执行,多个 | 
| php 没事记录下常用方法 (TP5.1) | 
| php之jwt | 
| 2021-09-18 | 
|  | 
| 上一篇文章 下一篇文章 查看所有文章 | 
| 
 | 
| 开发:
C++知识库 
Java知识库 
JavaScript 
Python 
PHP知识库 
人工智能 
区块链 
大数据 
移动开发 
嵌入式 
开发工具 
数据结构与算法 
开发测试 
游戏开发 
网络协议 
系统运维 教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 | 
| 360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年10日历 | -2025/10/31 14:46:39- | 
| 
 | 
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |