Y1ng‘s BabyCode

本文介绍了Y1ng's BabyCode的安全漏洞,详细解析了从第一层到第六层的过滤机制,并给出了两种解题方法。在第一层过滤中,通过URL编码绕过;第三层过滤利用POST请求优先级;第四层和第二层过滤使用data伪协议和正则绕过;第五层利用PHP强类型特性;第六层通过`extract`和`create_function`实现代码注入。解法包括使用require配合base64编码以及利用取反和异或绕过过滤。
摘要由CSDN通过智能技术生成


前言

先提一个小坑,$_REQUEST = $_POST+$_GET+$_COOKIE,如果进入页面显示fxck your English letters,删掉cookie就好了.

源码

查看源代码 <!-- 316E4433782E706870 --> HEX解码 1nD3x.php
拿到源码

<?php
highlight_file(__FILE__);

error_reporting(0); 
$file = "1nD3x.php";
$y1ng = $_GET['y1ng'];
$passwd = $_GET['passwd'];
$arg = '';
$code = '';


if($_SERVER) {
    
    if (
        preg_match('/y1ng|zuishuai|flag|YuZhou|Wudi|system|exec|passwd|ass|eval|sort|shell|ob|start|mail|\$|sou|show|cont|high|reverse|flip|rand|scan|chr|local|sess|id|source|arra|head|light|read|inc|info|bin|hex|oct|echo|print|pi|\.|\"|\'|log/i', $_SERVER['QUERY_STRING'])
        )  
        die('fxck your key words!'); 
}
if (!preg_match('/http/i', $_GET['file'])) {
   
    if (preg_match('/^y1ngzuishuai$/', $_GET['zuishuai']) && $_GET['zuishuai'] !== 'y1ngzuishuai') {
    
        $file = $_GET["file"]; 
        echo "Yes! You know that I zuishuai!<br>";
    } 
} else die('fxck you! no RFI!!');

if($_REQUEST) {
    
    foreach($_REQUEST as $value) {
    
        if(preg_match('/[a-zA-Z]/i', $value))  
            die('fxck your English letters'); 
    } 
}

if (
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值