命令执行漏洞(附例题)

news2025/1/19 23:26:34

一.原理

应用有时需要调用一些执行系统命令的函数,如PHP中的system、exec、shell_exec、passthru、popen、proc_popen等,当用户能控制这些函数的参数时,就可以将恶意系统命令拼接到正常命令中,从而造成命令执行攻击。

二.利用条件

1、应用调用执行系统命令的函数

2、将用户输入作为系统命令的参数拼接到了命令行中

3、没有对用户输入进行过滤或过滤不严

三.分类

1.远程命令执行漏洞

概念:远程命令执行漏洞,指用户通过浏览器提交执行操作命令, 由于服务器端,没有针对执行函数做过滤,就执行了恶意命令

2、远程代码执行漏洞

概念:代码执行漏洞也叫代码注入漏洞,指用户通过浏览器 提交执行恶意脚本代码,执行恶意构造的脚本代码

四.例题

[SWPUCTF 2021 新生赛]easyrce

1.给一串代码,直接审计

eval():把字符串按照 PHP 代码来计算,需以分号结尾

  1. error_reporting(0);:这行代码将错误报告设置为关闭状态。这意味着在执行PHP代码时,不会显示任何错误或异常信息。这可能会导致难以调试和发现潜在的问题。
  2. highlight_file(__FILE__);:这行代码使用highlight_file()函数来高亮显示当前文件的代码。__FILE__是一个预定义的常量,它表示当前文件的路径和文件名。这个功能可以在调试或查看代码时提供帮助。
  3. if(isset($_GET['url'])):这行代码检查是否有一个名为"url"的GET参数存在。$_GET是一个超全局数组,用于获取通过HTML表单或URL传递的变量值。如果存在名为"url"的GET参数,则继续执行代码。
  4. eval($_GET['url']);:这行代码使用eval()函数执行用户提供的代码。$_GET['url']获取前面检查的GET参数"url"的值,并将其作为字符串传递给eval()函数执行。这意味着用户可以在URL中输入任何PHP代码,并将其执行。

发现通过GET传参,实现命令执行

2.构造payload,查看权限,发现为www-data

/?url=system("whoami");

2.查看目录,发现flllllaaaaaaggggggg

/?url=system("ls /");

3.cat查看文件,得到flag

/?url=system("cat /flllllaaaaaaggggggg");

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

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

相关文章

SpringMVC入门的注解、参数传递、返回值和页面跳转---超详细教学

前言: 欢迎阅读Spring MVC入门必读!在这篇文章中,我们将探索这个令人兴奋的框架,它为您提供了一种高效、灵活且易于维护的方式来构建Web应用程序。通过使用Spring MVC,您将享受到以下好处:简洁的代码、强大…

鼠标键盘管理 ShareMouse for Mac最新

软件“ShareMouse”允许您通过单个鼠标和键盘控制多台计算机: 将鼠标移动到您想要控制的计算机的监视器上,指针会神奇地跳转到该计算机。任何鼠标和键盘输入都会传输到相应的计算机。 与网络KVM类似,ShareMouse通过本地LAN传输鼠标移动和点…

基于SpringBoot的班级管理系统【附源码】

基于SpringBootVue前后端分离的班级管理系统 可提供远程部署安装运行 开发语言:Java数据库:MySQL技术:SpringBootMyBatisVueElementUI工具:IDEA/EcilpsemysqlNavicat 登陆界面 班级管理 学生管理 班干部管理 班级公告 班级活…

06-mq

1、消息队列有什么优点和缺点? 优点: 解耦、异步、削峰填谷。 缺点: 系统可用性降低 系统复杂性提高 一致性问题 2、常见消息队列的比较 3、Kafka的特性 1.消息持久化 2.高吞吐量 3.扩展性强(动态)4集群+4台集群…

Mysql--技术文档--B+树-数据结构的认知

阿丹解读: 之前的文章中写道了有关mysql底层索引,那么在数据量特别大的情况下。mysql采用了B来管理索引。和存储的数据。 Mysql--技术文档--索引-《索引为什么查找数据快?》-超底层详细说明索引_一单成的博客-CSDN博客 B树解读&#xff1a…

【综述】跨模态可信感知

文章目录 跨模态可信感知综述摘要引言跨协议通信模式PCP网络架构 跨模态可信感知跨模态可信感知的概念跨模态可信感知的热点研究场景目前存在的挑战可能改进的方案 参考文献 跨模态可信感知综述 摘要 随着人工智能相关理论和技术的崛起,通信和感知领域的研究引入了…

目前无法建立VS2013与Qt的连接???

因为下载组件的时候,没有哪个选项,还是没有MSVC2013

【云原生进阶之PaaS中间件】第一章Redis-1.5.1安装配置

1 Redis环境安装配置 在本节中,您将了解和学习Redis的环境安装设置。 1.1 在Ubuntu上安装Redis 要在Ubuntu上安装Redis,打开终端并键入以下命令 - [yiibaiubuntu:~]$ sudo apt-get update [yiibaiubuntu:~]$ sudo apt-get install redis-server 这将在…

教师必备 查分省时又省心

亲爱的老师们!你是否也曾为每次发布成绩而烦恼?每次都要将整个成绩表发到群里,再一个个回答家长的查询问题,简直是一场噩梦!但是,别担心,我给各位老师带来了最好的解决方案——易查分&#xff0…

【iVX】十五分钟制作一款小游戏,iVX真有怎么神?

个人主页:【😊个人主页】 新人博主,喜欢就关注一下呗~ 文章目录 前言iVX介绍初上手布置背景制作可移动物体总结(完善步骤) 前言 在上篇文章中,我向大家介绍了一种打破常规的编程方式——iVX,可…

每期一个小窍门: 一文助你理解火焰图

火焰图(flame graph)是性能分析的利器。本文介绍它的基本用法。 perf 命令 让我们从 perf 命令(performance 的缩写)讲起,它是 Linux 系统原生提供的性能分析工具,会返回 CPU 正在执行的函数名以及调用栈&…

Kafka3.0.0版本——文件清理策略

目录 一、文件清理策略1.1、文件清理策略的概述1.2、文件清理策略的官方文档1.3、日志超过了设置的时间如何处理1.3.1、delete日志删除(将过期数据删除)1.3.2、compact日志压缩 一、文件清理策略 1.1、文件清理策略的概述 Kafka 中默认的日志保存时间为…

sql:SQL优化知识点记录(十二)

(1)读锁案例讲解 加读锁和写锁 查看是否上锁:In_use:变成了1 读写锁对我们数据产生哪些影响: 读锁:是共享锁,其他线程可以查看: 加了读锁:session1不能修改自己&#xf…

JDK7多线程并发环境HashMap死循环infinite loop,CPU拉满100%,Java

JDK7多线程并发环境HashMap死循环infinite loop,CPU拉满100%,Java HashMap底层数据实现是数组链表,链表在哈希碰撞后装入新数据,像是一个桶。 HashMap在JDK7的实现中,并发环境存在死循环infinite loop问题。导致的结果…

Leetcode刷题笔记--Hot41-50

1--二叉树的层序遍历(102) 主要思路: 经典广度优先搜索,基于队列; 对于本题需要将同一层的节点放在一个数组中,因此遍历的时候需要用一个变量 nums 来记录当前层的节点数,即 nums 等于队列元素的…

Android高通 8.1 老化apk打开摄像头花屏问题

1、最近由于公司VR 3D系统要做双Camera老化测试apk,同时老化4小时需要轮询切换二个摄像头,保证后面camera标定精度数据更准确。 2、一开始我尝试用之前方案移植过去然后同时打开双摄像头 突然发现花屏 如下图所示 3、于是一第一时间想到是不是分辨率不兼…

个人信息保护专业人员认证(CCRC-PIPP)

数据已成为重要的生产要素,是国家基础性战略资源,个人信息是数据的核心和基础。保障公民个人信息权益,促进个人信息数据依法合理有效利用,已经成为政府和企业推动数字经济持续健康发展的首要任务。为促进个人信息保护领域人才队伍…

LeetCode127. 单词接龙

题目 力扣题目链接(opens new window) 字典 wordList 中从单词 beginWord 和 endWord 的 转换序列 是一个按下述规格形成的序列: 序列中第一个单词是 beginWord 。序列中最后一个单词是 endWord 。每次转换只能改变一个字母。转换过程中的中间单词必须是字典 wo…

AJAX学习笔记8 跨域问题及解决方案

AJAX学习笔记7 AJAX实现省市联动_biubiubiu0706的博客-CSDN博客 跨域:指一个域名的网页去请求另外一个域名资源.比如百度页面去请求京东页面资源. 同源与不同源三要素:协议,域名,端口 协议一致,域名一致,端口一致.才算是同源.其他一律不同源 新建项目测试: 1.window.open();…

VIRTIO-BLK代码分析(2)VIRTIO驱动分析

QEMU模拟的VIRTIO设备同时也是PCIE设备,Guest中VIRTIO PCIE驱动与之匹配,根据设备驱动模型,最终触发probe函数virtio_pci_probe()。该probe函数使能PCIE设备,并注册VIRTIO设备,并与VIRTIO-BLK匹配,触发VIRT…