漏洞原理远程命令执行

漏洞原理远程命令/代码执行

远程命令执行函数(Remote Command Execution Function)是指在一个网络环境中,通过远程执行命令来控制另一个计算机系统或设备的功能。

远程命令执行函数可以通过网络协议(如SSH、Telnet、RPC等)连接到目标设备,并向其发送命令。目标设备在接收到命令后会执行相应的操作,并将结果返回给控制设备。

远程命令执行函数通常用于远程管理、监控和控制系统,可以实现远程配置、远程维护和远程监视等功能。例如,系统管理员可以通过远程命令执行函数来远程执行系统配置命令、查看系统日志、重启系统等操作。

远程命令执行函数的安全性非常关键,因为任何人都可以通过网络连接到目标设备并执行命令。因此,必须采取适当的安全措施来限制访问权限和保护系统免受未授权的访问和恶意操作。

总之,远程命令执行函数是一种重要的网络技术,可以实现远程管理和控制系统的功能,但必须注意安全性和风险管理。

一 复习远程代码执行函数

  1. 输入验证:必须对用户输入的命令进行严格的验证和过滤,防止恶意代码注入。
  2. 系统更新:及时更新目标主机的操作系统和软件,以修复已知漏洞。
  3. 最小权限原则:远程命令执行应该以最小权限运行,减少攻击者能够执行的操作范围。
  4. 防火墙和入侵检测系统:设置合适的网络安全防护设备,监控和阻止潜在的攻击。
  5. 安全编码实践:开发人员应该使用安全编码实践来编写和测试应用程序,防止远程命令执行漏洞的产生。

http://127.0.0.1/websec/day03/cmd.php?code=phpinfo();

2 http://127.0.0.1/websec/day03/cmd.php?code=echo%2019-3

3 http://127.0.0.1/websec/day03/cmd.php?code=echo%2019*3

4  http://127.0.0.1/websec/day03/cmd.php?code=phpinfo();

5   http://127.0.0.1/websec/day03/cmd.php?code=phpinfo();

6  http://127.0.0.1/websec/day03/cmd.php?code=phpinfo

6 http://127.0.0.1/websec/day03/cmd.php?code=phpinfo

7  代码

<?php
header("content-type:text/html;charset=utf-8");//1 获取用户的参数
//$code 表示一个用户参数  接收用户传输参数
$code = $_GET["code"];
//2 执行eval函数的信息
// eval("".$code.";");//3 assent 函数 断言 调试代码使用的
// assert($code);
//4 正则查找 替换  RCE 漏洞
//  echo preg_replace('/test/e',$code,'你好我的世界我是替换函数 test');// 4. call_user_func功能是调用其他函数,参数是函数名称,不是函数调用代码
echo call_user_func($code);?>

二 远程命令执行函数

远程命令执行函数(Remote Command Execution Function)是指在一个网络环境中,通过远程执行命令来控制另一个计算机系统或设备的功能。远程命令执行函数可以通过网络协议(如SSH、Telnet、RPC等)连接到目标设备,并向其发送命令。目标设备在接收到命令后会执行相应的操作,并将结果返回给控制设备。远程命令执行函数通常用于远程管理、监控和控制系统,可以实现远程配置、远程维护和远程监视等功能。例如,系统管理员可以通过远程命令执行函数来远程执行系统配置命令、查看系统日志、重启系统等操作。远程命令执行函数的安全性非常关键,因为任何人都可以通过网络连接到目标设备并执行命令。因此,必须采取适当的安全措施来限制访问权限和保护系统免受未授权的访问和恶意操作。总之,远程命令执行函数是一种重要的网络技术,可以实现远程管理和控制系统的功能,但必须注意安全性和风险管理。

1  http://127.0.0.1/websec/day03/remote_cmd.php?cmd=whoami

2  http://127.0.0.1/websec/day03/remote_cmd.php?cmd=whoami

3 echo `$cmd`; 

4  命令链接符

命令注入-命令的连接符【‘&’‘&&’‘||’‘|’】的含义及其用法_命令拼接符-CSDN博客

<?PHP
header("content-type:text/html;charset=GBK");
//1 接收用户的参数的信息
$cmd=$_GET['cmd'];
// 执行承参数的一些信息
//  echo exec('<h1>'.$cmd.'</h1>');
// echo exec('<h1>'.$cmd.'</h1>');echo shell_exec('ping 127.0.0.1&&whoami' .$cmd.'');echo `$cmd`;echo'whoam&&ipconfig';
echo"<br>";echo'pwd&&ipconfig';
echo"<br>";echo'pwd&ipconfig';
echo"<br>";echo`whoami||ipconfig`;echo"<br>";echo`pwd||ipconfig`;?>

三 RCE DVWA 靶场实操

3.1 ipconfig  dir whoamil  命令执行。

3.2 修改编码的方式。

找到页面的配置文件:D:\phpStudy\WWW\DVWA\dvwa\includes\dvwaPage.inc.php

第302行,修改字符编码,由utf-8修改为GBK。

  Header( 'Content-Type: text/html;**charset=GBK**' );  

四 pakchu 执行代码

RCE(remote command/code execute)概述

RCE漏洞,可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统。

远程系统命令执行
一般出现这种漏洞,是因为应用系统从设计上需要给用户提供指定的远程命令操作的接口
比如我们常见的路由器、防火墙、入侵检测等设备的web管理界面上
一般会给用户提供一个ping操作的web界面,用户从web界面输入目标IP,提交后,后台会对该IP地址进行一次ping测试,并返回测试结果。 而,如果,设计者在完成该功能时,没有做严格的安全控制,则可能会导致攻击者通过该接口提交“意想不到”的命令,从而让后台进行执行,从而控制整个后台服务器

现在很多的甲方企业都开始实施自动化运维,大量的系统操作会通过"自动化运维平台"进行操作。 在这种平台上往往会出现远程系统命令执行的漏洞,不信的话现在就可以找你们运维部的系统测试一下,会有意想不到的"收获"-_-


远程代码执行
同样的道理,因为需求设计,后台有时候也会把用户的输入作为代码的一部分进行执行,也就造成了远程代码执行漏洞。 不管是使用了代码执行的函数,还是使用了不安全的反序列化等等。

因此,如果需要给前端用户提供操作类的API接口,一定需要对接口输入的内容进行严格的判断,比如实施严格的白名单策略会是一个比较好的方法。

你可以通过“RCE”对应的测试栏目,来进一步的了解该漏洞。

4.1 evel()函数

4.2 ping dir  `whoami||ipconfig`;

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

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

相关文章

伊恩·斯图尔特《改变世界的17个方程》毕达哥拉斯定理笔记

它告诉我们什么&#xff1f; 直角三角形的三个边之间有什么关系。 为什么重要&#xff1f; 它提供了几何和代数之间的重要联系&#xff0c;使我们能够根据坐标计算距离。它也催生出了三角学。 它带来了什么&#xff1f; 测绘、导航&#xff0c;以及较近代出现的狭义和广义相对论…

第一节课,用户管理--后端初始化,项目调通。二次翻工2

一、网址来源&#xff1a; 快速开始 | MyBatis-Plus (baomidou.com) 进程&#xff1a; ​ 二、[此处不看]添加测试类&#xff0c;看下效果 2.1 参考 一、第一节课&#xff0c;用户管理--后端初始化&#xff0c;项目调通-CSDN博客 ​ 2.2 新建 SampleTest ​ 2.3 复…

python-自动化篇-运维-语音识别

文章目录 理论文本转换为语音使用 pyttsx使用 SAPI使用 SpeechLib 语音转换为文本 代码和效果01使用pyttsx实现文本_语音02使用SAPI实现文本_语音03使用SpeechLib实现文本_语音04使用PocketSphinx实现语音转换文本 理论 语音识别技术&#xff0c;也被称为自动语音识别&#xf…

安卓逆向学习之ADB的配置和使用及刷机root

ADB的配置和使用 ADB即Android Debug Bridge&#xff0c;安卓调试桥&#xff0c;是谷歌为安卓开发者提供的开发工具之一&#xff0c;可以让你的电脑以指令窗口的方式控制手机。可以在安卓开发者网页中的 SDK 平台工具页面下直接下载对应系统的 adb 配置文件&#xff0c;大小只…

矩阵键盘的使用

在定义局部变量时&#xff0c;一定要给该变量赋初值。在这个程序中&#xff0c;给按键按下的返回值变量 KeyNum 赋值为 20 。 矩阵键盘线行扫描法的学习链接&#xff1a;https://www.bilibili.com/video/BV1dv411z7Gd/?spm_id_from333.999.0.0&vd_sourceb91967c499b23106…

Python 因果推断(上)

引言 原文&#xff1a;causal-methods.github.io/Book/Introduction.html 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 作者&#xff1a;Vitor Kamada 电子邮件&#xff1a;econometrics.methodsgmail.com 最后更新日期&#xff1a;2020 年 8 月 15 日 这本书是使…

jupyter出现问题ModuleNotFoundError: No module named ‘exceptiongroup‘

今天使用pyg的jupyter环境发现这个环境没法用, 所以只能把这个kernel给重删了然后再装&#xff0c;操作记录如下 查看kernel jupyter kernelspec list注意不是jupyter kernel --list 需要加关键字spec, 删除kernel jupyter kernelspec remove pyg当重新安装这个kernel时可能…

Redis -- 常用数据结构,认识数据类型和编码方式

"人生就像骑自行车&#xff0c;要保持平衡&#xff0c;就必须保持前进。" — 爱因斯坦 说到数据结构&#xff0c;或许就能想到哈希表&#xff0c;列表集合等数据结构。对于redis来说对应的key的value的形式也可以是这些数据结构&#xff0c;如下&#xff1a; 针对上面…

导出Mysql数据库表名和字段并合并成一个word

参考链接&#xff1a; 导出MySQL数据库所有库和字段注释及相关信息为word文档——工具类 java - Apache POI - How to copy tables from one docx to another docx - Stack Overflow 领导让我研究下一个低代码平台的代码&#xff0c;我就想着做一个把数据库字段直接导出来的…

【论文阅读】Long-Tailed Recognition via Weight Balancing(CVPR2022)附MaxNorm的代码

目录 论文使用方法weight decayMaxNorm 如果使用原来的代码报错的可以看下面这个 论文 问题&#xff1a;真实世界中普遍存在长尾识别问题&#xff0c;朴素训练产生的模型在更高准确率方面偏向于普通类&#xff0c;导致稀有的类别准确率偏低。 key:解决LTR的关键是平衡各方面&a…

Android 12 系统开机动画

一、查找Android系统提供的开机动画 在Android系统源码目录下输入 find ./ -name "bootanimation.zip" 如图所示 所输出的路劲即为bootanimation.zip所在路径&#xff0c;每个系统都不一样&#xff0c;建议用命令查找 二、复制到对应目录下 android12\out\target\…

AIGC,ChatGPT4 实际需求效办公自动化函数应用

用实际需求来给大家演示一下ChatGPT如何助力办应用。 首先我们来提取年份值 我们将公式复制到表格即可。 接下来进行向下填充。 就得到了所有年份&#xff0c; 接下来我们完成第二个需求&#xff0c;按年份统计销售额。 Prompt&#xff1a;有一个表格C列是年份&#xff0c;D列…

【干货】【常用电子元器件介绍】【电容】(二)--电容器的主要参数、测量、选择与应用

声明&#xff1a;本人水平有限&#xff0c;博客可能存在部分错误的地方&#xff0c;请广大读者谅解并向本人反馈错误。 一、 电容器的主要参数 1.1 耐压 耐压(Voltage Rating)是指电容器在电路中长期有效地工作而不被击穿所能承受的最大直流电压。对于结构、介质、容量相同的…

【计算机网络】网络的网络

网络的网络 客户 customer 接入ISP提供商 provider 全球承载ISP多个ISP的层级结构 第一层ISP &#xff08;tier-1 ISP &#xff09; 位于顶部 区域ISP &#xff08;reginal ISP&#xff09;Level 3通信 &#xff0c;AT&T&#xff0c;Sprint &#xff0c;NTT存在点&#x…

Spring AOP实现

Spring AOP实现 AOP概述什么是AOP什么是Spring AOP Spring AOP快速入门引入依赖实现计时器 Spring AOP详解Spring AOP核心概念切点(Pointcut)连接点(Join Point)通知(Advice)切面(Aspect) 通知类型注意事项 PointCut多个切面切面优先级 Order切点表达式execution表达式annotati…

Ubuntu 隐藏Telnet主机SSH服务时显示版本信息问题

一、背景 默认情况下&#xff0c;我们通过telnet服务器的22端口&#xff0c;能够获取OpenSSH服务的banner信息(如下图所示)。而低版本的OpenSSH存在许多高危漏洞。。为了安全我们要隐藏这个信息。 二、隐藏Telnet版本信息 当使用telnet命令&#xff0c;telnet 192.168.31.20…

前缀和、差分

0x03前缀和、差分 文章目录 0x03前缀和、差分一维前缀和二维前缀和差分一维差分二维差分 习题T1T2T3 一维前缀和 数组前n项和 s [ k ] ∑ i 1 k a [ i ] s[k]\sum_{i1}^ka[i] s[k]∑i1k​a[i] s[i]s[i-1]a[i];二维前缀和 设s[i][j]表示以(1&#xff0c;1)为顶点&#xff0…

【Python实战】Python多线程批量采集图片

前言 本文来介绍如何多线程采集图片&#xff0c;多线程效率更快&#xff0c;但是&#xff0c;我们单一IP请求过于频繁&#xff0c;可能会被反爬&#xff0c;被封IP&#xff0c;所以&#xff0c;我们就要用到IP代理池&#xff0c;这里&#xff0c;我给大家推荐一个&#xff0c;可…

5.10 动态优先级模式

动态优先级模式与静态优先级模式类似&#xff0c;但动态优先级模式会随着任务运行时条件的改变自动调整任务优先级。调整任务优先级的策略有很多种&#xff0c;最常见的是“最早截止期优先”(Earliest Deadline First)&#xff0c;即优先级最高的任务是离截止时间最近的任务。动…

11个技巧让你的Python性能起飞

更多资料获取 &#x1f4da; 个人网站&#xff1a;ipengtao.com Python 是一门非常强大且易于学习的编程语言&#xff0c;但在处理大规模数据或复杂任务时&#xff0c;可能会遇到性能瓶颈。为了让你的 Python 代码运行更快&#xff0c;本文将介绍一些提高 Python 性能的技巧和…