IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> [极客大挑战 2020]Greatphp 原生类绕过 -> 正文阅读

[PHP知识库][极客大挑战 2020]Greatphp 原生类绕过

<?php
error_reporting(0);
class SYCLOVER {
    public $syc;
    public $lover;

    public function __wakeup(){
        if( ($this->syc != $this->lover) && (md5($this->syc) === md5($this->lover)) && (sha1($this->syc)=== sha1($this->lover)) ){
           if(!preg_match("/\<\?php|\(|\)|\"|\'/", $this->syc, $match)){
               eval($this->syc);
           } else {
               die("Try Hard !!");
           }
           
        }
    }
}

if (isset($_GET['great'])){
    unserialize($_GET['great']);
} else {
    highlight_file(__FILE__);
}

?>

扫了一眼,反序列化的wakeup利用,里面的if语句很简单,利用数组绕过就行了,syc属性会经过一次正则表达式

preg_match("/\<\?php|\(|\)|\"|\'/", $this->syc, $match)

那我们先试试传入最基础的php代码试一试

?发现成功的绕过了正则输出了自己设的代码echo flag,但是eval函数执行不了,难道是数组的原因么,独立做一个程序试试

发现eval函数无法只能数组的php语句,这里就陷入为难了,一方面要利用数组绕过md5和sha1的强比较,但是我们构造的payload无法执行,看来超出我的知识储备了,找找资料去浅析PHP原生类 - 百度文库

又考到了原生类,这里利用的是Error类,当当作字符串的时候会触发toString函数导致XSSPHP原生类的利用_长球的鱼的博客-CSDN博客

利用原生类错误代码的不显现来绕过两个参数的不同,这里可以看到报错了行数,因此要把两个代码放在同一行上?

可以看到报错信息一样,因此可以绕过md5和sha1了?

绕过成功,现在要想怎么构造payload了,因为过滤了( )? ‘? “啥的,?这里就用到网上wp的include函数吧,第一次直到可以不用打括号php中return,require,include加括号和不加括号的区别 - 百度文库

我们可以用 include /flag来读取flag(因为我感觉日常不是注入的话不会为难你题目文件,一般都是flag.php或者/flag,其实就是自己懒了,不想写脚本跑不可见字符来跑显示目录的命令)?

习惯好记得urlencode编码一下,避免一些不注意的不可见字符导致失败,url编码后直接上传就行

但其实我有点想不通的是为什么不直接include /flag,它又不需要引号,也没有过滤一些东西,但是实践出来是打不开这个文件,很疑惑

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章      下一篇文章      查看所有文章
加:2022-05-18 17:25:47  更:2022-05-18 17:25:49 
 
开发: 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年4日历 -2024/4/25 2:41:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码