l33t-hoster .htaccess \x00注释&&putenv绕过disable_function&&计算c代码

本文深入解析了一种复杂的WebShell上传机制,通过巧妙利用.htaccess文件及PHP特性,成功绕过多种安全限制,实现了特殊格式图片文件的上传与执行,最终达成了远程代码执行的目的。

源码

<?php
if (isset($_GET["source"])) 
    die(highlight_file(__FILE__));

session_start();

if (!isset($_SESSION["home"])) {
   
   
    $_SESSION["home"] = bin2hex(random_bytes(20));
}
$userdir = "images/{$_SESSION["home"]}/";
if (!file_exists($userdir)) {
   
   
    mkdir($userdir);
}

$disallowed_ext = array(
    "php",
    "php3",
    "php4",
    "php5",
    "php7",
    "pht",
    "phtm",
    "phtml",
    "phar",
    "phps",
);


if (isset($_POST["upload"])) {
   
   
    if ($_FILES['image']['error'] !== UPLOAD_ERR_OK) {
   
   
        die("yuuuge fail");
    }

    $tmp_name = $_FILES["image"]["tmp_name"];
    $name = $_FILES["image"]["name"];
    $parts = explode(".", $name);
    $ext = array_pop($parts);

    if (empty($parts[0])) {
   
   
        array_shift($parts);
    }

    if (count($parts) === 0) {
   
   
        die("lol filename is empty");
    }

    if (in_array($ext, $disallowed_ext, TRUE)) {
   
   
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值