当前位置:网站首页>[极客大挑战 2020]Roamphp1-Welcome
[极客大挑战 2020]Roamphp1-Welcome
2022-07-30 16:43:00 【茶经新读.】
[极客大挑战 2020]Roamphp1-Welcome
打开是一个网页无法运作的网页, 发现了HTTP ERROR 405

百度405得

bp抓包发现网页本身是GET请求,将其改为POST请求放包


放包后页面就给出了源码:
<?php
error_reporting(0);
if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
header("HTTP/1.1 405 Method Not Allowed");
exit();
} else {
if (!isset($_POST['roam1']) || !isset($_POST['roam2'])){
show_source(__FILE__);
}
else if ($_POST['roam1'] !== $_POST['roam2'] && sha1($_POST['roam1']) === sha1($_POST['roam2'])){
phpinfo(); // collect information from phpinfo!
}
} 审计代码得知,我们需要post两个值,分别是roam1和roam2,并且要让这两个值不相等,同时还要使这两个值通过sha1函数比较两者使两者相等。这里利用sha1函数的漏洞来绕过,即sha1函数无法处理数组类型,会报错并返回NULL,因此传入的两个是数组的时候就直接相等。构造payload:roam1[]=1&roam2[]=2

进入phoinfo()界面,直接Ctrl + F,全局搜索flag

至此结束,撒花
边栏推荐
- 云风:不加班、不炫技,把复杂的问题简单化
- node.js中怎么连接redis?
- Goland 开启文件保存自动进行格式化
- MySQL 8.0.29 解压版安装教程(亲测有效)
- 对话框 QDialog ( 详解 )
- 游戏多开检测的几种实现方法及破解方法参考
- 全职做自媒体靠谱吗?
- Scheduling_Channel_Access_Based_on_Target_Wake_Time_Mechanism_in_802.11ax_WLANs
- 安全业务收入增速超70% 三六零筑牢数字安全龙头
- [NCTF2019] Fake XML cookbook-1|XXE vulnerability|XXE information introduction
猜你喜欢
随机推荐
Goland opens file saving and automatically formats
你是这样的volatile,出乎意料
《痞子衡嵌入式半月刊》 第 59 期
SocialFi 何以成就 Web3 去中心化社交未来
Rounding out the most practical way of several DLL injection
登录模块调试-软件调试入门
How to use Redis for distributed applications in Golang
华为云数据治理生产线DataArts,让“数据‘慧’说话”
Qt 容器控件之Tab Widget 使用详解
京东获取推荐商品列表 API
【Linux Operating System】 Virtual File System | File Cache
OpenCV形状检测
You are a first-class loser, you become a first-class winner
第六章:决胜秋招
onenote use
Minio 入门
获得抖音商品详情 API
The service already exists!解决办法
lotus 爆块失败
静态网页和动态网页的不同之处;该如何选择服务器呢









