【春秋云镜】CVE-2022-24124 Casdoor api get-oraganizations SQL注入漏洞 解题思路

本文详细解释了报错注入原理,涉及用户输入处理的漏洞,恶意输入构造,如何通过SQL错误获取敏感信息,以及使用HackBar和Burpsuite等工具进行测试和利用。作者强调了合法安全测试的重要性。

报错注入原理:

报错注入的原理是利用应用程序在处理用户输入时存在漏洞,攻击者通过巧妙构造的恶意输入,触发应用程序执行包含SQL查询的操作,并故意引发数据库系统的错误,以从错误消息中获取敏感信息。以下是报错注入的基本原理步骤:

用户输入的不安全处理:应用程序通常允许用户在表单字段、URL参数或其他输入方式中提供数据,这些数据将用于构建SQL查询。如果应用程序未正确验证和处理用户输入,就有可能存在漏洞。

构造恶意输入:攻击者利用这个漏洞,构造恶意输入,将恶意SQL代码插入到用户输入中,这个恶意SQL代码将成为应用程序生成的SQL查询的一部分。

触发SQL错误:攻击者的恶意输入旨在触发SQL查询中的错误。这可以通过引发SQL语法错误、类型转换错误、除零错误等方式来实现。当应用程序执行包含恶意输入的SQL查询时,数据库系统会检测到错误并生成一个错误消息。

获取错误消息:攻击者从错误消息中提取敏感信息。错误消息通常包含数据库系统的详细信息,如数据库类型(例如MySQL、SQL Server、PostgreSQL等)以及有关查询结构和数据的提示。攻击者可以分析这些错误消息来获取关于数据库的有用信息,例如表名、列名、查询结构等。

进一步的攻击:一旦攻击者了解了数据库的结构和数据,他们可以进一步利用漏洞,执行其他SQL注入攻击,例如检索敏感数据、修改数据或控制数据库服务器。

给大家分享几个常用的报错注入函数,碰到直接拿着搞就行了

1、updatexml()

updatexml()函数通常与XML数据一起使用,并且在某些数据库系统中可用,如Oracle。攻击者可能会尝试滥用该函数来进行XML注入攻击,以获取敏感信息。

updatexml()函数是 MYSQL 对 XML 文档数据进行查询和修改的 XPATH 函数

①Xml:可扩展语言;  

②update():函数更新。    

③组合,具有查询功能的函数,用于查询xpath。

payload:updatexml(Xml_document,Xpathstring,new_value)    

①xml_document:xml标记    

②Xpathstring:显示输入语句  

③new_value:新值

具体用法:updatexml(1,concat(0x7e,(select database()),0x7e),1)

2、extractvalue()

extractvalue()函数也是 MYSQL 对 XML 文档数据进行查询的 XPATH 函数 

Payload:extractvalue(xml_document,concat(0x7e,concat(database())))

具体用法:extractvalue(1,concat(0x7e,(select database())))

3、floor()

floor()函数是 MYSQL 中用来取整的函数

具体用法: (select 1 from (select count(*),concat(version(), floor(rand(0)*2))x from information_schema.tables group by x)a)#

切入主题,用报错注入

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dark-Specter

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值