sqli-labs 1-4做题记录

做题前,先在sqli-labs代码中加入:

echo $sql;

echo "<br>";

作用:将得到的SQL语句在页面上输出,便于浏览

Less-1

1、输入?id=1,有回显

2、将1改为2,3,仍有不同回显

在id=1后面加上单引号',得到报错信息,说明可能存在SQL注入漏洞

3、输入--+将后面的语句注释掉,回显正常

4、用order by语句测试有几列,输入4时回显不正常,改为3回显正常,说明该表一共有三列

 5、接下来使用联合查询,输入联合查询语句,语句是正确的,但没有回显信息

6、 将前面的句子注释掉,再次执行,发现用户名和密码这两个位置有回显,说明页面有两个回显位,可以进行利用

7、 进行查库,得到第一个库名

 8、使用limit语句,得到第二个数据,第三个数据

但是用limit语句查询比较慢,可以用group_concat函数进行查库,执行后得到所有数据库名

 9、查表

Url编码,单引号'转化成%27,为避免单引号的问题 ,可将security转化为十六进制再执行

10、查列

  11、查字段

分别取出用户名和密码

 同时取出用户名和密码,可用concat_ws('连接符',字段1,字段2)函数

但此时只显示了一个数据

可用group_concat再次包裹进行显示,一次性取出所有数据

Less-2

1、输入?id=1,得到正常回显

2、在1后加上单引号',根据回显出来的语句可知多加了一个单引号,此题不需加'

3、 直接进行order by查询有几列

order by 3回显正常,order by 4报错,说明有三列

 4、使用联合查询,查看有几个数据可以回显。查询后可以看到有两个回显位置

 5、查库,得到所有数据库名

6、查表,此处查询security数据库中的所有表名

 7、查列,此处查询users表

 

8、查字段,查出username和password中的数据

 

Less-3

1、输入?id=1,发现题目对id值进行了括号和单引号的包裹

 平时做题需要先进行测试,输入?id=1',出现报错

输入?id=1')--+,回显成功

 2、order by 语句测试该表有几列,输入4时回显不正常,改为3回显正常,说明该表一共有三列

3、使用联合查询语句,查看有几个回显点

4、查库

5、 查表

6、查列

7、查字段

与第一关第二关步骤相同

Less-4

1、输入?id=1,回显正常

 输入?id=1",出现报错

根据报错语句,改为输入?id=1")--+ ,回显正常

接下来的步骤和注入语句均与之前的一样,order by测试有几列,联合查询查看有几个回显位置,

查库,查表,查列,查字段

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值