鱼C论坛

 找回密码
 立即注册
查看: 997|回复: 4

[Web前端] 求找flag

[复制链接]
匿名鱼油
匿名鱼油  发表于 2024-4-27 18:18:38 |阅读模式
20鱼币
<html>
<head>
<title>BabyPHP</title>
<meta charset="UTF-8">
</head>
<body>
<form action="#" method="post">
flag在fun中,去找找乐趣吧:<input type="text" name="name" />
<input type="submit" value="submit" />
</form>


</body>

</html>

<?php
highlight_file(__FILE__);
error_reporting(0);
ini_set('open_basedir', '/var/www/html:/tmp');
$file = 'function.php';
$func = isset($_GET['function'])?$_GET['function']:'filters';
call_user_func($func,$_GET);
if (strpos($file, 'function.php') === false) {
    echo '去找fun吧!!!';
    exit;
} else {
    include($file);
}
?>

回复

使用道具 举报

发表于 2024-4-28 12:22:53 | 显示全部楼层
找flag ?
找什么标志?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-4-28 13:08:15 | 显示全部楼层
人造人 发表于 2024-4-28 12:22
找flag ?
找什么标志?

我也不知道CTF的题
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2024-4-28 14:57:18 | 显示全部楼层
你参数加一个?file=function.php试一试
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2025-3-23 20:06:56 | 显示全部楼层
HTML 部分:创建了一个表单,通过post方法提交,包含一个文本输入框和提交按钮,提示在fun中找flag。
PHP 部分:
highlight_file(__FILE__);:显示当前 PHP 文件的内容,便于查看代码。
error_reporting(0);:关闭错误报告。
ini_set('open_basedir', '/var/www/html:/tmp');:设置文件访问目录限制。
$file = 'function.php';:指定要包含的文件。
$func = isset($_GET['function'])?$_GET['function']:'filters';:从GET参数中获取function的值,若不存在则为filters。
call_user_func($func,$_GET);:调用$func函数,并传入$_GET参数。
后面的if语句判断$file中是否包含function.php,若不包含则输出提示并退出,否则包含该文件。
解题步骤
利用call_user_func函数的特性,尝试构造恶意参数。因为代码限制了文件包含必须是function.php,所以不能直接包含其他文件获取flag。
这里可以利用 PHP 的一些内置函数来实现目的。例如,可以尝试使用assert函数(在 PHP 低版本中可用),构造GET请求参数function=assert&_GET[0]=system('cat /var/www/html/function.php') (假设flag在function.php中)。通过assert执行系统命令查看指定文件内容。
发送构造好的请求,查看返回结果,从中找到flag。
不同环境和题目设定可能会有细微差别,若上述方法不行,可以进一步分析function.php可能存在的逻辑,尝试其他方法,比如利用show_source等函数查看文件内容 。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-3-31 14:03

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表