SQL注入-报错注入

简介: 页面没有显示位 , 但有数据库的报错信息时 , 可使用报错注入报错注入是最常用的注入方式 , 也是使用起来最方便(我觉得)的一种注入方式

页面没有显示位 , 但有数据库的报错信息时 , 可使用报错注入

报错注入是最常用的注入方式 , 也是使用起来最方便(我觉得)的一种注入方式

updatexml(1,'~',3);

  • 第二个参数包含特殊字符时,数据库会报错,并将第二个参数的内容显示在报错内容中
  • 返回结果的长度不超过32个字符
  • MySQL5.1及以上版本使用

image.png

本次以SQLi第一关为案例

第一步,判断注入类型

我们在参数中加入一个单引号 ' , 看其会不会报错

?id=1'

数据库返回了一个错误 , 从错误来看 , 最外层的一对单引号来自数据库的报错格式 , 我们不用管

1 是我们传递的参数 , 1旁边的一对单引号 , 是SQL中包裹参数的单引号

而 1 右边的一个单引号 , 是我们添加的单引号

也就是说 , 后台SQL中传递参数时 , 参数包裹的就是单引号 , 固 单引号字符串型注入

image.png

第二步,脱库

我们先来测试一下 , updatexml()是否能正常报错

?id=1' and updatexml(1,concat('~','my par'),3) -- a

oncat() , 用来拼接字符串 , 触发updatexml()的报错

数据库把我们的第二个参数返回到页面了

image.png

我们把第二个参数 替换成查询语句 , 即可获取到数据库信息

?id=1' and updatexml(1,concat('~',
(select schema_name from information_schema.schemata limit 0,1)
),3) -- a

使用分页来查询第几个数据库 , 0开始

image.png

接下来可以将'~' 后面的SQL替换成其他的查询语句 , 从而实现脱库

相关文章
|
2月前
|
SQL 关系型数据库 MySQL
这样的SQL执行为什么不会报错?optimizer_trace深度历险
【10月更文挑战第12天】本文探讨了一条看似错误但实际上能成功执行的SQL语句,通过开启MySQL的优化器追踪功能,详细分析了SQL的执行过程,揭示了子查询被优化器解析为连接操作的原因,最终解释了为何该SQL不会报错。文章不仅增进了对SQL优化机制的理解,也展示了如何利用优化器追踪解决实际问题。
|
3月前
|
SQL 数据库
数据库数据恢复—SQL Server数据库报错“错误823”的数据恢复案例
SQL Server附加数据库出现错误823,附加数据库失败。数据库没有备份,无法通过备份恢复数据库。 SQL Server数据库出现823错误的可能原因有:数据库物理页面损坏、数据库物理页面校验值损坏导致无法识别该页面、断电或者文件系统问题导致页面丢失。
109 12
数据库数据恢复—SQL Server数据库报错“错误823”的数据恢复案例
|
3月前
|
SQL 数据库
SQL解析相关报错
SQL解析相关报错
49 5
|
4月前
|
XML SQL 数据格式
XML动态sql查询当前时间之前的信息报错
XML动态sql查询当前时间之前的信息报错
57 2
|
4月前
|
SQL 分布式计算 DataWorks
DataWorks操作报错合集之新建项目的元数据的sql报错,如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
29天前
|
SQL 安全 前端开发
Web学习_SQL注入_联合查询注入
联合查询注入是一种强大的SQL注入攻击方式,攻击者可以通过 `UNION`语句合并多个查询的结果,从而获取敏感信息。防御SQL注入需要多层次的措施,包括使用预处理语句和参数化查询、输入验证和过滤、最小权限原则、隐藏错误信息以及使用Web应用防火墙。通过这些措施,可以有效地提高Web应用程序的安全性,防止SQL注入攻击。
52 2
|
2月前
|
SQL 关系型数据库 MySQL
|
3月前
|
关系型数据库 MySQL Nacos
nacos启动报错 load derby-schema.sql error
这篇文章描述了作者在使用Nacos时遇到的启动错误,错误提示为加载derby-schema.sql失败,作者通过将数据库从Derby更换为MySQL解决了问题。
nacos启动报错 load derby-schema.sql error
|
3月前
|
SQL 安全 数据库
惊!Python Web安全黑洞大曝光:SQL注入、XSS、CSRF,你中招了吗?
在数字化时代,Web应用的安全性至关重要。许多Python开发者在追求功能时,常忽视SQL注入、XSS和CSRF等安全威胁。本文将深入剖析这些风险并提供最佳实践:使用参数化查询预防SQL注入;通过HTML转义阻止XSS攻击;在表单中加入CSRF令牌增强安全性。遵循这些方法,可有效提升Web应用的安全防护水平,保护用户数据与隐私。安全需持续关注与改进,每个细节都至关重要。
142 5
|
3月前
|
SQL 安全 数据库
深度揭秘:Python Web安全攻防战,SQL注入、XSS、CSRF一网打尽!
在Web开发领域,Python虽强大灵活,却也面临着SQL注入、XSS与CSRF等安全威胁。本文将剖析这些常见攻击手段,并提供示例代码,展示如何利用参数化查询、HTML转义及CSRF令牌等技术构建坚固防线,确保Python Web应用的安全性。安全之路永无止境,唯有不断改进方能应对挑战。
82 5
下一篇
DataWorks