mfw 攻防世界web题 (Git泄露)
当前大量开发人员使用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泄露)相关推荐
- 攻防世界Web题 - unseping 总结
攻防世界Web题 - unseping 总结 1.审题 进入题目,可以看出来是典型的php反序列化题目. 2.源代码分析 <?php highlight_file(__FILE__); //显示 ...
- 攻防世界web题ics-06(爆破id值)
打开界面:嚯!这花里胡哨 点来点去只有报表中心有回显: 发现url中id等于1,sql注入尝试无果, burp工具爆破id 对id的值进行爆破 burp报ERROR的话这是个bug,先点击Hex后点d ...
- 《CTF攻防世界web题》之我什么都不会(1)
前言
- 【ics-05 | mfw】攻防世界CTF题WP
攻防世界CTF题WP ics-05 所需知识 解题步骤 学习知识 php伪协议(文件包含漏洞中使用) preg_place函数 mfw 所需知识 解题步骤 学习知识 Dirserach工具 GitHa ...
- 攻防世界 web高手进阶区 10分题 weiphp
前言 继续ctf的旅程 开始攻防世界web高手进阶区的10分题 本文是weiphp的writeup 解题过程 进入界面 点击 进入一个登陆界面 没有注册 那肯定得找源码了 惯例源码+御剑 发现git泄 ...
- XCTF攻防世界Web新手入门题大全
XCTF攻防世界Web之WriteUp无图版 (Tips:有图版本,请移步我的资源,自行下载doc文档) 0x00 准备 [内容] 在xctf官网注册账号,即可食用. [目录] 目录 0x01 vie ...
- 攻防世界 web高手进阶区 9分题 favorite_number
前言 继续ctf的旅程 开始攻防世界web高手进阶区的9分题 本文是favorite_number的writeup 解题过程 进入界面 简单的代码审计 首先是个判断,既要数组强等于,又要首元素不等 然 ...
- 攻防世界——web新手题
攻防世界----web新手题 1. robots 打开题目场景,发现与robots协议有关,上网搜索robots协议的内容: Robots协议(也称为爬虫协议.机器人协议等)的全称是"网络爬 ...
- 攻防世界 web高手进阶区 8分题 Web_python_block_chain
前言 继续ctf的旅程 开始攻防世界web高手进阶区的8分题 本文是Web_python_block_chain的writeup 解题过程 这是个区块链题 这..裂开了啊 没搞过区块链 从零开始学习 ...
- 攻防世界[刷题笔记]之Web方向(练习区)(后半)
网络安全学习 攻防世界[刷题笔记] Web方向(新手区)(后半) xff_referer webshell command_execution simple_js 小结 攻防世界[刷题笔记] Web方 ...
最新文章
- linux第三方模块参数,Swift on Linux – 导入第三方模块
- slimphp中间件调用流程的理解
- 辽宁地质工程职业学院计算机应用技术,辽宁地质工程职业学院10大好就业专业推荐...
- 国产操作系统要起来,这款Linux是你的菜吗?
- python正则表达式面试_Python面试 Re-正则表达式
- 数据结构与算法——二叉树、堆、优先队列
- 解决python2.7.9以下版本requests访问https的问题
- 吴恩达机器学习(十四)推荐系统(基于梯度下降的协同过滤算法)
- 最后2天,BDTC 2019早鸟票即将售罄,超强阵容及议题抢先曝光!
- Android自定义View【实战教程】5⃣️---Canvas详解及代码绘制安卓机器人
- 计算机电子电路原理图,电路图讲解 电路图基础知识【图】
- 三段式状态机的原理/代码/仿真,1001序列检测实例Verilog
- python实现将整数转换为罗马数字
- 杂谈——每日热量消耗
- Toolbar中setNavigationIcon的返回图标太大,图标大小调整解决方法
- 开山斧 WEBSHELL管理器 V0.2
- Android studio 利用MPAndroidChart制作饼图
- tensorflow 学习笔记使用CNN做英文文本分类任务
- XDOJ 综合题 数字分解排序
- 【conda安装】mamba安装 ==conda安装记录
热门文章
- 51单片机用蜂鸣器来输出音乐《两只老虎》
- matlab小苹果,我要用计算器弹曲子,求亲们发点计算器简谱
- found 1 high severity vulnerability in 1481 scanned packages run `npm audit fix` to fix 1 of them.
- 仓库规模操作系统的背景之操作系统
- C++查詢wry.dat中的IP地址信息
- maven中filtering的使用
- SpringSecurity实现自定义登录界面
- 回想那天让我虎躯一震的bug:Mybatis Ognl引起的异常
- Mac电池系统管理软件App Tamer好用吗?
- 请假时间计算(支持任何时间段)