[SWPUCTF 2022 新生赛]funny_web
点进去之后页面如下:
点击鼠标右键,查看页面源码:
在页面源码中,我们发现了一个NSS的php文件,我们直接访问得到:
接着我们打开HackBar 下载 url 之后,点击 Post data 结果出现了用户名和密码:
然后我们输入用户名和密码得到一串php代码:
<?php
error_reporting(0);
header("Content-Type: text/html;charset=utf-8");
highlight_file(__FILE__);
include('flag.php');
if (isset($_GET['num'])) {
$num = $_GET['num'];
if ($num != '12345') {
if (intval($num) == '12345') {
echo $FLAG;
}
} else {
echo "这为何相等又不相等";
}
}
重要突破口在这里:
if ($num != '12345') {
if (intval($num) == '12345') {
echo $FLAG;
}
intval() 函数可以获取变量的整数值,常用于强制类型转换。
当某个数字被过滤时,可以给它增加小数位来绕过。所以我们可以传参一个小数如12345.5。这样就满足了num!=‘12345’ 并且intval(num)=12345 满足if 语句的条件。所以我们执行以下命令:
http://node5.anna.nssctf.cn:23610/rea11y.php/?num=12345.5
运行之后得到:
由此可得本题flag为:
NSSCTF{eb88a4ed-2d65-4847-84f2-c669edb6c2d3}