什么是XSS?

跨站脚本攻击(Cross Site Scripting),为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。恶意攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被执行,从而达到恶意攻击用户的目的。

网络安全是每个程序猿不得不考虑的,初学者往往忽略了其重要性(比如我),为了避免造成较大的经济损失和不必要的人力物力,网络安全就应当成为程序员首要考虑的问题。可有道是道高一尺,魔高一丈,唯有不断学习,才能更有效的维护代码,实现代码的价值。

XSS分为:存储型和反射型(持久化、非持久化)

存储型XSS:存储型XSS,持久化,代码是存储在服务器中的,如在个人信息或发表文章等地方,加入代码,如果没有过滤或过滤不严,那么这些代码将储存到服务器中,用户访问该页面的时候触发代码执行。这种XSS比较危险,容易造成蠕虫,盗窃cookie(虽然还有种DOM型XSS,但是也还是包括在存储型XSS内)。

反射型XSS:非持久化,需要欺骗用户自己去点击链接才能触发XSS代码(服务器中没有这样的页面和内容),一般容易出现在搜索页面。

作为小白,你可能听不懂这些弯弯绕,那么通俗来讲,持久型XSS攻击就是把攻击数据存进数据库,攻击行为就伴随着攻击数据一直存在。非持久型XSS攻击是一次性的,仅对当次的页面访问产生影响。非持久型xss攻击要求用户访问一个被攻击者篡改后的链接,用户访问该链接时,被植入的攻击脚本被用户游览器执行,而反射的xss 因为url特征更加容易被防御。

知己知彼方能百战不殆

知道如何攻击才能思考如何防御,通常浏览器会过滤功能,比如使用Chrome浏览器打开一个带输入框的网页时,在输入框内输入

1
<script>alert(1)</script>

你就会看到效果。(一般很难找到这样的网页,自己写一个吧……)

低耦合高内聚(严于律己,宽以待人)

用正则

最后更新: 2018年01月22日 10:16

× 感谢支持
打赏二维码