CTF学习笔记——IncludePing Ping Ping
一、[ACTF2020 新生赛]Include
1.题目
2.解题步骤
点进去看了一下
根据题目猜测,应该是和php的文件包含漏洞有关…尝试了一下显示phpinfo,意料之中的失败了,看wp才了解到,这是一道伪协议的题目。然后翻了一下之前的博客,复制一下payload,成功解题。
?file=php://filter/convert.base64-encode/resource=flag.php
3.总结
- 第二次做伪协议的题,只能说经验不足,没辨识出来,下次遇见类似这种?file=访问文件的题目时可以尝试。
4.参考资料
- [BUUOJ记录] [ACTF2020 新生赛]Include - Ye’sBlog - 博客园
一、[GXYCTF2019]Ping Ping Ping
1.题目
2.解题步骤
一脸懵,试一下给ip送变量
是rce漏洞,但也有些关键字被过滤了
好想学会写脚本然后用脚本测试过滤了哪些…这里知道了漏洞类型,应该用穷举法测出哪些函数没有被过滤…出于懒惰还是看一眼wp吧…
是我败了,师傅的智慧果然是无穷的,直接读文件是我没想到的
(注: ls, cat是linux访问文件的命令)
看wp知道是因为空格被过滤了,师傅们使用的是${IFS}$
绕过。系统自带的变量 $IFS 内部字段分隔符(Internal Field Separator, IFS)定义一个定界符,默认是空格。知道了原理,开始绕!
好↑的↓,是大括号被过滤了,师傅说改成$IFS$1
…百度了半天不明白为什么要用$IFS$1
这里没访问到,师傅提示要访问index.php
爆出了源码,可以看到正则过滤了哪些内容。接下来有三种方法可以绕过。
- 变量拼接
?ip=127.0.0.1;a=g;cat$IFS$1fla$a.php
大意是构造一个变量a=g,然后正则没有匹配到flag,就绕过了。这里需要注意的是正则的形式。index.php下的代码含义为匹配字符串,是否按顺序出现flag这四个字母。所以如果$a放在前面解析,就会直接出现了flag四个字母,只有放到最后一个,才会有效果。
- sh绕过
?ip=127.0.0.1;echo$IFS$1Y2F0IGZsYWcucGhw|base64$IFS$1-d|sh
sh和bash都是linux的shell的一种,二者语法可以兼容。index.php过滤了bash的命令,但是没有过滤sh的命令。把flag.php这几个字转码base64再转回,即可绕过。
- 内敛执行
?ip=127.0.0.1;cat$IFS$1`ls`
将反引号内命令的输出作为输入执行。所以这句话就变成了 cat index.php flag.php。就会把两个文件显示出来。
3.总结
- 第三道rce的题,感觉核心就是绕过。这道题教会了我空格的绕过和三种字符串的绕过。
- 又熟悉了一下linux的命令。像ls cat 还有bash,sh的概念等等。
- 正则真的好玄学…变量拼接想了好久为什么只有拼最后一个才能绕,这个匹配规则真有趣…
4.参考资料
- 学习一个shell 变量$IFS - 快乐嘉年华 - 博客园
- [GXYCTF2019]Ping Ping Ping - 王叹之 - 博客园
- [GXYCTF2019]Ping Ping Ping(RCE)_xlcvv的博客-CSDN博客
- Linux SHELL中sh和bash的区别 - 御用闲人 - 博客园
- 命令执行漏洞利用及绕过方式总结 - ghtwf01 - Welcome to ghtwf01’s blog
CTF学习笔记——IncludePing Ping Ping相关推荐
- 合天每周CTF学习笔记 — 神奇的磁带
这是真小白的第一次学习,做个笔记记录一下思路和辅助知识. 思路 整体思路是借助提供的提示和寻找隐藏的提示. 1.查看页面源码 根据实验指导书说明,首先访问攻击的网页,并查看源码. 2.查看源码中的提示 ...
- 我的ctf学习笔记 misc(二)
1.easypdf 给了一个pdf文件,图片将flag隐藏了 2.损坏的图片 给了一个不能打开的png,首先尝试修复,用winhex打开,发现首尾格式是错误的,整个顺序需要颠倒过来,在储存会发现图片变 ...
- CTF学习笔记一——RSA加密
RSA公开密钥密码体制是一种使用不同的加密密钥与解密密钥,"由已知加密密钥推导出解密密钥在计算上是不可行的"密码体制. 在公开密钥密码体制中,加密密钥(即公开密钥)PK是公开信息, ...
- CTF学习笔记——SQL注入
SQL注入 sql注入的分类 1)可回显的注入 可以联合查询的注入 报错注入 通过注入进行DNS请求,从而达到可回显的目的 2)不可回显的注入 bool盲注 时间盲注 3)二次注入 通常作为一种业务逻 ...
- CTF学习笔记——Easy Calc
一.[RoarCTF 2019]Easy Calc 1.题目 2.解题步骤 发现框框-应该是注入题-源码中提示有个waf,继续看源码,发现有个calc.php,进去看看 初步理解应该是用num传参,然 ...
- CTF学习笔记:misc
1.来题中等的吧: 下载压缩后,得到一张图片 仔细观察上面的青色条纹,可以发现这是摩斯密码,把它记录下来: .- .-.. .--. .... .- .-.. .- -... 在线网站上翻译得到fla ...
- CTF学习笔记——sql注入(2)
一.[SUCTF 2019]EasySQL 1.题目 2.解题步骤 看标题就知道是关于sql注入的题目.老规矩,先跑一下sqlmap,再用1' or 1=1 #试试. Nonono. 不死心再试一下别 ...
- CTF学习笔记20:iwebsec-文件上传漏洞-05-htaccess文件上传
本练习最终只能上传图片,关键要让图片文件可以调用,也就是作为php解析. 一.通过之前的方法均不能上传php文件 通过burpsuite配合改扩展名.大小写.双写等手段均不上传成功. 二.编写并上传. ...
- CTF学习笔记22:iwebsec-文件上传漏洞-07-条件竞争文件上传
一.正常上传php文件被删除 你这么暴力,刚上传就删除,解决思路就是不停地上传,你要接收文件.判断文件.删除文件总要时间吧: 那我见缝插针,不停地调用上传的文件,一旦成功就写入另一ma,也就是ma中m ...
最新文章
- druid seata 配置_五分钟体验分布式事务框架Seata
- SQL查询表对应的外键约束
- COGS-257-动态排名系统-树状数组+主席树
- BestCoder-Round#33
- JavaScript(基础、高级)笔记汇总表【尚硅谷JavaScript全套教程完整版】
- 适配器模式和装饰模式
- 蓝桥杯 子串分值 递推
- JavaScript文本特效实例小结【3个示例】
- pytorch torch.narrow
- bat执行java程序的脚本解析
- Yii2 Lesson - 03 Forms in Yii
- 2.ELK stack 集群 搭建
- Java中对象和类(main主类简介)
- Visio 入门教程
- python与vb语言_vb.net和python区别是什么
- 如何修改iTunes的iPhone备份路径?
- 蔡学镛:写SOP(标准作业程序)就是写程序
- 小学C++编程入门书籍及相关资料介绍(一)
- 运筹帷幄决胜千里,Python3.10原生协程asyncio工业级真实协程异步消费任务调度实践
- linux 模拟误码率,基于System View的比特误码率测试的仿真研究
热门文章
- 找回Windows XP密码
- 论文翻译解读:Distributed Representations of Words and Phrases and their Compositionality【Word2Vec优化】
- 原创 | 传统医药零售如何实现数字化转型
- 绿色荧光素标记Galectin-3抑制剂,FITC-Galectin-3
- 最大质因数 最大回文数乘积 字符串String类用法_Java每日练习题及题解(11月16日)
- javascript面向对象精要学习总结(第二章 函数)
- django学习-武沛齐教程【day4】
- USound发布高性能ASIC线性音频放大器,提高真无线立体声装置、助听器和智能眼镜的电池寿命
- 计算机组成部分有cpu吗,CPU的主要组成部分有哪些?
- 自己动手编写一个VS插件(六)