【BUUCTF】[极客大挑战 2019] PHP 清晰易懂详细总结 Writeup

本文详细解析了PHP反序列化过程中的安全漏洞,包括目录扫描、源码泄露及如何利用__wakeup()方法绕过安全检查获取flag。通过调整序列化字符串中的属性数量,成功跳过__wakeup()执行,最终实现对私有属性的访问。

0x00 考点

目录扫描

源码泄露

反序列化

0x01 解题

dirsearch

-u 指定url

-e 指定网站语言

-w 可以加上自己的字典(加上路径)

-r 递归跑(查到一个目录后,在目录后重复跑,很慢,不建议用)
python3 dirsearch.py -u http://26e0c1d7-d98e-4a34-9ffe-901887297fb5.node3.buuoj.cn/ -e php

在这里插入图片描述

御剑也行

在这里插入图片描述
不要扫太快
在这里插入图片描述

/www.zip

在这里插入图片描述
index.php
在这里插入图片描述

GET方式传入一个select参数,再反序列化

<?php
include 'class.php';
$select = $_GET['select'];
$res=unserialize(@$select);
?>

包含了flag.php,所以要先出入一个序列化的参数

class.php

<?php
include 'flag.php';


error_reporting(0);


class Name{
   
   
    private $username = 'nonono';
    private $password = 'yesyes';

    public function __construct($username,$password){
   
   
        $this->username = $username;
        $this->password = $password;
    }

    function __wakeup(){
   
   
        $this->username = 'guest';
    }

    function __destruct(){
   
   
        if ($this->password != 100) {
   
   
            echo "</br>NO!!!hacker!!!</br>";
            echo "You name is: ";
            echo $this->username;echo "</br>";
           
### BUUCTF 极客挑战 2019 Secret File Writeup 解题思路 此题目属于文件包含漏洞(File Inclusion Vulnerability)类型的Web安全挑战。以下是详细的分析过程: #### 题目背景 通过F12查看网页源码,发现了隐藏的URL链接[^1]。点击页面中的按钮后跳转至另一页面,并进一步推测需要利用Burp Suite抓包工具捕获请求并分析返回的数据。 在抓包过程中,发现了一个PHP脚本的关键逻辑部分: ```php <?php highlight_file(__FILE__); error_reporting(0); $file = $_GET['file']; if (strstr($file, "../") || stristr($file, "tp") || stristr($file, "input") || stristr($file, "data")) { echo "Oh no!"; exit(); } include($file); // flag 放置在 flag.php 中 ?> ``` 这段代码的功能是对`$_GET['file']`参数进行过滤,防止用户输入特定字符串来访问敏感文件。然而,由于过滤条件不够严格,仍然可以通过构造特殊路径绕过限制[^3]。 #### 利用方法 目标是读取服务器上的 `flag.php` 文件内容。经过多次尝试以及参考其他选手的经验分享得知可以使用 `/secr3t.php?file=flag.php` 的方式成功获取Flag值[^4]。 最终提交正确答案即可完成该CTF题目解答流程。 ```bash curl http://example.com/secr3t.php?file=flag.php ``` 以上命令用于模拟向目标站点发送带有指定查询参数的HTTP GET 请求操作。 ### 注意事项 - 在实际渗透测试活动中,请务必遵循法律法规,在授权范围内开展工作。 - 学习此类技术主要用于提高个人网络安全意识及防护能力而非恶意攻击他人系统。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值