1_0_hello_php_code 完整解题步骤 + 详细解析
一、题目考点
1. PHP 基础表单接收($_POST)、POST/GET 请求区分
2. 在线 Web 文件编辑器的使用
3. 靶场环境的逻辑触发:完成指定校验后,服务端动态生成flag.php文件
4. HTTP 基础请求方式的实操(HackBar 发包)
二、完整分步解题流程
步骤 1:进入靶场,登录在线文件编辑器1. 访问靶场入口地址:http://180.76.235.121:33525 2. 页面弹出登录框,账号:admin,密码:admin,登录后台文件管理编辑器。 解析:编辑器为后台文件管理程序,权限账号固定为 admin/admin,只有登录后才能在靶机服务器写入 PHP 文件。
步骤 2:新建test.php并写入校验代码1. 编辑器点击【新建文件】,文件名必须严格小写:test.php(文件名错误会 404) 2. 写入标准 PHP 校验代码,保存文件: php 运行 <?php
// 限定仅POST请求生效,过滤GET非法访问
if ($_SERVER['REQUEST_METHOD'] === 'POST'){
// 获取POST提交的两个参数
$username = $_POST['username'] ?? '';
$password = $_POST['password'] ?? '';
// 严格匹配账号密码
if ($username === 'admin' && $password === 'admin'){
// 原样输出题目指定字符串,字符必须完全一致
echo '35c29d169c7da3ed7924333740c31cb1';
}
}
析:① $_SERVER['REQUEST_METHOD'] === 'POST':强制只接收 POST 请求,GET 访问不会执行逻辑;② $_POST['参数名']:PHP 内置全局变量,专门接收 POST 表单参数;③ === 全等匹配:同时校验值 + 数据类型,防止弱类型绕过;④ echo 输出字符串必须和题目给出的文本完全一致,多空格、换行都会判定校验失败。
步骤 3:使用 HackBar 发送 POST 请求完成校验1. HackBar 配置参数: ◦ URL:http://180.76.235.121:33525/test.php ◦ 开启 Use POST method(POST 开关必须打开) ◦ 请求 Body:username=admin&password=admin 2. 点击EXECUTE执行发包,页面返回35c29d169c7da3ed7924333740c31cb1,代表前端输出成功。 解析:此时后端服务监听到合法的完整校验请求,会自动在网站根目录生成flag.php文件。
步骤 4:访问flag.php获取 Flag1. 直接在浏览器地址栏 GET 访问:http://180.76.235.121:33525/flag.php 2. 页面展示的内容即为本题 Flag,复制提交即可完成答题。