当前位置: 首页 > news >正文

远程代码执行渗透与防御

远程代码执行渗透与防御

  • 1.简介
  • 2.PHP RCE常见函数
  • 3.靶场练习
  • 4.防御姿势

1.简介

远程代码执行漏洞又叫命令注入漏洞

命令注入是一种攻击,其目标是通过易受攻击的应用程序在主机操作系统上执行任意命令。 当应用程序将不安全的用户提供的数据(表单、cookie、HTTP 标头等)传递到系统 shell 时,这些类型的攻击就有可能发生了。 在这种攻击中,攻击者提供的操作系统命令通常以易受攻击的应用程序的权限执行。 通常,由于输入验证不足,它们是很可能发生的

漏洞危害

  • 获取服务器权限
  • 获取敏感数据文件
  • 写入恶意文件getshell
  • 植入木马病毒勒索软件

2.PHP RCE常见函数

命令command注入

命令作用
system()执行外部程序,并且显示输出
exec()/shell_exec()通过shell执行命令,并且将完整的输出以字符串的方式返回
pcntl_exec()在当前进程空间执行指定程序
passthru()执行外部程序并且显示原始输出
popen()打开进程文件指针
proc_open()执行一个命令,并且打开用来输入/输出的文件指针

代码code注入

函数作用
eval()把字符串code作为PHP代码执行
assert()检查一个断言是否位false
preg_repalce()执行一个正则表达式的搜索和替换
create_function()创建一个匿名函数并且返回函数名称
call_user_func()/call_user_func_array()把第一个参数作为回调函数调用
usort()/uasort()使用用户自定义的比较函数对数组中的值进行排序并保持索引关联

3.靶场练习

皮卡丘 exec "ping"

ping一下百度网,正常回显:

在这里插入图片描述

查看源码,发现对输入没有处理之后我们还是一手拼接

baidu.com & ipconfig

命令执行成功!

在这里插入图片描述

皮卡丘 exec "eval"

exec"evel",更简单。随意输入字符,返回文字

eval(输入)也就是执行任何我们输入的数据,例如输入phpinfo();

在这里插入图片描述


4.防御姿势

  1. 开源框架,升级到最新版本
  2. 尽量不使用命令执行的函数
  3. 尽量使用白名单
  4. 用正则表达式对用户输入的内容进行充分处理
  5. 使用WAF
http://www.lryc.cn/news/60294.html

相关文章:

  • Activiti7原生整合和工作流相关概念详解
  • 核心业务4:标的管理
  • 面向计算机视觉的深度学习:6~10
  • 【LeetCode 图论 一】初探有向图Directed Graph
  • 计算机视觉:图片数据的预处理
  • 探秘C++中的神奇组合:std--pair的魅力之旅
  • Win10搭建我的世界Minecraft服务器「内网穿透远程联机」
  • 基于springboot和ajax的简单项目 02 代码部分实现,xml文件sql语句优化 (中)
  • LNMP架构部署
  • SpringBoot 防护XSS攻击
  • iOS 吸顶效果
  • 文本翻译免费软件-word免费翻译软件
  • redis 主从模式、哨兵模式、cluster模式的区别
  • SDL(2)-加载图片
  • 指针数组和数组指针
  • 程序员最常见的谎言
  • hypothesis testing假设检验
  • ChatGPT扩展系列之解决ChatGPT 被大面积封号的终极方案
  • 如何在DevOps中进行API生命周期管理?
  • 嵌套列表,与摩尔投票进阶
  • ChatGPT原理解释
  • 【配电网故障重构SOP】基于二阶锥松弛的加光伏风机储能进行的配电网故障处理和重构【考虑最优潮流】(Matlab代码实现)
  • ajax 的入门案例
  • Flutter TextField 交互实例 —— 新手礼包
  • 折叠屏:手机厂商的「续命良药」
  • RabbitMQ 保证消息不丢失的几种手段
  • nginx配置
  • linux从入门到精通 第一章centos7里tomcat,jdk,httpd,mysql57,mysql80的安装
  • ChatGPT 速通手册——开源社区的进展
  • string类