文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

跨站脚本攻击:如何防止XSS漏洞?

2024-12-03 15:16

关注

[[358908]]

美国国土安全部警告说:

“这种攻击允许攻击者冒充受害者进入网站,这些漏洞可能会允许攻击者不仅窃取cookie,还可以记录键盘敲击、捕捉屏幕截图、发现和收集网络信息,以及远程访问和控制受害者的设备。”

Barracuda Networks高级安全研究员乔纳森•坦纳(Jonathan Tanner)表示:

“考虑到其数字资产的高价值,联邦机构的风险可能尤其大。有了联邦机构,就可以访问特权信息和特权基础设施,这对攻击者来说是非常有利可图的。无论是攻击投票系统,还是只是扰乱政府事务,这些都可能是非常强烈的攻击动机。”

什么是跨站脚本攻击?

跨站脚本攻击包括恶意参与者通过网站插入秘密代码来针对受害者,CrowdStrike情报部门高级副总裁亚当•迈耶斯(Adam Meyers)表示:“这种攻击有几种方式,但基本上攻击者会向网站数据库注入恶意脚本,让浏览该网站浏览器的用户执行该脚本。”

作为一种客户端代码注入攻击,XSS允许攻击者通过受害者的web浏览器执行恶意操作。政府机构的web页面或web应用程序本质上成为了传播恶意脚本的工具。当受害者访问web页面或web应用程序时,代码就会被执行。

跨站脚本攻击是如何发生的?

尽管存在几种形式的XSS攻击,但所有攻击的结果本质上都是一样的:在用户的浏览器中执行恶意代码。

通常,当用户与web应用程序或网站交互时,数据会在客户端和网站或应用程序前端之间来回发送。其中可能大多是无害的数据,可随意浏览,或者应用程序中可能有某些页面或输入从用户那里收集数据。

XSS利用这些输入插入其恶意指令,就拿一个简单的博客或论坛来说吧。一般来说,作者会在网站上发布一篇博文,其他用户可以对其进行评论。这些评论是通过一个带有提交按钮的自由格式的文本框收集的。

在后台,应用程序正在从这些输入字段中收集数据:姓名、电子邮件地址、评论。那是什么阻止人们在文本框中放入其他东西并传播回web应用程序?可能什么都没有。在这种情况下,可以利用站点本身来执行跨站脚本攻击。

什么是Cookie窃取?

Cookie窃取是跨站脚本攻击工具库中的一种工具,它利用存储在用户Web浏览器缓存中的信息来识别特定连接或会话中的用户。

如果攻击者可以窃取用户的cookie,那么攻击者就可以冒充终端用户,在XSS漏洞中,如果攻击者可以窃取用户的cookie,就可以变成用户或者冒充用户。攻击者可以更改用户的密码、更改用户的备份邮箱,从而接管整个账户。

这样的攻击可能允许恶意攻击者获取秘钥来窃取用户名和密码。如果该用户拥有政府网络的管理证书,潜在的危害可能呈指数级上升。

XSS攻击与跨站请求伪造攻击的区别?

跨站请求伪造攻击是XSS方法的变体,它迫使终端用户执行不希望的操作。例如,攻击者可能诱骗web应用程序的用户更改电子邮件地址或转移资金。

使用XSS,它攻击用户,改变页面显示内容或页面在浏览器中的呈现方式,准确的说,它利用了用户对网站的信任。

在跨站请求伪造中,它伪装成是用户,以利用web服务器对用户的信任。如果用户对web页面进行身份验证,服务器就知道你已登录。然后,攻击者使用该令牌代表用户发出请求,通常是在他们不知情的情况下,他们可以更改用户可能更改的任何内容。

如何检测跨站脚本攻击

众所周知,XSS攻击很难被检测到,因为浏览器无法区分合法和非法行为。

只有在受到攻击后,研究人员蔡可以对代码进行漏洞扫描,以确保没有遗漏任何东西。目前有许多免费和付费资源可以执行此操作,以寻找这些特定类型的攻击或可能容易受到此类攻击的领域。

Web应用程序过滤工具也提供了一些保护,当服务器检测到攻击的有效载荷时,就是检测正在进行中的攻击的良好机制。Web应用程序过滤器将寻找具有特定上下文的请求,这些请求反映了XSS攻击。这可以归结为异常检测,研究人员也可以通过一个集成了检测威胁的日志产品来实现。

不过,专家表示,总体而言,防御XSS攻击的最佳方法是预防而不是检测。

跨站脚本预防技巧

确保你的浏览器已打补丁,确保你在完成所做的工作后退出站点。这确保了cookie不再有效,请谨慎考虑您访问的网站。另一个好的策略是使用多个浏览器:将一个用于受信任的站点,将另一个用于不受信任的站点。

从较高的层次上来说,可以考虑其开发流程,构建安全措施来保护应用程序和网站免受此类攻击。XSS很容易被预防,但是如果没有安全原则作为开发设计的基础,那么事后使用安全保护措施时,它就会被忽略。

最简单的方法是安装过滤器,当用户添加输入时,使其合理,比如电话号码应该是电话号码,日期应该是日期,而不是一段Java脚本。请确保如果你的应用程序要求输入名字,那么该名字就不应是活动内容,并在将其显示给用户之前对其进行编码。这样,攻击者就无法利用纯文本发起攻击了。不过这么高级的方法在很大程度上取决于开发人员的技能水平。

本文翻译自:

https://fedtechmagazine.com/article/2020/10/cross-site-scripting-attacks-how-prevent-xss-vulnerabilities-perfcon

 

来源:嘶吼网内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯