1. 常见数据库注入函数:

      MYSQL: and length((user))>10
ACCESS: and (select count() from MSysAccessObject)>0
MSSQL: and (select count()from sysobjects)>0
ORDER BY句子:
select id,username,password from users where id = 1 order by 1,2,3,4依次测试,从而判断有几列存在,得知列数,拿union来联合查询
UNION查询:
联合查询,大部分数据库都支持联合查询(UNION)
MYSQL,SQL sever,Oracle
UNION合并两个查询结果集的基本规则
所有查询中的列数基本相同
数据类型必须兼容

sql_sever常用函数:

           as : 别名
顺便说几个常见的:
rand: 遵循四舍五入把原值转化为指定小数位数
floor: 向下舍入为指定小数位数
ceiling: 向上舍入为指定小数位数
rand: 返回一个介于 0 到 1(不包括 0 和 1)之间的伪随机 float 值
group by: GROUP BY必须得配合聚合函数来用,根据字段来分类使用
select count(*) from [table] group by concat('~',([真正的查询语句]),'~',floor(rand(0)*2))

select count(*),concat_ws(char(32,58,32),([查询语句]),floor(rand(0)*2)) as a from [table] group by a
原理:简单来说就是count等聚合函数之后,如果使用分组语句,就会把查询的一部分以错误的形式显示出来

2. 字符串连接函数

        concat函数,返回结果为链接参数的字符串。如果任何一个参数为null,则返回值为null。
注意:
如果结果为连接参数产生的字符串。如果有任何一个参数为null,则返回为null
如果自变量中含有任意一个二进制字符串,则结果为一个二进制字符串
concat()将其连接成一个字符串,因此不会复合XPATH_STRING的个数,从而出现格式错误
concat concat_ws group_concat
select concat(id,'|',username,'|',password)from users;以分隔符拼接出来结果
select concat_ws('|',id,username,password)from users;
select group_concat('\n',username)from users;

3. 字符串截取函数:

	locate:返回第一个字符串首次在第二个字符串出现的位置        # 正确为1,错误为0
select substr((select username from users limit0,1),1,2); # 从user取出dump字段,截取2位,就是du
length(database()) #判断数据库的长度
left(database(),1) = 's' #前一位是否为
select user() regexp 'r' #正则表达式匹配
select user like 'ro%' #匹配符
ascii() #返回指定数字对应的ascii码字符函数
substr() #截取从pos位置开始到最后的所有str字符串
select ascii (substr(select database(),1,1)); #截取数据库库名第一个字母是否为security,ascii('s')=115

4. 常用函数

	聚合函数:SQL注入最多的函数
user()查看当前Mysql登录用户名 database():查看当前使用Mysql数据库名
version():查看当前Mysq版本
扩展limit关键字 limit m,n 从m行开始,到m+n行

5. 常见注入叫法:

	post注入:注入字段在post数据中
cookie注入:注入字段在cookie数据中
延时注入:使用数据库延时特性注入
搜索注入:注入处为搜索的地点
base64注入:注入字符串需要经过base64的加密

mysql中的基本注入函数的更多相关文章

  1. mysql中bit_count和bit_or函数的含义

    翻阅mysql手册时,看到有个示例使用了bit_or方法来去除重复的数据,一开始没看明白,后来看明白之后感觉非常巧妙.示例要实现的功能就是计算每月有几天有访问,先把示例摘录在这里. 1 2 3 4 5 ...

  2. mysql中的去除空格函数

    (1)mysql replace 函数 语法:replace(object,search,replace) 意思:把object中出现search的全部替换为replace 案例:update `ne ...

  3. mysql 中时间和日期函数应用

    一.MySQL 获得当前日期时间 函数 1.1 获得当前日期+时间(date + time)函数:now() mysql> select now(); +-------------------- ...

  4. mysql 中 时间和日期函数

    From: http://www.cnblogs.com/redfox241/archive/2009/07/23/1529092.html 一.MySQL 获得当前日期时间 函数 1.1 获得当前日 ...

  5. MySQL中关于SQL注入的相关需要的基础知识

    零.绪论: 文章部分整理来源于公司同事,特此鸣谢!!! 一.关于注入点在KEY上的注入: 我们来看一个查询,你的第一个字段是过滤器(filter)第二个字段是查询的关键字,例如查询ip == 1.2. ...

  6. MYSQL 中常用日期时间函数使用

    MySQL Date 函数 下面的表格列出了 MySQL 中最重要的内建日期函数: 函数 描述 NOW() 返回当前的日期和时间 CURDATE() 返回当前的日期 CURTIME() 返回当前的时间 ...

  7. mysql中的内置函数

    这里主要介绍mysql丰富的内置函数. 数学函数 数学函数相对比较简单,就是涉及一些数值的计算,这里列出数学函数的功能,仅个别给出实例. 函数 作 用 ABX(x) 返回x的绝对值 CEIL(X),C ...

  8. MySQL中 指定字段排序函数field()的用法

    MySQL中的field()函数,可以用来对SQL中查询结果集进行指定顺序排序. 函数使用格式如下: order by (str,str1,str2,str3,str4……),str与str1,str ...

  9. mysql中if()函数使用

    博主原创,转载请注明出处: 在mysql中if()函数的用法类似于java中的三目表达式,其用处也比较多,具体语法如下: IF(expr1,expr2,expr3),如果expr1的值为true,则返 ...

随机推荐

  1. Java并发编程的艺术(五)——线程和线程的状态

    线程 什么是线程 操作系统调度的最小单元就是线程,也叫轻量级进程. 为什么要使用多线程 多线程程序能够更有效率地利用多处理器核心. 用户响应时间更快. 方便程序员将程序模型映射到Java提供的多线程编 ...

  2. 【Jenkins】环境配置及安装

    下载地址: 国外官网:https://www.jenkins.io/zh/download/(版本最新) 国内镜像:http://mirrors.jenkins-ci.org/windows/ 清华镜 ...

  3. 用rundeck启动tomcat报错

    报错如下Neither the JAVA_HOME nor the JRE_HOME environment variable is defined09:28:50 At least one of t ...

  4. 解决因缺少驱动程序,导致“未在本地计算机上注册microsoft.ace.12.0”异常

    写了一个winform程序,功能是选择一个excel表格,把里面的内容写进sqlite数据库中,在本地测试没问题,但是在其他电脑上就会报错"未在本地计算机上注册microsoft.ace.1 ...

  5. 浅谈 FHQ-Treap

    关于FHQ-Treap             --作者:BiuBiu_Miku 可能需要的前置知识:    一.树形结构的了解:        树形,顾名思义,就是像树一样有很多分叉口,而这里以二叉 ...

  6. Java 从 Map 到 HashMap 的一步步实现

    Java 从 Map 到 HashMap 的一步步实现 一. Map 1.1 Map 接口 在 Java 中, Map 提供了键--值的映射关系.映射不能包含重复的键,并且每个键只能映射到一个值. 以 ...

  7. 【java学习笔记2】访问控制修饰符 public、protected、默认、private

    先写了一个User()类: package chapter01; public class User { // 私有的 private int id; // 受保护的 protected int ag ...

  8. NET 5 原子操作、接口限流Semaphore以及性能测试JMeter

    一.Semaphore 限流也可使用令牌桶算法+redis 1.Semaphore定义 类似互斥锁,但它可以允许多个线程同时访问一个共享资源 通过使用一个计数器来控制对共享资源的访问,如果计数器大于0 ...

  9. 【Azure Application Insights】在Azure Function中启用Application Insights后,如何配置不输出某些日志到AI 的Trace中

    问题描述 基于.NET Core的Function App如果配置了Application Insights之后,每有一个函数被执行,则在Application Insights中的Logs中的tra ...

  10. 关于领域驱动架构DDD思考

    一个高大上的概念领域驱动架构就这样展开. 开发了多年的软件,一直以来的习惯是拿到产品的需求 对照UI的图纸然后就干干干 碰到问题大不了找人沟通再次定义问题,最后交付.其实最后也能把一件事情完成 但如果 ...