由“最近访客”引起的xss血案

最近在首页粗糙地做了一个“最近访客”功能。

然后我的首页就出现了各种有趣的家伙:

还有:

作为一名专业的前端,我居然被xss攻击了。 
在首页弹这个框,我真是:


原因

在拼接“最近访客”的时候,我没有对多说返回的字段进行处理。

不是不知道会有XSS问题,而是没有重视起来; 我可不想经受惨痛的教训,才去牢记于心。


解决办法

对特别有存在安全隐患的地方,写了个函数进行过滤。 
这里,我用的是js-xss。里面有太多我没有见过的xss情况,比我自己考虑的肯定要多。


遇见过的常见出现XSS场景

  1. 接口返回的数据

    就像我这次遇见的xss,是多说接口返回的,数值是可以用户自己定义。以后在接口返回的数据我应该多做一层xss处理。这是最最常见的场景了。比如弹幕里面用户的留言,比如评论展示等等,太多地方了。

  2. 外部链接

    特别是引用外部网站的库,比如js文件等。外部恶意用户可以对其更改。

第一个是我最最常见的,一定要留心起来。


举个特例的XSS

本来是想自己写一个函数,简单的对<\>/<script></script>&!|等过滤下。但突然想起一个比较特殊的例子:

几年前,很流行用- []()!+这几个符号就组成javascript语句,叫jsfuck。它就可以避免这个简单的过滤。就像我在console里这样输出:

想必黑客们一定会有更多牛逼的方法。 
特别是在JS越来越牛逼的今日。 
最保险的还是createElement然后append,对于有XSS隐患的重要页面一定要这么做。



特写此文章,好好防XSS,不可忽视的隐患。 
特别特别特别是工作上的,有引起大大大危害的潜在。

时间: 2024-09-19 20:34:41

由“最近访客”引起的xss血案的相关文章

为什么你的网站98%的访客都流失了?

我经常听到人们问:"我的站点有2%的客户转化率,这好吗?"他们应该问的是"为什么其他98%来访我站点的人不会转化成客户呢?" 知道这个问题的答案会告诉你你是否会变得更好,你如何变得更好.然后你就可以把时间花在"变得更好"这一部分上,而忘记其他公司的转化率是多少了. 这就是我们建立KISSinsights的主要原因--让我们和我们的顾客提供可以问"为什么"的问题的途径,而这些问题对分析学来说是一个强大的补充. 你或许不知道你站点

初学黑客:php获取服务器路径及访客信息

<?php echo "php获取当前url<br/>"; $url =  "http://".$_SERVER ['HTTP_HOST'].$_SERVER['PHP_SELF']; echo $url; ?> <br/>以下代码是:php获取网站根目录<br/> <?php $PHP_SELF=$_SERVER['PHP_SELF']; $url='http://'.$_SERVER['HTTP_HOST']

14个免费访客行为分析工具 帮你分析你的网站

为什么你网站的访客不断的离开,甚至有些永远都不再回来!本文介绍的14个免费访客行为分析工具将帮助你: 1. 了解你的访客需求 2. 提升用户体验 3. 提高网站可用性 4. 留住更多的回头客 5. 提高销售的成功率 关于网站设计有一个很大问题: 如果你想让你网站的访客更好的转换为你的客户(或者忠实读者),你需要理解这一点,为什么大多数的访问者不再返回你的网站! 但是这些来来去去的访客没有留下他们的足迹!你怎么能知道他们到底需要一些什么呢?如何才能知道什么才能让他们采取行动,购买或者订阅你的产品或

代码写给搜索 内容面向访客

许多个人站长在建设网站的时候都很迷惑,到底什么样的网站既适合访客又利于搜索呢?大家一直在寻找着这样的平衡点. 在这里我想说的题目就是这样的平衡点:代码写给搜索,内容面向访客. 站长在自己做网站或者借用别的网站模板的时候,应该选择可编辑性较大的模板,能够随心所欲的处理访客看到的内容和搜索引擎抓取的内容,每个页面都要充分做到这样的和谐统一,让访客看的喜欢,让搜索引擎对你的页面有好感. 就拿一个网站首页来说,首页可以说是网站最重要的地方,搜索引擎抓取最主要的也是首页. 个人认为,首页有3个地方最需要注

四种创意方式帮助你的网站吸引到对味的访客

文章描述:四步为你的网站吸引更多的访客. Illustration: Oscar Ramos Orozco "我该如何让自己的网站吸引更多的访客?" 这是我从客户那儿听到的最常见的问题,他们总是为了自己的网站缺乏吸引力而沮丧. 通常来说,这并不是网站本身的问题.不得不承认,即使经过专业的设计,将内容华丽的组合排序,但在一望无际的互联网世界中,它只是一个不起眼的小角色,坐落于一隅,很容易被忽略. 要在一个月内实现访客人数从零增长至上千并非一件易事,但具有一定的可行性--只要你意识到互联网

从三个问题中找出什么内容才是真正满足访客需求

站点的运营过程中我们可以把站点比作是一口井,你希望养活多少人,那么你的深度就需要够深.但是如今我们可以看到很多站点在运营的过程中往往会为了seo而seo,站点仍然充斥着一些访客不感兴趣的内容,甚至是一些与主题不相关的内容,这些做法就好比是网水井中加土,既污染了水质,也让开始让自己越来越没有深度.对于站点的内容我们并不能仅仅只是局限于我是原创的.我是对搜索引擎友好的.对于我们站点的内容更应该做到满足访客的需求.如何真正提供满足访客需求的优化内容呢?笔者认为我们可以从以下三个问题中进行分析找到答案.

用PHP生成访客计数器

计数器 现在,上网的人越来越多,许多网友尝试着制作自己的主页,访客计数器是必不可少的一部分.虽然很多网站提供免费的计数器,可毕竟不是自己亲手制作的?有的朋友可能认为它很难,不敢去尝试,其实有了PHP这个工具,它并不难,甚至可以说它很容易. 首先,让我来谈一谈访客计数器的思路:一位访问者浏览此页,服务器(如Apache)从一个文档(下文以num.txt为例)中读取该页已被浏览的次数,加一,然后存回num.txt,并在浏览器中显示加一后的次数. 如果又一位访问者浏览此页,服务器又重复上述过程,从而实

学会借助访客的力量 让你的访客为你的站点添砖加瓦

对于绝大多数的草根站长来说日常的优化工作基本上都是自己来的,无论是内容还是外链都需要自己一步一个脚印的走,其中的辛酸我想作为草根站长的都能理解.然而,笔者认为再苦的媳妇总有一天也能熬成婆的,一旦当我们的站点发展到一定规模,有了一定的流量之后,我们访客便能够为我们的站点优化添砖加瓦,对于站长我们更可以发挥访客的力量,帮助我们把SEO优化工作做得更好.那么如何让访客为我们的站点优化添砖加瓦呢?下面笔者就分享自己的几点看大. 第一步:内容为王的年代让访客为内容添砖加瓦. 借助访客的力量,那就要让访客充

广捷居再度下滑 “流量交换型站点”访客黏度问题凸显

    今日,当笔者无意间来到广捷居网址导航,惊讶地发现他的流量只有以前的一半了--每天10万ip,而且是周末的统计数据,而当日ip仅仅只有寥寥的3万多.这种急剧的流量下降一般不会出现在一个老牌站点.现在广捷居出现如此大的滑坡到底是什么原因呢?    近来,众多站长乐于制作"流量交换型站点",认为这种站点是web2.0时代的比较先进流量平台模式,因为这类站点在带给别人流量的同时,也可以为自己的站点赚取可观的流量甚至是经济效益.目前这类站点的佼佼者有广捷居,乐乐搜等,但往往这类流量交换型