专栏首页ascii0x03的安全笔记HTML5离线缓存攻击测试

HTML5离线缓存攻击测试

本实验采用局域网模拟,通过修改本地HOSTS文件来模拟域名以及DNS欺骗。合法网站使用Linux CentOS7的apache服务器搭建,IP为192.168.1.113,HOSTS文件中加入192.168.1.113 www.cache-test.com来模拟域名。正常访问页面如下图所示,在离线时也能够正常刷新出来。

攻击者由安装有XAMPP服务器的桥接虚拟机表示,IP为192.168.1.154。攻击者可以访问本目录的demo_html.appcache获得缓存文件,在同名文件加入自己的恶意代码(这里是弹出hacked对话框),利用DNS欺骗、中间人等方式,这里将HOSTS文件更改为192.168.1.154 www.cache-test.com来模拟。通过两次更新manifest文件,让用户缓存恶意页面并使其manifest文件与合法网站保持一致,如图所示。

接下来,修改HOSTS文件为192.168.1.113 www.cache-test.com,模拟用户已经回到了安全的上网环境下,当用户再次访问该合法网站时,仍然出现的是上述攻击者的页面。通过Wireshark抓包可以看到,浏览器仅仅请求了demo_html.appcache,离线缓存攻击成功。注意在实验时需要排除浏览器本身缓存的影响,仅仅刷新页面会收到服务器返回的304响应。

由于时间有限,并没有用爬虫去找使用了HTML5离线缓存的网站,仅仅做了这种攻击的验证实验,若有大家可以推荐几个来测试。

主页htm:

<!DOCTYPE html>
<html manifest="demo_html.appcache">
<meta charset="UTF-8">
<body>
<script src="demo.js">
</script>
<p id="timePara"><button onclick="getDateTime()">提交</button></p>
<p>这是攻击者的页面,点击出现hacked</p><br/>
<p>在离线的状态下重新载入这个页面,页面也可以访问。</p>
</body>
</html>

 demo_html.appcache:

CACHE MANIFEST
#2015-05-12

CACHE: 
demo.js

demo.js:

function getDateTime()
{
    alert('hacked!');
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • HTML5离线缓存攻击测试(二)

    经过昨天的测试,发现使用离线缓存的网站会被攻击。但是,不使用离线缓存的网站就真的不会受到这样的攻击么? 据我理解,按照标准当浏览器请求manifest文件时,若...

    ascii0x03
  • SEED缓冲区溢出实验笔记——Return_to_libc

    参考:http://www.cis.syr.edu/~wedu/seed/Labs_12.04/Software/Return_to_libc/      ht...

    ascii0x03
  • 【C】用C语言提取bmp图片像素,并进行K-means聚类分析——容易遇到的问题

    关于bmp图片的格式,网上有很多文章,具体可以参考百度百科,也有例子程序。这里只提要注意的问题。 (1)结构体定义问题:首先按照百度百科介绍的定义了结构体,但是...

    ascii0x03
  • HTML5多线程与离线存储

    使用 HTML5,通过创建 cache manifest 文件,可以轻松地创建 web 应用的离线版本。 HTML5引入了应用程序缓存,这意味着 web 应用可...

    踏浪
  • 3306π武汉站嘉宾专访-爱可生技术服务总监洪斌

    MySQL技术专家,现任爱可生技术服务总监,负责MySQL数据库在传统行业客户的应用推广与技术咨询,曾为运营商、银行、证券、保险、航空等行业内数家大型企业提供M...

    田帅萌
  • Python爬虫之scrapy_splash组件的使用

    观察发现splash依赖环境略微复杂,所以我们可以直接使用splash的docker镜像

    海仔
  • 设计模式:规约模式(Specification-Pattern)

    这句话很好的描述了设计模式的由来。前辈们通过实践和总结,将优秀的编程思想沉淀成设计模式,为开发者提供了解决问题的思路。除此之外,设计模式还是开发者之间沟通的桥梁...

    拓荒者-NET
  • 「工具神器」推荐一个扒网页的神器

    前不久写了一篇关于爬虫把网站的帖子,主要是介绍了一些。工具方面的东西,一个是八爪鱼,还有一个是webcopy。还有其他的一些常见的工具,像国外的IDM,IDM也...

    叉叉敌
  • 移动端体验优化经验总结与实践

    很多企业都会特别注重自己产品的体验,尤其是移动端,那移动端的体验为什么这么重要?首先体验本身就很重要,好的体验带给用户的感受是截然不同的,用户选择使用一个产品除...

    ConardLi
  • 资深技术 Leader 曹乐:如何成为技术大牛

    很多同学都有关于工程师该如何成长的问题,大家普遍对如何成长为牛人,如何获得晋升,如何在繁忙的工作中持续学习充满了困惑,这其实是每一位同学成长过程中必经之路。最近...

    五分钟学算法

扫码关注云+社区

领取腾讯云代金券