当前位置: 首页 > news >正文

CTF-web-攻防世界-3

1、inget

(1)、进入网站,提示传入id值

(2)、用一些闭合方式,返回都一样。

(3)、尝试万能密码。获得flag

2、mfw

(1)、页面没有什么特殊的异常,使用dirsearch进行目录扫描,有一些.git文件。看样子是.git文件泄露。

  • 使用githack下载并恢复.git文件:python githack.py URL
  • githack使用:Githack工具安装及使用教程

(2)、查看下载后的文件,只有index.php文件特殊些。有PHP代码,代码审计

  • 使用get请求给page传参,对$page进行拼接赋值给$file,对$file进行判断
  • assert():断言函数,用于判断一个表达式是否为真
  • strpos(var,str):查找var在str中第一次出现的位置

(3)、可以将判断语句闭合掉,使用命令执行漏洞。后面语句注释掉。使用get传参

  • POC:x') or system("cat templates/flag.php");//
    • x处,有没有真实文件都一样
  • 访问后,原本网页可能没有,右击查看源代码

3、fileclude

(1)、访问网页,有一段php代码。代码审计

  • 传入两个文件,当file2的内容为hello ctf时,包含file1文件
  • 没有做过滤,使用文件包含漏洞

(2)、file2内容需要等于hello ctf,可以使用php://input,通过post请求提交一段php代码。

(3)、file1使用php://filter进行任意文件读取,并进行base64编码输出

  •  POC:?file1=php://filter/read=convert.base64-encode/resource=flag.php&file2=php://input

(4)、获得base64编码的数据,解码获得flag

4、fileinclude

(1)、右键查看源代码,有一段php代码。代码审计

  • 通过cookie给$lan传入参数,$lan不存在就包含english.php文件,存在就包含文件名基于$lan的值,后缀为'.php'的文件。

(2)、尝试使用php://filter进行任意文件读取

(3)、获得base64编码的数据,解码获得flag

注:另外一题使用base64编码的不行,需要更改convert.* 过滤器

5、ics-05

(1)、只有设备维修中心能跳转,点击跳转。

(2)、查看源代码发现一个a标签中出现?page=index。可能是文件包含漏洞,尝试一下

(3)、尝试php伪协议,给page传入参数

  • POC:?page=php://filter/read=convert.base64-encode/resource=index.php
  • 访问后,查看源代码,最下面有base64编码的字符,解码是一段PHP代码,分析
  • 重要的是测试人员用的那段代码
    • 检查访问者的IP地址是否为'127.0.0.1',判断成功后,进行对变量进行正则匹配
    • preg_replace(rule,dstr,sstr):sstr通过正则匹配规则rule,能匹配到规则的部分被替换为dstr

(4)、故现在只有考虑将xff改为本地和怎么执行命令语句

  • xff使用hackbar更改或bp抓包更改即可
  • 命令执行
    • /e 修正符使 preg_replace() 将 dstr 参数当作 PHP 代码,其他两个参数满足该函数下的规则即可。
  • poc:?pat=/125e/e&rep=system('ls')&sub=125e

(5)、找到有关flag文件,查看即可

http://www.lryc.cn/news/355250.html

相关文章:

  • 【附代码案例】深入理解 PyTorch 张量:叶子张量与非叶子张量
  • TypeScript 学习笔记(七):TypeScript 与后端框架的结合应用
  • Linux基础知识点总结!超详细
  • 中小学校活动怎样投稿给媒体报道宣传?
  • Python代码:十七、生成列表
  • C++ 程序的基本要素
  • 藏汉翻译工具有哪些?这三款工具简单好用
  • three.js官方案例webgl_loader_fbx.html学习
  • 51单片机-实机演示(单多个数码管)
  • Pytorch深度学习实践笔记10(b站刘二大人)
  • QT5.15.2及以上版本安装
  • 5月27日
  • python给三维点上色,并添加颜色柱
  • Ubuntu22.04之解决:忘记登录密码(二百三十二)
  • stream-并行流
  • 插件“猫抓”使用方法 - 浏览器下载m3u8视频 - 合并 - 视频检测下载 - 网课下载神器
  • 【quarkus系列】构建可执行文件native image
  • linux(ubuntu)常用的代理设置
  • 红队攻防渗透技术实战流程:红队目标上线之Webshell免杀对抗
  • Habicht定理中有关子结式命题3.4.6的证明
  • 【Unity AR开发插件】如何快速地开发可热更的AR应用
  • Divisibility Part1(整除理论1)
  • 代码随想录算法训练营第三十七天 | 860.柠檬水找零、406.根据身高重建队列、452.用最少数量的箭引爆气球
  • GolangFoundation
  • 如果任务过多,队列积压怎么处理?
  • FTP协议——BFTPD基本操作(Ubuntu+Win)
  • 为什么需要分布式 ID?
  • MIT6.828 Lab2-3 Sysinfo
  • 形态学操作:腐蚀、膨胀、开闭运算、顶帽底帽变换、形态学梯度区别与联系
  • StringBufferInputStream类,你学会了吗?