30 WEB漏洞-RCE代码及命令执行漏洞全解

news2024/11/27 14:35:52

目录

    • 前言
    • 代码执行
    • 命令执行
    • 代码执行函数(PHP)
    • 命令执行函数
    • 修复方法
    • 演示案例
      • 墨者靶场黑盒功能点命令执行-应用功能
      • 墨者靶场白盒代码及命令执行-代码分析
      • 墨者靶场黑盒层RCE漏洞检测-公开漏洞
      • Javaweb-Struts2框架类RCE漏洞-漏洞层面
      • 一句话Webshell后门原理代码执行-拓展说明

前言

在Web应用中有时候程序员为了考虑灵活性、简洁性,会在代码调用代码或命令执行函数去处理。比如当应用在调用一些能将字符串转化成代码的函数时,没有考虑用户是否能控制这个字符串,将造成代码执行漏洞。同样调用系统命令处理,将造成命令执行漏洞。代码执行和命令执行是有明显的区别的

代码执行

在这里插入图片描述
脚本代码能做什么事情,也就是这个漏洞能做什么事情,一个脚本代码,可以写出来,可以利用这个脚本读取文件、写入文件,删除文件、上传文件,这个功能可以全部用脚本代码来实现

<?php
$code=$_GET['x'];
eva1($code);

//http://127.0.0.1:8080/test.php?x=phpinfo();
//$code=phpinfo(); eval(phpinfo(););
?>

eval()函数把字符串按照 PHP 代码来计算

代码执行漏洞就是会将后面的数据进行一个执行,以当前的脚本类型,如果你的网站是php的,那就当成php执行;如果是javaweb那就当做javweb去执行它。
我们可以通过代码去实现我们的目的,通过代码写入一个文件。
在这里插入图片描述
换成system函数

<?php
$code=$_GET['x'];
echo system($code);

//http://127.0.0.1:8080/test.php?x=dir
?>

system执行外部程序并显示输出资料,这就是属于命令执行;php代码里面使用到system函数,那么这个函数将会导致这个脚本调用电脑系统的命令去执行
漏洞形成条件:可控变量,漏洞函数
通过网址上面的传参,通过上面的参数值去改变变量值;你用什么函数对变量进行操作
我们刚才演示用到的eval和system函数,eval函数就是把字符串当做代码去执行,另一个是调用php去执行系统命令,最终形成的漏洞一个是叫代码执行,一个是叫命令执行
如果我将这个函数换做文件上传类的函数,进行输出,那么他就会造成不同的函数,这个漏洞产生需要两个条件,一个是可控变量,另一个是漏洞函数
就是这个函数使用的是什么东西,他就会造成那方面的漏洞,如果他是上传的,那他就会造成上传漏洞,如果是执行代码,那就是代码执行漏洞,如果是输出的,那就是xss,如果是进行数据库查询的,那就是sql注入,这个漏洞的类型将由函数决定,漏洞是否存在将由可控变量去决定,没有可控变量,就没有漏洞
web源码有很多分类,我们打开类似的网站源码下载,区分不一样,程序员在写这个代码的时候,这个代码也会有改变,比如我的网站是做文件管理,就是进行文件的传输和下载、展示,他的代码实现更多的,应该是关于文件操作类的代码,比较容易产生文件上传和下载,网站的应用将会决定漏洞的走向
看代码在程序网站源码当中出现的大小,如果代码当中经常出现system函数的话,他漏洞产生的精确度会比较大
如果网站没有这个应用的话,没有这种系统调用命令去实现这种功能的话,他就不会产生命令执行漏洞
一个网站给到我,我们发现RCE漏洞、注入、上传、跨站的可能性谁更高一些,其实就是根据漏洞的特性、网站的应用分类,RCE漏洞比其它漏洞机率要小。
像一般的网站要进行展示的话,一般不会涉及到system函数,我们要找RCE漏洞的时候,要看网站的具体应用,如果他是单纯的页面展示,就是每天发个新闻,这种单纯的网站,没有一些拓展的功能,基本上不可能出现RCE漏洞

https://www.xxxxxx.com/?id=echo 123

参数值和代码相关,例如echo,脚本里面的输出性函数,当我们发现这个参数值的时候,可以把后面的代码执行
我们可以phpinfo(),来确定这个漏洞是否存在,参数值后面加上去的,应该是类似的脚本代码;我们在实战当中会碰到把参数值加密的情况,我们要去解密,解密出来,再去判定

命令执行

在这里插入图片描述
在电脑调至cmd窗口或powershell命令终端,系统命令可以做很多东西,查看当前计算机的相关信息并且能够进行文件的读写,或者是文件的删除操作,有这么多功能命令可以实现的话,也对应这个漏洞也能这么做,这个漏洞一旦有的话,会造成对方网站服务器系统命令漏洞,就可以借助这个漏洞执行相关漏洞,来实现我们相关的命令

根据当前系统命令的情况选择执行,因为不同的操作系统,命令是不一样的
敏感函数禁用,防止漏洞产生的根本原因

代码执行函数(PHP)

eval()
把字符串作为PHP代码执行
assert()
断言
call_user_func()
把第一参数作为回调函数
call user func array()
调用回到函数,并把第一个数组参数作为回到函数的参数
array_map()
为数组的每个元素应用回调函数
可以在网上自己搜索其它语言的代码执行函数

命令执行函数

system()
执行外部程序并显示输出
exec()
执行一个外部程序
shell_exec()
通过shell环境执行命令,并将完整的输出以字符串的方式返回
passthru()
执行外部命令并显示原始输出
pcntl exec()
在当前进程空间执行指定程序反

``

反引号()
实际调用的shell_exec()函数

修复方法

如果不使用这些变量、函数,就直接禁用掉
如果我们要通过代码去挖掘漏洞的话,我们要去找里面有没有相应的函数,因为只有相应函数才能产生RCE漏洞。

演示案例

墨者靶场黑盒功能点命令执行-应用功能

先确定网站的功能点,能不能执行系统命令,如果能,说明这里面涉及到执行命令的函数,漏洞可能会存在,然后函数是执行命令的,那么造成的漏洞是命令执行漏洞
分析到命令执行,我们要确认操作系统,因为操作系统不一样,我们要执行的命令也不一样,随便抓个包,改个大小写就能确认什么类型了
管道符,一条命令多条命令执行

iipp=127.0.0.1|1s&submit=Ping

根据网站的功能,从功能这里,我们知道他存在网站命令执行漏洞

墨者靶场白盒代码及命令执行-代码分析

http://219.153.49.228:43529/f.php?a=phpinfo()

代码执行执行的是脚本

墨者靶场黑盒层RCE漏洞检测-公开漏洞

直接搜索webmin 漏洞,网上有复现,直接利用

Javaweb-Struts2框架类RCE漏洞-漏洞层面

这个漏洞很多,网上的复现工具也很多
rce漏洞会产生在多个层面

一句话Webshell后门原理代码执行-拓展说明

我们现在都是用蚁剑和冰蝎,连接shell工具里面有一句话代码
蚁剑和菜刀是没有区别的,只有冰蝎区别有点大
把一些写好的功能数据包,写到工具里面去,然后利用后门代码进行正常程序的收发,来实现这个控制
因为这种连接shell工具,我们要经常进行分析的,因为后门控制工具,也会被安全软件拦截,实现对安全软件的一个绕过,原理跟代码执行漏洞是一样的
@的作用不显示错误,代码出现错误,不会显示

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/940476.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Ubuntu20.04下安装搜狗输入法Linux版

Ubuntu20.04下安装搜狗输入法Linux版 参考搜狗输入法的官网安装指南&#xff1b; 第一步&#xff1a;打开搜狗输入法官网&#xff1b; https://shurufa.sogou.com/ 点击X86_64后将会自动跳转到搜狗输入法的安装指南中&#xff1b; 安装指南 Ubuntu搜狗输入法安装指南 搜狗…

Python深度学习入门 - - 人工神经网络学习笔记

文章目录 前言一、神经网络原理1、输入层2、全连接层3、激活函数4、损失函数5、前向传播6、反向传播 二、Python实战神经网络1. 权重初始化技巧2. 梯度问题技巧3. 模型泛化技巧 总结 前言 如果说机器学习是人工智能的皇冠&#xff0c;深度学习就是这顶皇冠上的明珠&#xff0c;…

RHCE——十、防火墙、iptables、firewalld

防火墙 一、什么是防火墙1、分类&#xff1a;2、Netfilter(数据包过滤)2.1 定义2.2 Netfilter分析内容 3、防火墙无法完成的任务4、iptables 与 firewalld 区别 二、iptables1、iptables执行原则1.1 原则1.2 防火墙规则 2、规则链2.1 概念2.2 分析2.3 规则链分类2.4 规则链之间…

购买堡垒机成本有哪些?可以产生哪些收益?

我们大家都知道堡垒机的重要性&#xff0c;因此不少企业都在纷纷准备购买堡垒机。但有小伙伴在问&#xff0c;购买堡垒机成本有哪些&#xff1f;可以产生哪些收益&#xff1f;今天我们就来简单聊聊。 购买堡垒机成本有哪些&#xff1f; 1、购买成本&#xff1a;堡垒机购买成…

数字孪生可视化交互设计编辑平台在企业数字化发展发挥重要作用

数字孪生技术作为一种新兴的信息技术&#xff0c;已经在众多领域取得了显著的成果。然而&#xff0c;要充分发挥数字孪生技术的优势&#xff0c;很多公司都因为数字孪生大屏开发门槛高而无法享受到科技红利&#xff0c;因此数字孪生大屏开发编辑器应运而生。 深圳华锐视点作为专…

Transformer (Attention Is All You Need) 论文精读笔记

Transformer(Attention Is All You Need) Attention Is All You Need 参考&#xff1a;跟李沐学AI-Transformer论文逐段精读【论文精读】 摘要&#xff08;Abstract&#xff09; 首先摘要说明&#xff1a;目前&#xff0c;主流的序列转录&#xff08;序列转录&#xff1a;给…

Ubantu安装mongodb,开启远程访问和认证

最近因为项目原因需要在阿里云服务器上部署MongoDB&#xff0c;操作系统为Ubuntu&#xff0c;网上查阅了一些资料&#xff0c;特此记录一下步骤。 1.运行apt-get install mongodb命令安装MongoDB服务&#xff08;如果提示找不到该package&#xff0c;说明apt-get的资源库版本比…

超详细 | 灰狼优化算法原理及其实现(Matlab)

由于元启发式算法的灵活性&#xff0c;推导自由&#xff0c;简单&#xff0c;许多作者相继提出新的元启发式算法。这些算法正在迅速成为解决复杂优化问题的重要工具。最流行的元启发式算法有以下四种类型&#xff0c; 第一种是进化算法&#xff1a;其中比较有代表性的有遗传算…

3.2.0 终极预告!云原生支持新增 Spark on k8S 支持

视频贡献者 | 王维饶 视频制作者 | 聂同学 编辑整理 | Debra Chen Apache DolphinScheduler 3.2.0 版本将发布&#xff0c;为了让大家提前了解到此版本更新的主要内容&#xff0c;我们已经制作了几期视频和内容做了大致介绍&#xff0c;包括《重磅预告&#xff01;Apache Dol…

Exadata Smart Scan 初体验

找了一台Exadata X8M-2 1/4配&#xff0c;安装了一个单实例的19c数据库。 安装了标准的SSB Schema&#xff0c;事实表lineorder近4亿行&#xff0c;近42GB&#xff1a; NUM_ROWS BLOCKS AVG_ROW_LEN TABLESPACE_NAME ---------- ---------- ----------- -----------------…

设置微软Edge浏览器主页和新标签页,摆脱扰人和分散注意力的主页

默认情况下,Microsoft Edge会向您显示世界上最令人分心和讨厌的主页(也称为主屏幕)。微软不想只向你展示一个搜索框,也许还有一个漂亮的背景或一些你喜欢的网站的快捷方式,而是想在你面前扔一堆新闻标题和广告。 你可能会打开浏览器阅读电子邮件,结果被Microsoft Edge主…

计算机网络-笔记-第四章-网络层

目录 四、第四章——网络层 1、网络层概述 &#xff08;1&#xff09;虚电路服务——面向连接 &#xff08;2&#xff09;虚电路服务——无连接&#xff08;因特网&#xff09; &#xff08;3&#xff09;网络地址、广播地址、主机地址 &#xff08;4&#xff09;总结 2、…

解读GIS软件:从ArcGIS到山海鲸可视化的全方位介绍

在现代社会&#xff0c;地理信息系统&#xff08;GIS&#xff09;的应用已经渗透到了各个领域&#xff0c;为我们提供了丰富的地理数据分析和可视化工具。下面介绍几款常见的GIS工具软件&#xff0c;一起来了解它们的特点和优势。 1. ArcGIS: ArcGIS由Esri公司开发&#xff0c;…

LLM构建AI应用 —— 工程师如何使用黑盒工具

本文字数&#xff1a;7714字 预计阅读时间&#xff1a;52分钟 从2022年12月以来&#xff0c;chatGPT 的横空出世掀起了新一波的 AI 浪潮&#xff0c;热度一直居高不下直到现在。半年时间里&#xff0c;从底层模型 API 到上层应用的生态逐渐建立&#xff0c;经过一轮轮迭代不断完…

【云知识】云计算平台都有那些,涨涨云概念

2023年&#xff0c;第36周。给自己一个目标&#xff0c;然后坚持总会有收货&#xff0c;不信你试试&#xff01; 云计算平台是指为企业和个人提供云计算服务的基础架构和环境。 它提供了一系列的硬件、软件和网络设施&#xff0c;用于支持应用程序的部署、管理和运行&#xff0…

2023年阿里云服务器优惠折扣对照表_买前必看

2023阿里云服务器折扣表&#xff0c;购买阿里云服务器几折&#xff1f;活动上购买云服务器最低可享1折&#xff0c;云服务器页面选购根据购买时长可享受8折、6折、5折和3折不等的优惠折扣&#xff0c;阿里云服务器网分享阿里云服务器优惠折扣说明及不同购买入口优缺点对比&…

【计算机基础】计算机内核原理

&#x1f449;博主介绍&#xff1a; 博主从事应用安全和大数据领域&#xff0c;有8年研发经验&#xff0c;5年面试官经验&#xff0c;Java技术专家&#xff0c;WEB架构师&#xff0c;阿里云专家博主&#xff0c;华为云云享专家&#xff0c;51CTO 专家博主 ⛪️ 个人社区&#x…

03-前端基础CSS-第一天

01-CSS层叠样式表导读 目标&#xff1a; 能够说出什么是CSS能够使用CSS基础选择器能够设置字体样式能够设置文本样式能够说出CSS的三种引入方式能够使用Chrome调试工具调试样式 目录&#xff1a; 1.CSS简介2.CSS基础选择器3.CSS字体属性4.CSS文本属性5.CSS引入方式6.综合案…

计网第四章(网络层)(五)

目录 静态路由配置 默认路由&#xff1a; 特定主机路由&#xff1a; 示例&#xff1a; 广播域和冲突域&#xff1a; 静态路由配置 在第四节&#xff08;计网第四章&#xff08;网络层&#xff09;&#xff08;四&#xff09;_永无魇足的博客-CSDN博客&#xff09;有提到过…