| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> PHP知识库 -> [GXYCTF2019]禁止套娃 -> 正文阅读 |
|
[PHP知识库][GXYCTF2019]禁止套娃 |
参考wp [GXYCTF2019]禁止套娃_pakho_C的博客-CSDN博客_ctf禁止套娃 [GXYCTF2019]禁止套娃--详解_金 帛的博客-CSDN博客_ctf禁止套娃 进入题目环境 ?源代码也啥也没有 dirsearch扫网站目录 ?git泄露用GitHack下载源文件下来 ?得到index.php的源码
可以看见过滤了data://,fileter://,phar://,php://,和et,na,info,dec,bin,hex,oct,pi,log 中间的if代表匹配字母和下划线和括号比如a(b()),b_bb(c_cc())括号可以有无数个也可以没有
因为我们不能直接读flag.php,所以我们需要去找出flag.php当前的位置 数组中对指针变换的函数 array_reverse ( array $array [, bool $preserve_keys = FALSE ] ) : array array_reverse() 接受数组 array 作为输入并返回一个单元为相反顺序的新数组。 array_flip() 交换数组的键和值 array_rand() 从数组中随机取出一个或多个单元,不断刷新访问就会不断随机返回 end() - 将数组的内部指针指向最后一个单元 key() - 从关联数组中取得键名 each() - 返回数组中当前的键/值对并将数组指针向前移动一步 prev() - 将数组的内部指针倒回一位 reset() - 将数组的内部指针指向第一个单元 next() - 将数组中的内部指针向前移动一位 法一print_r用于输出数组 用scandir列出指定目录中的文件和目录,当参数为.时,即列出当前目录的文件 用localeconv() 函数返回一包含本地数字及货币格式信息的数组。返回的第一个就是. 再用current() 函数返回数组中的当前元素的值。或者是pos也可以 ?最后加上scandir ?可以看见flag.php在第三个位置,而我们不能直接读取第三个位置的flag.php 利用数组反转array_reverse()和数组指针移动下一位next让其在第二个位置就能够读取了 ?再用show_source查看内容 ?或者是highlight_file ?还有readfile,在源代码里可以看见 或者是利用array_rand随机取
? 法二
如下 |
|
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图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 6:06:02- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |