[SWPUCTF 2018]SimplePHP(phar反序列化)

本文深入探讨了PHP代码审计中的关键点,包括文件上传、类方法和反序列化漏洞。通过分析function.php和class.php中的函数和类,揭示了如何利用unserialize函数和phar://伪协议进行反序列化攻击。文章提到了魔术方法的作用,并给出了一段生成phar文件的示例代码,以及利用该漏洞的上传和访问过程。

在这里插入图片描述
首先看到是个文件上传,先看源码,源码里有个file.php?file=
在这里插入图片描述
可以读文件,简单的都看了一下,主要注意力放在 class.php 和 function.php
function.php

<?php 
//show_source(__FILE__); 
include "base.php"; 
header("Content-type: text/html;charset=utf-8"); 
error_reporting(0); 
function upload_file_do() {
   
    
    global $_FILES; 
    $filename = md5($_FILES["file"]["name"].$_SERVER["REMOTE_ADDR"]).".jpg"; 
    //mkdir("upload",0777); 
    if(file_exists("upload/" . $filename)) {
   
    
        unlink($filename); 
    } 
    move_uploaded_file($_FILES["file"]["tmp_name"],"upload/" . $filename); 
    echo '<script type="text/javascript">alert("上传成功!");</script>'; 
} 
function upload_file() {
   
    
    global $_FILES; 
    if(upload_file_check()) {
   
    
        upload_file_do(); 
    } 
} 
function upload_file_check() {
   
    
    global $_FILES; 
    $allowed_types = array("gif","jpeg","jpg","png"); 
    $temp = explode(".",<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

paidx0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值