当前大量开发人员使用git进行版本控制,对站点自动部署。如果配置不当,可能会将.git文件夹直接部署到线上环境。这就引起了git泄露漏洞。

危害
攻击者可以利用该漏洞下载git文件夹里的所有内容。如果文件夹内有敏感信息比如站点源码、数据库账户密码等,攻击者可能直接控制服务器。

mfw

1)点开,没发现什么有用的

2)继续

3)发现有Git,可能是Git泄露,直接/.git

4)一个个点看看,在index中,ps打开

<?phpif (isset($_GET['page'])) {$page = $_GET['page'];
} else {$page = "home";
}//以get方式获得一个page变量,如果没有,则设置为home$file = "templates/" . $page . ".php";//将page变量拼接成一个templates下的php文件,设置为变量file// I heard '..' is dangerous!
assert("strpos('$file', '..') === false") or die("Detected hacking attempt!");//判断file中是否有" .. ",如果有则直接退出
// TODO: Make this look nice
assert("file_exists('$file')") or die("That file doesn't exist!")?>

5) 其中assert()函数会将括号中的字符当成代码来执行,并返回true或false,strpos()函数会返回字符串第一次出现的位置,如果没有找到则返回False

6)于是重心就放在file变量中,发现file变量是用我们输入的page变量拼接而成的,而且没有任何的过滤,我们可以在这段输入的字符中插入system函数来执行系统命令

$file = "templates/" . $page . ".php";assert("strpos('$file', '..') === false") or die("Detected hacking attempt!");

7)注意到调用file时用的单引号和括号来限制file的范围
于是可以构造url为

page=a ') or system("cat templates/flag.php");//

8)因为在strpos中只传入了a,所以其肯定返回false,在利用or让其执行system函数,再用" // "将后面的语句注释掉

9)回车,查看源码


mfw 攻防世界web题 (Git泄露)相关推荐

  1. 攻防世界Web题 - unseping 总结

    攻防世界Web题 - unseping 总结 1.审题 进入题目,可以看出来是典型的php反序列化题目. 2.源代码分析 <?php highlight_file(__FILE__); //显示 ...

  2. 攻防世界web题ics-06(爆破id值)

    打开界面:嚯!这花里胡哨 点来点去只有报表中心有回显: 发现url中id等于1,sql注入尝试无果, burp工具爆破id 对id的值进行爆破 burp报ERROR的话这是个bug,先点击Hex后点d ...

  3. 《CTF攻防世界web题》之我什么都不会(1)

    前言

  4. 【ics-05 | mfw】攻防世界CTF题WP

    攻防世界CTF题WP ics-05 所需知识 解题步骤 学习知识 php伪协议(文件包含漏洞中使用) preg_place函数 mfw 所需知识 解题步骤 学习知识 Dirserach工具 GitHa ...

  5. 攻防世界 web高手进阶区 10分题 weiphp

    前言 继续ctf的旅程 开始攻防世界web高手进阶区的10分题 本文是weiphp的writeup 解题过程 进入界面 点击 进入一个登陆界面 没有注册 那肯定得找源码了 惯例源码+御剑 发现git泄 ...

  6. XCTF攻防世界Web新手入门题大全

    XCTF攻防世界Web之WriteUp无图版 (Tips:有图版本,请移步我的资源,自行下载doc文档) 0x00 准备 [内容] 在xctf官网注册账号,即可食用. [目录] 目录 0x01 vie ...

  7. 攻防世界 web高手进阶区 9分题 favorite_number

    前言 继续ctf的旅程 开始攻防世界web高手进阶区的9分题 本文是favorite_number的writeup 解题过程 进入界面 简单的代码审计 首先是个判断,既要数组强等于,又要首元素不等 然 ...

  8. 攻防世界——web新手题

    攻防世界----web新手题 1. robots 打开题目场景,发现与robots协议有关,上网搜索robots协议的内容: Robots协议(也称为爬虫协议.机器人协议等)的全称是"网络爬 ...

  9. 攻防世界 web高手进阶区 8分题 Web_python_block_chain

    前言 继续ctf的旅程 开始攻防世界web高手进阶区的8分题 本文是Web_python_block_chain的writeup 解题过程 这是个区块链题 这..裂开了啊 没搞过区块链 从零开始学习 ...

  10. 攻防世界[刷题笔记]之Web方向(练习区)(后半)

    网络安全学习 攻防世界[刷题笔记] Web方向(新手区)(后半) xff_referer webshell command_execution simple_js 小结 攻防世界[刷题笔记] Web方 ...

最新文章

  1. linux第三方模块参数,Swift on Linux – 导入第三方模块
  2. slimphp中间件调用流程的理解
  3. 辽宁地质工程职业学院计算机应用技术,辽宁地质工程职业学院10大好就业专业推荐...
  4. 国产操作系统要起来,这款Linux是你的菜吗?
  5. python正则表达式面试_Python面试 Re-正则表达式
  6. 数据结构与算法——二叉树、堆、优先队列
  7. 解决python2.7.9以下版本requests访问https的问题
  8. 吴恩达机器学习(十四)推荐系统(基于梯度下降的协同过滤算法)
  9. 最后2天,BDTC 2019早鸟票即将售罄,超强阵容及议题抢先曝光!
  10. Android自定义View【实战教程】5⃣️---Canvas详解及代码绘制安卓机器人
  11. 计算机电子电路原理图,电路图讲解 电路图基础知识【图】
  12. 三段式状态机的原理/代码/仿真,1001序列检测实例Verilog
  13. python实现将整数转换为罗马数字
  14. 杂谈——每日热量消耗
  15. Toolbar中setNavigationIcon的返回图标太大,图标大小调整解决方法
  16. 开山斧 WEBSHELL管理器 V0.2
  17. Android studio 利用MPAndroidChart制作饼图
  18. tensorflow 学习笔记使用CNN做英文文本分类任务
  19. XDOJ 综合题 数字分解排序
  20. 【conda安装】mamba安装 ==conda安装记录

热门文章

  1. 51单片机用蜂鸣器来输出音乐《两只老虎》
  2. matlab小苹果,我要用计算器弹曲子,求亲们发点计算器简谱
  3. found 1 high severity vulnerability in 1481 scanned packages run `npm audit fix` to fix 1 of them.
  4. 仓库规模操作系统的背景之操作系统
  5. C++查詢wry.dat中的IP地址信息
  6. maven中filtering的使用
  7. SpringSecurity实现自定义登录界面
  8. 回想那天让我虎躯一震的bug:Mybatis Ognl引起的异常
  9. Mac电池系统管理软件App Tamer好用吗?
  10. 请假时间计算(支持任何时间段)