前两天英国的SEO老手Tom Anthony曝出一个 Google蜘蛛存在的漏洞,可能被黑帽SEO利用XSS漏洞在别人网站注入链接,而且这些链接确定会被Google蜘蛛抓取。这个漏洞如果被大规模利用,显然是会影响权重流动和搜索排名的。
什么是XSS攻击
XSS攻击是Cross Site Scripting的缩写,跨站脚本攻击的意思。按说Cross Site Scripting的缩写应该是CSS,但就和页面样式表那个CSS重复了,所以跨站脚本攻击这个改成了XSS。
XSS是一种代码注入攻击。大部分网站都会有某些功能脚本是可以任意修改URL的,比如搜索功能,UGC用户贡献内容网站的提交功能,用脚本实现的转向等等。比如搜索概念,URL经常就是domain.com/search.php?keyword,或者domain.com/?s=keyword之类的,其中的keyword是可以替换成任意字符的。
那么keyword部分被替换成脚本会发生什么?比如domain.com/?s=<script>alert(‘XSS’)</script>。有这种漏洞的网站就是在URL中注入恶意脚本时,没有进行安全过滤,而浏览器也没有分辨出是恶意脚本,所以执行了恶意脚本。
XSS可以被用来获取用户敏感信息,可以用来冒充用户向网站发出请求等等,还可以执行脚本,在生成的HTML代码中插入内容,这就是黑帽SEO可以利用来注入链接的漏洞。
怎样利用XSS漏洞在别人网站注入链接
修改URL中的参数,替换为脚本,浏览器执行脚本,在HTML中插入内容,所以也可以插入链接。当然如果只是访问用户的浏览器上显示链接,搜索引擎不抓取这个URL的话,黑帽SEO也就不感兴趣了。问题就是 Google蜘蛛可以抓取被注入脚本的URL,也可以执行JS,所以也就可以看到被注入的链接。
防止XSS攻击,一是服务器端的程序要做安全过滤,最基本的是HTML转义,把<script>alert(‘XSS’)</script>当作被搜索的字符串,而不是要执行的脚本。二是浏览器端的XSS识别,现在的很多浏览器(如Chrome)看到URL中有可疑字符如script之类的,会直接拒绝打开页面。
如果Google蜘蛛和Google自己的Chrome浏览器一样能够识别XSS攻击,带有注入脚本的URL根本不抓取,就没有事情了。但根据Google官方文件说明,到目前为止,Google蜘蛛使用的是比较老的Chrome 41版本,而Chrome 41是没有XSS识别功能的。所以,有XSS程序漏洞的网站,有可能被Google蜘蛛抓取到被注入链接的URL。
XSS攻击注入的链接有效果吗?
仅仅能索引不一定说明问题,如果如某些垃圾链接一样被Google忽略,没有链接的效果,那也不能利用来操控外部链接。为了验证这种URL上的链接是否有链接效果,Tom进一步做了实验。
Tom在Revolut域名的URL上注入一个链接,指向自己实验网站上以前不存在、刚刚创建的一个页面,提交Revolut的URL,没多久,Google就抓取了Tom自己实验网站上的新页面,而且索引了这个页面,出现在搜索结果中:
这说明,被注入的链接,至少是能起到吸引蜘蛛抓取的作用的。对权重流动和排名有没有普通链接一样的作用呢?Tom顾虑到可能会对正常搜索结果的影响而没有进一步试验了。
这里不得不说,国外很多SEO是很有情怀的。我在想,如果是国内SEO们发现这个等级的漏洞,会报告给搜索引擎补上漏洞吗?大概会把这个漏洞为己所用,运用到死吧。
本文由奶爸SEO(www.naibaseo.com)收集于网络不代表本站观点,在这条路上你并不孤单,奶爸与你始终相伴
原创文章,作者:奶爸SEO,如若转载,请注明出处:https://www.naibaseo.com/904.html