| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> PHP知识库 -> Buuctf-warmup -> 正文阅读 |
|
[PHP知识库]Buuctf-warmup |
0x01 题目链接https://buuoj.cn/challenges#[HCTF%202018]WarmUphttps://buuoj.cn/challenges#%5BHCTF%202018%5DWarmUp 0x02 知识点?????????isset($name):判断变量是否存在 ??????? is_string($name):判断变量是否为字符串 ??????? in_array($search,$array):判$search是否在$array数组里 ??????? mb_strops($name,start,length):截取$name字符串中的从start开始的length 长度 ??????? mb_strops(haystack,needle):返回索引;needle指要被搜索的字符串,haystack指要被检查的字符串 启动靶机,发现了一张滑稽图。如下 ? F12发现提示source.php,访问 0x03 代码审计首先分析最后的if语句 ?可以看出,接收file里的参数来调用checkFile函数;并且当函数为true的时候执行include 接下来分析checkFile函数的内容
???? 可分为两块分析 分析: 第一个$whitelist主要是把source.php和hint.php列入白名单列表里 第一个if判断变量是否存在或者是否为字符 第二个if判断变量是否在数组里 之后截取?之前的函数,返回索引,而$page有与?拼接,实际就是$_page=$page
$_page放入白名单里检测,是否存在;之后进行了一次解码,又进行了一次截取放入白名单里检测。
?整体利用的漏洞就是代码最后的include函数,利用文件包含漏洞 0x04 构造payload要想让include函数执行ffffllllaaaagggg文件,就必须让checkFile返回true,让最后一个if语句都为真,才能执行include文件包含 因此构造的语句如下:
分析:当执行到checkFile函数时,第1个if语句绕过,执行第2个if语句,放入白名单里验证,返回false,继续执行下一个语句, 在截取时,虽然在参数后面拼接了?,但mb_strops()函数会从左到右匹配最先匹配到的字符,因此截取后变成
带入第三个语句返回为true,跳出checkFile函数,执行include函数 此时接收的语句:
在这里会发现,我们并不知道ffffllllaaaagggg存放的位置,那么我们可以通过找到它的相对位置来访问它,即构造../来完成 因此构造的语句如下:
flag{45243bf2-55f4-4a06-8c7b-182a819f596e} ?【提示:可能很多人会问,为什么?后要加/,其实这样是为了让程序误以为指文件夹,不加也可以】
|
|
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年12日历 | -2024/12/27 21:04:11- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |
数据统计 |