接口测试 接口测试之安全测试学习之 DNS 解析

欲野法师 · 2020年05月13日 · 最后由 欲野法师 回复于 2020年05月15日 · 2443 次阅读

起因

本来一直做着 web 的测试,很舒坦,惠 b 但是可能领导看我不爽,周会的时候,布置了一个任务,让我做安全测试的需求,从不会到作完出报告只有一个星期的时间,难还道这就是传说中赶鸭子上架吗😬
只要钱到位,我是公司一块砖,那里需要那搬,废话不多说,安排,😈

先指定测试流程

1 什么是 DNS

1.1 什么是域名

说起 DNS 不得不说起域名,因为 DNS 也叫域名解析系统,而域名说白了就是我们在测试过程中的 url 的前缀,举个离子例如 testerhome 官网 http://testerhome,com,url这个 ,我们测试接口的时候,叫 host,而其中 testerhome 就是域名。

1.2 什么是 DNS


DNS 又叫域名系统,域名系统的英文名称是 Domain Name System,缩写是 DNS,他是我们平接口中常测试的一项服务,是一种将域名和 IP 地址相互关联的数据库。让人方便、快捷使用互联网。在互联网上,一台主机如若要去访问另一台主机时,需要知道这台主机的地址。就比如你要去拜访某位老师或者是朋友的时候,需要知道他的家怎么走一样。而每个主机的地址都是 ip,由于 ip 地址是一串比较长的数字组成,对于记忆方面影响比较大,所以诞生了发明了域名,而域名系统就是管理域名和 IP 地址之间的对应关系。

2 DNS 解析

2.1DNS 解析 ----- 名词解释

DNS 解析也叫域名解析,域名解析是把域名指向网站空间 IP,让接口请求通过注册的域名可以方便地访问到网站的一种服务。IP 地址是网络上标识站点的数字地址,为了方便记忆,采用域名来代替 IP 地址标识站点地址。域名解析就是域名到 IP 地址的转换过程。域名的解析工作由 DNS 服务器完成。域名解析也叫域名指向、服务器设置、域名配置以及反向 IP 登记等等。说得简单点就是将好记的域名解析成 IP,服务由 DNS 服务器完成,是把域名解析到一个 IP 地址,然后在此 IP 地址的主机上将一个子目录与域名绑定。互联网中的地址是数字的 IP 地址,域名解析的作用主要就是为了便于记忆。

2.2DNS 解析过程


当前端调用过程需要将一个主机域名映射为 IP 地址时,就调用域名解析函数,解析函数将待转换的域域名解析,以域名放在 DNS 请求中,以 UDP 报文方式发给本地域名服务器。本地的域名服务器查到域名后,将对应的 IP 地址放在应答报文中返回。同时域名服务器还必须具有连向其他服务器的信息以支持不能解析时的转发。若域名服务器不能回答该请求,则此域名服务器就暂成为 DNS 中的另一个客户,向根域名服务器发出请求解析,根域名服务器一定能找到下面的所有二级域名的域名服务器,这样以此类推,一直向下解析,直到查询到所请求的域名。

2.3DNS 解析流程

域名解析的流程是:域名-DNS(域名解析服务器)- 网站空间。Internet 上的计算机是通过 IP 地址来定位的,给出一个 IP 地址,就可以找到 Internet 上的某台主机。而因为 IP 地址难于记忆,又发明了域名来代替 IP 地址。但通过域名并不能直接找到要访问的主机,中间要加一个从域名查找 IP 地址的过程,这个过程就是域名解析。域名注册后,注册商为域名提供免费的静态解析服务。一般的域名注册商不提供动态解析服务,如果需要用动态解析服务,需要向动态域名服务商支付域名动态解析服务费。

2.4DNS 解析的方式

DNS 的域名解析方式:主要分为 分布域名解析和集中式域名解析,两种方式
2.4.1 分布域名解析
是指分在客户端上维护一个静态的文本文件,其中包含主机名和 IP 地址的映射。随着网络规模的扩大,分布式分辨率的有效性越来越低。
2.4.2 集中式域名解析
要求网络中有多台 DNS 服务器,负责维护域名/IP 地址映射数据库。客户端从指定的服务器获取域名的地址信息。一旦客户端指定的 DNS 服务器不包含相应的数据,DNS 服务器就会在网络中进行递归查询,并获取其他服务器上的地址信息。

DNS 解析规则

第一个规则:就近解析原则,顾名思义,就是那个近,我就优先使用那个解析,因为网络传输,亲求也是需要时间,发起端距离解析机器越来越远,发送和解析的时间也就越长。

****************************这是一条神奇分割线,下面开始搞事情************************************************************

局域网劫持制作钓鱼网站

准备环境
kali liunx 操作系统一个
ettercap 工具的使用

查看 kali liunx ip 地址

ip addr

设置 DNS

vim /etc/ettercap/etter.dns


添加的两行记录的意思是,将 A 记录的解析直接解析为本机,后面在本机运行一个 apache 服务,被劫持的用户访问任意域名的网站都会直接访问我们当前指定的 IP

启动服务

service apache2 start

启动 ettercap 工具 GUI 版本

ettercao -G

扫描当前局域网的 IP

查看扫描结果


192.168.0.1 是当前局域网的网关,将这个 IP 点击设置下面的第二个按钮 Add to Target1,查看对应的 MAC 地址,然后添加需要欺骗的 IP192.168.0.107 到 Add to Taregt2

配置中间人攻击 IP 欺骗

勾选配置,点击确定,嗅探远程链接


选择 plugins

双击 dns_proof 激活插件


点击启动,开始执行攻击然后打开谷歌访问任意网址

因为我懒得替换了 apache 默认的 html 文件,所以全部指向 apache 的默认页面

总结

以上操作利用了 DNS 解析的就近原则,借助一些渗透测试工具,执行对应 ip 欺骗,这样就就可以还原多年前经典的钓鱼网站,来窃取用户的一些信息,换句话说,我要是将 apache 的默认页面做成一个假的网站,通过代理转发,我完全知道用户操作的数据。从而达到窃取对应的信息: 😈 😈

共收到 6 条回复 时间 点赞

DNS 劫持就这么玩的吧

那么对策呢?

我去催饭 回复

要想破解,直接刷新电脑的缓存即可破解😀

nennhui 回复

小伙子有慧根😂

想自己也试下,老哥的虚拟机网络设置是桥接吗?

WD 回复

是的

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册