BugKu Web渗透之备份是个好习惯

news2025/5/31 16:01:45

启动场景后,网页显示一段字符串。

看起来像md5值,但是又过长了。

步骤一:右键查看源代码,没有发现任何异常。

步骤二:使用dirsearch去查看是否有其他可疑文件。

在终端输入:

dirsearch -u http://117.72.52.127:19983/ 

运行结果如图:

步骤三:看起来flag.php很可疑。打开查看。

页面是空的,右键查看源代码也是空的。

步骤四:再根据题目意思,说备份。那么index.php.bak这个备份文件很是可疑。于是下载下来,打开查看。内容如下:

看到这段代码,大概意思是获取请求的URI数据,之后再进行一系列的操作。然后有两个参数,key1和key2。当key1和key2的md5值相等,并且key1本身不等于key2时,可以输出flag。

那首先我们需要得到两个参数。具体如何得到,我们可以用php代码去测试下。测试代码如下:

<?php
	$url1 = "http:www.baidu.com?key1=4446566&key2=5555";
	$str1 = strstr($url1, "?");
	echo $str1;
	echo("<br>");
	$str2 = substr($str1,1);
	echo $str2;
	echo("<br>");
	$str3 = str_replace('key','',$str2); 
	echo $str3;
	echo("<br>");
	parse_str($str3);
	echo("<br>");
	echo $key1;
	echo("<br>");
	echo $key2;
	echo("<br>");
?>

 
 

运行结果如下图:

虽然后面代码出错了,但是我们可以由此知道:

strstr($url1, "?")是取url1中从?开始到最后的字符串。
substr($str1,1)是从索引为1开始截取的字符串。
str_replace('key','',$str2)是将字符串中的key替换成空。

代码的具体含义如下:

include_once "flag.php";         //包含运行依次flag.php
ini_set("display_errors", 0);    //关闭错误显示
$str = strstr($_SERVER['REQUEST_URI'], '?'); //取出URI中从?开始到最后的字符串
$str = substr($str,1);           //取出str中索引1到最后的字符串
$str = str_replace('key','',$str);        //把str中的key替换成空
parse_str($str);    //解析str字符串,解析出来的参数就是URI中的传参
echo md5($key1);    //输出key1参数

echo md5($key2);    //输出key2参数
if(md5($key1) == md5($key2) && $key1 !== $key2){ //如何key1和key2并不相等,但是key1和key2的md5值相等                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           
    echo $flag."取得flag"; //输出flag
}

因为最后我们需要key1和key2参数,去计算md5值,所以我们想到双写绕过。也就是kkeyey,这样中间的key被替换成空字符串后,外面的字符串连接起来还是key。

步骤五

我们需要找到值不同但是md5值相同的两个字符串。查找相应资料后,发现PHP在处理哈希字符串时,会利用”!=”或””来对哈希值进行比较,它把每一个以”0E”开头的哈希值都解释为0,所以如果两个不同的密码经过哈希以后,其哈希值都是以”0E”开头的,那么PHP将会认为他们相同,都是0。

那么我们只要找到两个字符串,md5后以“0E”开头的就行。

在网上搜了几个,我找了两个“QNKCDZO”和“240610708”。

步骤六

把找到的参数放进浏览器,使用get请求参数传递,key1和key2参数需要双写绕过,之后尝试。flag出现。

浏览器输入:http://117.72.52.127:19983/index.php?kekeyy1=QNKCDZO&kekeyy2=240610708

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2391663.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

华为AP6050DN无线接入点瘦模式转胖模式

引言 华为AP6050DN是一款企业级商用的无线接入点。由于产品定位原因,其默认工作在瘦模式下,即须经AC统一控制和管理,是不能直接充当普通的无线路由器来使用的。 而本文的目的,就是让其能脱离AC的统一控制和管理,当作普通无线路由器来使用。 硬件准备 华为AP6050DN无线接…

十、【核心功能篇】项目与模块管理:前端页面开发与后端 API 联调实战

【核心功能篇】项目与模块管理&#xff1a;前端页面开发与后端 API 联调实战 前言准备工作第一部分&#xff1a;完善项目管理功能 (Project)1. 创建/编辑项目的表单对话框组件 第二部分&#xff1a;模块管理功能 (集成到项目详情页)1. 创建模块相关的 API 服务 (src/api/module…

【大模型/MCP】MCP简介

一句话总结 如果你打算让 LLM 像人一样“随手”调用脚本、数据库、搜索引擎或 CI/CD 流水线&#xff0c;而又不想为每个工具分别写 REST 插件或轮询接口&#xff0c;那么把它们包进 MCP 服务器是当前最省心、延迟最低、可复用最高的做法——正因如此 OpenAI、Google DeepMind、…

[Godot][游戏开发] 如何在 Godot 中配置 Android 环境(适配新版 Android Studio)

在使用 Godot 进行 Android 项目的开发与导出时&#xff0c;配置 Android 环境是一项必要步骤。随着 Android Studio 的更新&#xff08;特别是自 Arctic Fox 版本起&#xff09;&#xff0c;安装方式发生了变化&#xff0c;默认不再引导用户手动配置 SDK/JDK/NDK&#xff0c;而…

机器学习多分类逻辑回归和二分类神经网络实践

1、2-17 实现多分类逻辑回归 代码 # 2-17 实现多分类逻辑回归 import pandas as pd import numpy as np import matplotlib.pyplot as plt# 参数设置 iterations 5400 # 迭代次数 learning_rate 0.1 # 学习率 m_train 200 # 训练样本数量# 整数索引值转one-hot向量 def…

社交类网站设计:经典feed流系统架构详细设计(小红书微博等)

文章目录 一、关注服务1、粉丝、关注数架构设计&#xff08;1&#xff09;数据库实现方案1&#xff08;2&#xff09;数据库实现方案2&#xff08;3&#xff09;基于redis缓存优化&#xff08;4&#xff09;使用专用计数服务&#xff08;5&#xff09;近似计数&#xff08;牺牲…

RISC-V PMA、PMP机制深入分析

1 PMA PMA&#xff08;Physical Memory Attributes&#xff09;&#xff0c;物理内存属性&#xff0c;顾名思义就是用来设置物理内存属性的&#xff0c;但这里说“设置”&#xff0c;并不合理&#xff0c;因为一般情况下各存储的属性&#xff0c;在芯片设计时就固定了&#xf…

【NebulaGraph】查询案例(七)

【NebulaGraph】查询案例 七 1. 查询语句12. 查询语句23. 查询语句34. 查询语句4 1. 查询语句1 GO FROM "player100" OVER * YIELD type(edge) AS link, properties($$) AS properties,tostring(src(edge)) AS src,tostring(dst(edge)) AS dst, tags($$) AS tagLi…

从“刚性扩容”到“弹性供给”:移动充电服务重构配电网边际成本

随着新能源技术的快速发展&#xff0c;电动汽车的普及对传统配电网提出了新的挑战。传统的“刚性扩容”模式依赖基础设施的物理扩建&#xff0c;不仅投资成本高&#xff0c;且难以应对动态变化的电力需求。在此背景下&#xff0c;“弹性供给”理念逐渐兴起&#xff0c;特别是移…

Grafana-Gauge仪表盘

仪表盘是一种单值可视化。 可让您快速直观地查看某个值落在定义的或计算出的最小和最大范围内的位置。 通过重复选项&#xff0c;您可以显示多个仪表盘&#xff0c;每个对应不同的序列、列或行。 支持的数据格式 单值 数据集中只有一个值&#xff0c;会生成一个显示数值的…

游戏引擎学习第313天:回到 Z 层级的工作

回顾并为今天的内容定下基调 昨天我们新增了每个元素级别的排序功能&#xff0c;并且采用了一种我们认为挺有意思的方法。原本计划采用一个更复杂的实现方式&#xff0c;但在中途实现的过程中&#xff0c;突然意识到其实有个更简单的做法&#xff0c;于是我们就改用了这个简单…

Milvus部署架构选择和Docker部署实战指南

导读&#xff1a;向量数据库作为AI时代的核心基础设施&#xff0c;Milvus凭借其强大的性能和灵活的架构设计在市场中占据重要地位。然而&#xff0c;许多开发者在部署Milvus时面临架构选择困惑和配置复杂性挑战&#xff0c;导致项目进展受阻。 本文将为您提供一套完整的Milvus部…

高效合并 Excel 表格实用工具

软件介绍 这里介绍一款用于 Excel 合并的软件。 使用反馈与工具引入 之前推荐过 Excel 合并工具&#xff0c;但有小伙伴反馈这些工具对于需要合并单元格的 Excel 文件不太适用&#xff0c;而且无法合并表头。鉴于这些问题&#xff0c;找到了今天要介绍的这款 Excel 合并工具…

拉取gitlab项目

一、下载nvm管理node 先下载配置好nvm,再用nvm下载node 下载链接&#xff1a;开始 下载nvm - nvm中文官网 情况&#xff1a;npm i 下载依赖缓慢&#xff0c;可能是node版本不对&#xff0c;可能node版本太高 可能得问题&#xff1a;使用nvm 下载低版本的node时&#xff0c;…

树莓派(Raspberry Pi)安装Docker教程

本章教程,主要介绍如何在树莓派上安装Docker。 一、安装步骤 # 卸载旧版本(如果有): for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg;

计算机视觉---YOLOv4

YOLOv4&#xff08;You Only Look Once v4&#xff09;于2020年由Alexey Bochkovskiy等人提出&#xff0c;是YOLO系列的重要里程碑。它在YOLOv3的基础上整合了当时最先进的计算机视觉技术&#xff0c;实现了检测速度与精度的显著提升。以下从主干网络、颈部网络、头部检测、训练…

在雄性小鼠自发脑网络中定位记忆巩固的因果中枢

目录 简要总结 摘要 1 引言 2 方法 3 结果 简要总结 这篇文章主要研究了雄性小鼠在自发脑网络中记忆巩固的因果中枢定位。记忆巩固涉及学习后休息和睡眠期间全脑网络的自发重组&#xff0c;但具体机制尚不清楚。目前理论认为海马体在这一过程中至关重要&#xff0c;但其他…

刷机维修进阶教程-----没有开启usb调试 如何在锁定机型的拨号界面特殊手段来开启ADB

有时候我们会遇到一些机型被屏幕锁 账号锁等锁定。无法进入系统界面。也没有开启usb调试的情况下如何通过一些操作来开启adb调试。然后通过adb指令来禁用对应的app顺利进入系统。以此来操作保数据等操作. 通过博文了解💝💝💝 1💝💝💝----了解一些品牌机型锁定状态…

Selenium 测试框架 - Kotlin

🚀Selenium Kotlin 实践指南:以百度搜索为例的完整测试示例 随着测试自动化的普及,Selenium 已成为 Web 自动化测试的事实标准,而 Kotlin 凭借其简洁语法和高安全性,越来越受到开发者欢迎。本指南将通过一个完整的实战案例——在百度中执行搜索操作,来展示如何使用 Sele…

010501上传下载_反弹shell-渗透命令-基础入门-网络安全

文章目录 1 上传下载2 反弹shell命令1. 正向连接&#xff08;Forward Connection&#xff09;正向连接示例&#xff08;nc&#xff09; 2. 反向连接&#xff08;Reverse Connection&#xff09;反向连接示例&#xff08;反弹 Shell&#xff09; 对比表格实际应用中的选择防御建…