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

攻防世界-web-csaw-mfw

一.题目分析

这边提示使用了Git,试着访问.git看是否存在.git泄露

浏览了一下,很多都是乱码,想着用githack将git库克隆下看一下

二.操作

python2 GitHack.py http://url/.git

访问了一下flag.php,没啥发现,在看一下index.php

审计一下:

仅展示部分代码

第一思路使用文件包含(发现不行)

我在这边发现有一个require_once第一想法就是通过文件包含漏洞,所以去找这个$file参数。

$file会从前端的$page获取数据并在前面拼接template/ ,在后面还有对这个参数的过滤,

①如果参数含有..就会终止整个程序并且返回Detected hacking attempt

②如果$file传的文件路径要是不存在则会终止程序,返回That file doesn't exist

所以如果要通过文件包含去渗透就需要绕过这两个防护,这边最初想法在后面文件包含部分可能就需要eval(system('cat ./template/flag.php')),后面发现这边还没到require_once的时候就以及会执行cat ./template/flag.php了。这边是因为assert也会把内部的字符串当成php命令执行

第二思路通过assert()

php版本在7.3以下会存在assert()会执行字符串中的php代码

①测试

?page=%27).phpinfo();//

%27代表'

%27)闭合前面的strop函数        .作为字符串的分隔符号,最后会执行phpinfo()这边没闭合assert,但是内部的其他函数是完整合法所以不影响函数执行,但是这边闭合了assert反而无法执行了,这边自己也不知道。

成功显示了

②打开目标文件

').system('cat ./templates/flag.php');//
') or print_r(file_get_contents('templates/flag.php'));//
 ', '..') or eval($_REQUEST['hacker']); //

第三个句子,得用蚁剑去连接,但是我自己不爱用蚁剑所以就没有演示了

这道题目做完我也有点问题,希望有人给我解答一下,为什么通过git库下载下来的flag.php文件没法看到我们想要的flag,但是我们在进行渗透的时候也是去cat这个文件,为什么可以得到,还有就是为闭合assert()却反而没法渗透成功

http://www.dtcms.com/a/313502.html

相关文章:

  • 【C++】封装,this指针
  • C++高阶笔记第四篇:STL-函数对象
  • 【Leetcode】2106. 摘水果
  • Yakit热加载魔术方法模版插件语法JSRpc进阶调用接口联动
  • 【Bluedroid】btif_av_handle_event 流程源码解析
  • 更换KR100门禁读头&主机
  • UART串口常用库函数(STC8系列)
  • LLM大模型开发-SpringAI:ChatClient、Ollama、Advisor
  • greenfoot主要api
  • 广东省省考备考(第六十五天8.3)——判断推理:图形推理(数量规律题目总结)
  • 使用C++实现日志(3)
  • sqli-labs:Less-23关卡详细解析
  • C的数据类型与变量
  • 2025 Java开发真实试题-阿里面试题分析
  • C语言与数据结构:从基础到实战
  • 机器学习——过采样(OverSampling),解决类别不平衡问题,案例:逻辑回归 信用卡欺诈检测
  • 前端工程化:Vue3(一)
  • 2025年EAAI SCI1区TOP,森林救援调度与路径规划:一种新型蚁群优化算法应用,深度解析+性能实测
  • 智能化门禁常见问题处理思路
  • Linux mount挂载选项详解(重点关注nosuid)
  • 使用Perl和库WWW::Curl的爬虫程序!
  • [spring-cloud: 服务注册]-源码解析
  • Spring Boot AOP 优雅实现异常重试机制
  • 多线程异步日志系统与实现及 TCP/IP C/S 模型
  • IO流-字节流-FileOutputStream
  • day50预训练模型 CBAM注意力
  • Effective C++ 条款20:宁以pass-by-reference-to-const替换pass-by-value
  • LeetCode 2122.还原原数组
  • centos7安装桌面客户软件并远程连接
  • 学习笔记《区块链技术与应用》第五天 分叉