什么是跨站脚本攻击?
跨站脚本攻击包括恶意参与者通过网站插入秘密代码来针对受害者,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攻击很难被检测到,因为浏览器无法区分合法和非法行为。