DNS Pinning
域名-IP变换攻击
(1) 一个用户点击了一个URL为http://wahh-attacker.com/连接
(2) 用户的浏览器解析域名wahh-attacker.com。为完成这个任务,他对攻击者的域名服务器进行一次dns查询,域名服务器以攻击者的IP地址(1.2.3.4)响应,生存时间(TTL)为1秒。
(3) 用户的浏览器向IP地址1.2.3.4提出以下请求
GET / HTTP/1.1
Host: wahh-attacker.com
(4) 攻击者的web服务器返回一个页面,其中包含一段脚本等待2秒,然后执行两个操作,第一个操作是使用XMLHttpRequest获取http://wahh-attacker.com/。由于这个域调用脚本的域是同一个域,因而这个请求得到(浏览器的)批准。
(5) 因为浏览器已经等待了2秒,它对wahh-attacker.com进行的前一次DNS查询已经终止(TTL时间已经到了),于是浏览器(自动)进行第二次查询。这次,攻击者的域名服务器以wahh-ap.com的IP地址5.6.7.8进行响应。
(6) 用户的浏览器向IP地址5.6.7.8提出请求
GET / HTTP/1.1
Host: wahh-attacker.com
(7) wahh-app.com服务器以它的内容进行响应,攻击者可通过XMLHttpRequest对象处理这些内容
(8) 在第(4)步加载的攻击者的脚本执行它的第二个操作,向攻击者控制的一个位置传送在第(7)步获得的数据。
这种攻击的目的是为了获取在公司内部网的数据,
DNS pinning的作用是防止上面的攻击
使用DNS pinning,当浏览器将一个域名解析为IP地址时,无论域名服务器查询指定的TTL设置为多少,他们都会将这个IP地址保存在缓存中,直到当前会话终止。所以上面第五步不能使用了。
但是可以使用反dns pinning
拒绝http连接可以突破dns pinning,在攻击者第五步用户的浏览器强制dns pinning,随后向当初的IP地址1.2.3.4提出请求,但是如果攻击者的服务器拒绝这个连接(例如设置防火墙保护它的http端口),那么用户的浏览器就会放弃dns pinning并且对wahh-attacker.com进行一次新的查询。这时,攻击者以5.6.7.8响应
对于上面第六步消息头Host 应用程序可能会检查的问题,可以通过旧版浏览器修改host头解决
常用工具
Beff
XSS Shell
分享到:
相关推荐
笔记: 对于RN 0.60.0或更高版本,请使用react-native-ssl-pinning@latest入门$ npm install react-native-ssl-pinning --save 大多是自动安装如果您使用的是React Native 0.60.+。 在iOS中运行pod install $ react-...
【证书固定(Certificate Pinning)】是信息安全领域中一种用于增强数据安全的技术,特别是在移动应用安全和云数据库保护中有着重要应用。它涉及到对服务器身份的验证,旨在防止中间人攻击,减少对传统证书颁发机构...
关于conda-forge-pinning 主页: : 软件包许可证:BSD-3-Clause 原料许可证: 简介:用于conda-forge生态系统的软件的基准版本 当前构建状态 所有平台: 当前发行信息 姓名 资料下载 版本 平台类 安装conda-...
jQuery-Anti-DNS-Hijacking是一款专门针对DNS劫持的防护插件,旨在为基于jQuery的Web应用程序提供额外的安全层。它通过一系列的检测和验证机制,确保用户实际访问的站点与预期的站点一致,防止被恶意DNS服务器引导至...
Android 7.0+ 抓包https方案,突破ssl-pinning 使用方法:https://blog.csdn.net/u014644574/article/details/104930877
要求节点v10 python v2作为命令行工具运行 # Install via npm(sudo) npm install 3box-pinning-node --global# Install via yarnyarn global add 3box-pinning-node# Run node(sudo) 3box-pinning-nodePubsub消息...
5. **网站 Pinning**:用户可以将常访问的网站“固定”到任务栏,方便快速访问,这是针对Windows 7的一项创新功能。 6. **触控优化**:针对Windows 7的触控设备进行了优化,提升了在触摸屏上的操作体验。 在描述中...
用于httpd-apache的public-key-pinning-php- C:\>php public_pinning.php example.crt ServerName example.com ServerAlias www.example.com Header always set Public-Key-Pins "pin-sha256=\"bZ3qT75...
标题中的"ipfs-pinning-service"指的是一个IPFS相关的服务,其主要功能可能是为用户提供IPFS上的数据固定服务。这种服务对于保持数据的持久性和可访问性至关重要,因为IPFS网络中,只有被固定的文件才能保证长期存在...
Size-induced elastic stiffening of ZnO nanostructures: skin-depth energy pinning,刘新娟,李建伟,It has long been puzzling regarding the trends and physical origins of the size-effect on the ...
这个名为"Android-SSL-Certificate-Pinning-master"的压缩包很可能是包含了一个示例Android项目,演示了如何在应用中实现Moxie的证书固定库。项目中可能包含了以下几个关键部分: - **源代码**:展示了如何在...
IPFS固定服务API 实现Rails应用程序。 终点 钉扎服务API规范的CRUD设计可以很好地映射到标准导轨的平稳路由设计,而仅需进行一些小的调整即可实现完整的规范。 ... TODO:通过Authorization: Bearer 实施身份验证和...
在这个项目中,"Deep-learning-for-ferroelectric-wall-dynamics-and-pinning-mechanisms-main"可能包含了一系列的Jupyter Notebook文件,每个文件可能对应一个特定的实验或分析步骤。开发者可能使用Python编程语言...
Android WebView中的证书固定和方案/域白名单 一个简单的演示应用程序,演示: Android WebViews中的证书固定 Android WebView中的方案和域白名单 使用OkHttp在网络级别实现固定和白名单。 然后,通过扩展...
Xamarin证书公钥固定 这是一个Xamarin示例应用程序,演示了证书公共密钥固定。 请参阅以供参考。... 我不是安全专家,因此,如果您在我的示例实现中发现漏洞,请让我知道,提出问题,提交PR或最简单的方法。
Web安全渗透是网络安全领域的重要组成部分,它涉及到对Web应用程序的系统性测试,旨在发现并修复潜在的安全漏洞。中间人攻击(Man-in-the-Middle,MITM)是一种常见的网络攻击方式,其中攻击者设法在通信的双方之间...
对于Windows 7用户来说,IE9提供了一个更加现代、安全且高效的浏览体验。它在性能、速度和网页标准支持方面都有显著提升。 描述中的“ie9 日文版”明确了这是专为日本市场设计的版本,所有的菜单、帮助文档和错误...
使用SSL Pinning进行HTTPS连接的简单Ionic3示例应用程序 对于新程序员而言,将SSL固定与cordova-plugin-advanced-http插件一起使用是一项繁琐的任务。 插件的安装和使用不是那么复杂,但是大多数人都不知道如何获取...
Web API安全是现代网络信息安全领域中的一个重要组成部分,它主要关注Web应用程序接口的安全性,确保数据传输和交互的安全性。Web API通过HTTP或HTTPS协议实现网络上应用程序间的通信,这包括了Web服务和使用JSON等...
在提供的压缩文件"renovate-pinning-master"中,可能包含了使用Renovate进行依赖固定的具体配置和示例代码。通常,这可能包括`.renovaterc`或`.renovaterc.json`这样的配置文件,其中定义了如何处理项目的依赖更新。...