0%

PHP中的反序列化漏洞

可能利用反序列化的提示

代码中出现file_get_content等文件操作相关函数
unserialzeserialze等危险函数
类中存在__wakeup__toString__call__sleep等魔法方法
这时输入若可控,即可构造序列化数据,在反序列化过程中执行函数,控制文件读取,拿到flag

且__construct()函数只在对象创建(new)时会自动调用,但在 unserialize() 时是不会自动调用的

__wakeup函数绕过

阅读全文 »

反弹shell入门

起源于今天AA师傅的一个简单web,但是由于对反弹shell的一无所知和对某些知识的偏差认识浪费了一个下午没做出来
反弹shell需要对标准输入输出流重定向有一点基础的理解,大致原理不在赘述,只是做个记录

上很简单的源码

<?php
    highlight_file(__FILE__);

    if ($a = @$_GET['a'])
        eval(substr($a, 0, 5));

PHP的命令执行

阅读全文 »

SUCTF2019 ezweb

BUU平台上复现题目,主要学习了一下异或绕过的操作还踩了一些奇奇怪怪的坑,题目共三层,层层绕过搞了我好几天,还是太菜了

第一层

第一层源码

$hhh = @$_GET['_'];;

if (!$hhh){
    highlight_file(__FILE__);
}

if(strlen($hhh)>18){
    die('One inch long, one inch strong!');
}

if ( preg_match('/[\x00- 0-9A-Za-z\'"\`~_&.,|=[\x7F];+/i', $hhh) )
    die('Try something else!');

$character_type = count_chars($hhh, 3);
if(strlen($character_type)>12) die("Almost there!");

eval($hhh);
?>
阅读全文 »

三叶草招新赛部分wp

最近是三叶草招新,不愧是强队,招新赛都这么难,学习了QWQ

性感黄阿姨在线聊天

打开是一个对话框,输入表情包可以获得三叶草师傅们的表情包(没有什么实际意义)
题目分两层,一层PHP弱类型一层XXE(xml实体注入)

弱类型比较字符串

阅读全文 »

decade wp

复现复现,是一道bytectf修改了的题,加了几个过滤

无参数函数的命令执行

<?php
highlight_file(__FILE__);
$code = $_GET['code'];
if (!empty($code)) {
        if (';' === preg_replace('/[a-z]+\((?R)?\)/', NULL, $code)) {
            if (preg_match('/readfile|if|time|local|sqrt|et|na|nt|strlen|info|path|rand|dec|bin|hex|oct|pi|exp|log/i', $code)) {
                    echo 'bye~';
                } else {
                    eval($code);
                }
            }
        else {
            echo "No way!!!";
        }
}else {
        echo "No way!!!";
    }

贴一下源码

阅读全文 »