您的位置:首页 > 健康 > 美食 > 百度信息流广告位置_互联网公司排名2024中国_windows优化大师靠谱吗_外包公司是正规公司吗

百度信息流广告位置_互联网公司排名2024中国_windows优化大师靠谱吗_外包公司是正规公司吗

2025/2/27 13:52:19 来源:https://blog.csdn.net/2401_86760082/article/details/145659212  浏览:    关键词:百度信息流广告位置_互联网公司排名2024中国_windows优化大师靠谱吗_外包公司是正规公司吗
百度信息流广告位置_互联网公司排名2024中国_windows优化大师靠谱吗_外包公司是正规公司吗

进入题目页面如下

刷新好几遍还是这个页面,后来注意到报错不是404,而是405

表示 客户端使用的HTTP请求方法不被服务器支持

用burp suite抓包,看到是GET请求,报了405,那试试POST请求,用burpsuite修改

放行,看到源码

<?php
// 1. 设置错误报告级别为 0,即关闭所有错误报告,避免在页面上显示错误信息。
error_reporting(0);// 2. 检查当前请求的方法是否不是 POST 请求。
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {// 如果不是 POST 请求,设置 HTTP 响应状态码为 405 Method Not Allowed,表示请求方法不被允许。header("HTTP/1.1 405 Method Not Allowed");// 终止脚本的执行。exit();
} else {// 3. 如果是 POST 请求,检查 POST 数据中是否同时存在 'roam1' 和 'roam2' 这两个参数。if (!isset($_POST['roam1']) || !isset($_POST['roam2'])){// 如果缺少其中一个参数,显示当前 PHP 文件的源代码。show_source(__FILE__);} else {// 4. 检查 'roam1' 和 'roam2' 的值是否不相等,并且它们经过 sha1 哈希后的结果是否相等。if ($_POST['roam1'] !== $_POST['roam2'] && sha1($_POST['roam1']) === sha1($_POST['roam2'])){// 如果满足条件,调用 phpinfo() 函数,输出 PHP 的配置信息。phpinfo();  // collect information from phpinfo!}}
}

SHA - 1 哈希碰撞漏洞
sha1() 函数在处理某些特殊输入时会产生哈希碰撞,即不同的输入可能会产生相同的 SHA - 1 哈希值。代码中通过比较 sha1($_POST['roam1']) 和 sha1($_POST['roam2']) 是否相等来判断条件,并且要求 $_POST['roam1'] 和 $_POST['roam2'] 的值不相等

由于代码调用 phpinfo() 函数输出 PHP 配置信息,我们可以利用 SHA - 1 哈希碰撞来满足条件,从而触发 phpinfo() 函数。一般来说,通过查找已知的 SHA - 1 碰撞对,将其分别作为 roam1 和 roam2 的值发送 POST 请求。然后从 phpinfo() 输出的信息中寻找与 flag 相关的线索,可能包括环境变量、文件路径等信息

payload:

roam1[]=1&roam2[]=2

用hackbar发送post请求

得到phpinfo,在环境变量中ctrl+F,输入flag,查找flag,最终找到Flag

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com