目录

一、介绍:

二、原理:

三、漏洞出现

3.1、代码执行:

3.1.1、脚本:

3.1.2、产生:

3.2、命令执行:

3.2.1、系统:

3.2.2、产生:

四、命令:

4.1、执行系统命令的函数(PHP中)

4.1.1、system()

4.1.2、passthru()

4.1.3、exec()

4.1.4、shell_exec()

4.1.5、popen()

4.1.6、proc_open()

4.1.7、pcntl_exec()

4.2Windows系统命令拼接

4.2.1、“|”:commandA | commandB

4.2.2、“&” commandA & commandB

4.2.3、“||” commandA || commandB

4.2.4、“&&” commandA && commandB

五、利用过程:

5.1、pikachu(RCE-exec"ping")

5.1.1、 分析:

5.1.2、漏洞利用:

5.2、 pikachu(RCE-exec"evel")

5.2.1、 分析:

5.2.2、漏洞利用:


一、介绍:

利用RCE漏洞,有两种执行方式,向后台服务器远程注入操作系统命令(即远程命令执行RemoteCommand Exec)或者远程代码执行(Remote Code Exec),顾名思义就是远程执行,通过上述的远程注入后,从而执行系统命令,进而控制后台系统。

二、原理:

我在软件工程等课程中都有看到,为满足用户远程执行等功能(如路由器、防火墙、入侵检测等设备的web管理界面上ping操作的web界面),在设计的时候都会设置提供给用户的接口。如果对用户的输入没有做严格的安全控制,这些接口可能会被攻击者利用提交远程执行命令或代码,进一步控制了整个后台系统。

三、漏洞出现

3.1、代码执行:

3.1.1、脚本:

PHP、java、python

3.1.2、产生:

web源码:thinkphp、eyoucms、WordPress

中间件平台:Tomcat、Apache Struts2、Redis

其他环境:PHP-CGI、Jenkins-CI、Java RMI

3.2、命令执行:

3.2.1、系统:

Linux、windows

3.2.2、产生:

web源码:Nexus、Webmin、ElasticSearch

中间件平台:weblogic、Apache

其他环境:postgresql、samba、supervisord

四、命令:

4.1、执行系统命令的函数(PHP中)

4.1.1、system()

执行shell命令,向dos发送一条指令,如system("pause")可以实现冻结屏幕,便于观察程序的执行结果;system("CLS")可以实现清屏操作;而调用color函数可以改变控制台的前景色和背景。

int system(const char *command)

4.1.2、passthru()

只调用命令,不返回任何结果,但把命令的运行结果原样地直接输出到标准输出设备上

4.1.3、exec()

在PHP中,执行一个外部程序, exec() 执行 command 参数所指定的命令。

语法: exec(string $command, array &$output = ?, int &$return_var = ?): string

4.1.4、shell_exec()

是PHP中的一个内置函数,用于通过shell执行命令并以字符串的形式返回完整的输出

4.1.5、popen()

通过创建一个管道,调用 fork 产生一个子进程,执行一个 shell 以运行命令来开启一个进程。这个进程必须由 pclose() 函数关闭,而不是 fclose() 函数。pclose() 函数关闭标准 I/O 流,等待命令执行结束,然后返回 shell 的终止状态。如果 shell 不能被执行,则 pclose() 返回的终止状态与 shell 已执行 exit 一样

语法:

FILE * popen ( const char * command , const char * type );

int pclose ( FILE * stream );

4.1.6、proc_open()

执行一个命令,并且打开用来输入/输出的文件指针

类似 popen() 函数, 但是 proc_open() 提供了更加强大的控制程序执行的能力。

语法:resource proc_open ( string $cmd , array $descriptorspec , array &$pipes [, string $cwd [, array $env [, array $other_options ]]] )

4.1.7、pcntl_exec()

在当前进程空间执行指定程序

语法:void pcntl_exec ( string $path [, array $args [, array $envs ]] )

4.2Windows系统命令拼接

4.2.1、“|”:commandA | commandB

管道符,A命令的标准输出,作为B命令的标准输入

4.2.2、“&” commandA & commandB

先运行输出命令A,然后运行输出命令B

4.2.3、“||” commandA || commandB

先运行输出命令A,如果失败则运行输出命令B

4.2.4、“&&” commandA && commandB

如果运行输出命令A成功,则继续运行输出命令B
(命令A未执行成功,则命令B不执行)

(迟来的祝愿:愿远方只有快乐,挺帅一小伙子的,和我差不多帅,嘻嘻嘻)

五、利用过程:

5.1、pikachu(RCE-exec"ping")

5.1.1、 分析:

可以看见给用户提供了一个ping操作的web界面

当输入目标网址后,点击提交,服务器后台会对输入的地址进行了ping测试,并返回了测试结果

www.iqiyi.com

www.iqiyi.com|dir

大多数操作系统(包括DOS及Windows)中dir命令基本上会列出目录中的文件及子目录的名称,也可以列出其文件大小,创建时间等相关信息,并且列出所在的磁盘、可用空间等信息。dir命令也可以寻找其文件名称符合特定条件的文件。

Linux中ls 命令显示当前目录的内容

127.0.0.1 & ipconfig

111 & whoamI

得到设备名,以及用户名

5.1.2、漏洞利用:

查看权限

Linux下的话使用 ls -al  // a表示全部的包括u,g和o,l表示列出相关信息

windows下 attrib 1.txt   // 查看当前目录下1.txt的属性,包括读写操作属性

如果当前目录有写入权限,就写入木马

反之,没有写入权限,再进行反弹测试

如果失败,寻找一个可写入可执行的文件(777),并利用RCE漏洞编写一个bash反弹脚本

再进行监听、并利用RCE漏洞执行脚本

5.2、 pikachu(RCE-exec"evel")

5.2.1、 分析:

要输入普通字符串,没什么大用(尝试试试php函数)

再尝试输入一个php函数,看能不能被执行

phpinfo();

没有对用户的输入做严格的过滤,导致被当做PHP脚本执行了,产生了漏洞

5.2.2、漏洞利用:

查看数据包,可以知道表单的参数是txt

我试的时候,直接复制粘贴过去会报错

连接失败改错

我再尝试把这个URL编码的大写都改为了小写,然后就成功了

(再次查看值的时候自己变了大写)

利用system()函数,  或者shell_exec()函数,再写反弹脚本

也可直接写在服务器上后,在执行命令下载脚本(wegt)

(30)【RCE集合】RCE漏洞的原理、出现地方、相关命令、函数解析、利用详细的过程相关推荐

  1. xml相关php函数,PHP利用xml常用函数的详细集合示例

    这篇文章主要为大家详细介绍了PHP利用xml常用函数的详细集合示例,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小玲来看看吧! 1.DOM 函数 a.DOMDocu ...

  2. 安全扫描失败无法上传_Apache Solr 未授权上传(RCE)漏洞的原理分析与验证

    漏洞简介 Apache Solr 发布公告,旧版本的ConfigSet API 中存在未授权上传漏洞风险,被利用可能导致 RCE (远程代码执行). 受影响的版本: Apache Solr6.6.0 ...

  3. PHP 绕过禁用函数漏洞的原理与利用分析

     聚焦源代码安全,网罗国内外最新资讯! 漏洞简介 PHP 发布公告,旧版本的 php_array_merge_recursive 函数中存在UAF风险,被利用可能导致用来绕过禁用函数. 受影响的版本 ...

  4. Web安全基础一漏洞产生原理漏洞探测(持续更新)

    提要:Web网站中为什么会出现大大小小的漏洞,漏洞产生的机制主要是什么呢? 漏洞产生原理: 1,变量可控的参数 不管是Sql注入,XSS,文件上传漏洞还是其他大多数的Web安全漏洞,其形成漏洞最核心的 ...

  5. 文件包含漏洞(原理及介绍)

    文件包含漏洞(原理及介绍) File inclusion,文件包含(漏洞).程序开发人员通常出于灵活性的考虑,会将被包含的文件设置成变量,然后动态调用这些文件.但正是因为调用的灵活性导致用户可能调用一 ...

  6. 详解ShellShock 漏洞复现原理,内附ShellShock的修复方法

    本篇文章适合初学ShellShock漏洞阅读,如果您已经学习过ShellShock漏洞,可以直接略过.本篇是我们悬镜安全实验室成员之一Kr0iNg's 在学习ShellShock时分享的一点心得,仅供 ...

  7. 【安全牛学习笔记】反射型XSS***漏洞的原理及解决办法

    发射型XSS 漏洞的原理及修复方法 1.常见的触发场景 2.漏洞原理 3.漏洞危害 4.一些tips 5.如何避免&修复漏洞 直接将用户数据输出到浏览器,没有做安全处理 搜索: www-dat ...

  8. 漏洞扫描原理及X-Scan使用

    漏洞扫描原理及X-Scan使用 漏洞扫描技术的原理是通过远程检测目标主机TCP/IP不同端口的服务,记录目标的回答.通过这种方法,可以搜集到很多目标主机的各种信息.在获得目标主机TCP/IP端口和其对 ...

  9. C/C++典型漏洞产生原理与Demo

    本篇主要是自己学习笔记,快速读了下泉哥的<漏洞战争>的读书笔记.这里只涉及漏洞产生原理,即漏洞是怎么写出来.至于怎么分析0Day,怎么写代码执行的exp,后续将做深入研究. C/C++的代 ...

最新文章

  1. mysql get_mysql GET DIAGNOSTICS 语法
  2. Matlab读取点云数据显示
  3. [JS 分析] 汽_车_之_家 JS 生成 CSS 伪元素 hs_kw44_configUS::before
  4. 协议森林01 邮差与邮局 (网络协议概观)
  5. linux unshare 命令,详解Linux Namespace之User
  6. Unity Shader 屏幕后效果——Bloom外发光
  7. 专为人工智能和数据科学而生的Go语言,或将取代Python
  8. html背景视频模糊效果,怎么给竖屏视频添加模糊背景效果?
  9. SpringBoot+Nacos+Seata实现Dubbo分布式事务管理
  10. Excel Access 新建空白文档/打开已有文档 提示内存或磁盘空间不足的解决方法--验证...
  11. paip.提升安全性-------用户口令密码的检测与生成
  12. 中国省市区乡县名称代码对照表
  13. 实现lightbox效果
  14. 2021-01-01 中国公务员级别
  15. 基于JavaWeb的C2C网上购物平台系统设计
  16. android wear2.0 更新,又一批手表获得Android Wear 2.0更新
  17. Kali历史版本下载地址
  18. RFQ 、IFB、RFP 、RFI的区别是什么
  19. 关于 kubernetes网络(CNI规范)中Calico,NetworkPolicy(网络策略)方面的一些笔记
  20. 第五章 大数定律及中心极限定律

热门文章

  1. NAPI(New API)的一些浅见
  2. 更换matlab版本需要注意事项,AMD 篇四:更换Matlab调用MKL库版本
  3. 3种侧链压缩方法让音乐鼓点更有力—FL Studio教程
  4. 光学分频器的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
  5. 信号完整性(SI)电源完整性(PI)学习笔记(三十四)100条估计信号完整性效应的经验法则
  6. 2018十大最热门编程语言排行榜出炉,Java竟不是第一!
  7. 题解:女神间的 BOYI # 博弈论 # surreal number
  8. Kali Linux 2020.1安装教程
  9. php中级面试题汇总
  10. SQL - 连接表(多表查询)