Ezsql

靶场说明

靶机地址解释: 第一行:目标机器 WEB 服务地址 第二行:目标机器 SSH 地址以及端口 第三行:Check 服务访问地址。

  • http://99bdd2da-7d5e-4b5c-a7ee-79713b8ecabc.node5.buuoj.cn:81
  • 99bdd2da-7d5e-4b5c-a7ee-79713b8ecabc.node5.buuoj.cn:28877
  • http://8ec6f741-f2f8-448b-ac58-72651a4a8f27.node5.buuoj.cn:81

修复方法:

  1. SSH 连接上目标机器,用户 ctf,密码 123456。
  2. 对目标机器上的服务进行加固。
  3. 访问 Check 服务的 /check进行 check。
  4. 若返回 True,则访问 /flag 可获得 /flag。
  5. 每次 check 后目标机器会重置。

操作教程

1.SSH连接目标服务器,这里使用finalshell进行连接。
Ezsql_第1张图片

2.登录成功,进入/var/www/html 进行对代码加固。
Ezsql_第2张图片

3.添加如下代码,对输入的内容进行限制。

$username = addslashes($username);
$password = addslashes($password);

关于addslashes() 函数的解释:
addslashes() 函数返回在预定义字符之前添加反斜杠的字符串。
预定义字符是:
单引号(')
双引号(")
反斜杠(\)
NULL
该函数可用于为存储在数据库中的字符串以及数据库查询语句准备字符串。


4.修改后的完整文件。




    
    
    
    有搞头
    
    
    
    


跟上团队,赚钱像呼吸一样简单。

让我访问

query($sql); if (!$result) die(mysqli_error($mysqli)); $data = $result->fetch_all(); // 从结果集中获取所有数据 if (!empty($data)) { echo '登录成功!'; } else { echo "用户名或密码错误"; } } ?>

5.访问 Check 服务的 /Check 进行 Check

http://8ec6f741-f2f8-448b-ac58-72651a4a8f27.node5.buuoj.cn:81/check

Ezsql_第3张图片
6.访问 Check 服务的 /flag 获得 flag

http://8ec6f741-f2f8-448b-ac58-72651a4a8f27.node5.buuoj.cn:81/flag

Your flag: flag{7557f0b1-210d-4ba7-9aba-1bb16e99fb1f}

Ezsql_第4张图片

你可能感兴趣的:(BUUCTF,web安全,安全性测试,安全,php,linux)