| |
|
|
开发:
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/28 21:47:32- |
|
| 网站联系: qq:121756557 email:121756557@qq.com IT数码 |