本文主要是介绍BUUCTF [极客大挑战 2020] Roamphp1-Welcome,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
BUUCTF [极客大挑战 2020] Roamphp1-Welcome
考点:
- POST传参方式
sha1()
不能加密数组
启动题目:
等了一阵子,一直是这样,查阅其他wp得知,原题中提示有:换一种请求方式
使用BurpSuite抓去数据包:
将传参方式修改为POST,发送数据包,得到题目源码:
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
,则返回405
- POST方式传入参数
roam1
和roam2
的值 - 俩变量的值不能相等,但
sha1()
加密后的值相等
因为sha1()
不能加密数组,所以构造payload:
roam1[]=1&roam2[]=2
传参后得到进入**phpinfo()**页面:
搜索即可得到flag:
这篇关于BUUCTF [极客大挑战 2020] Roamphp1-Welcome的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!