随着互联网的发展,各种WEB应用变得越来越复杂,满足了用户的需求,但各种网络安全问题也随之而来。作为前端开发行业,我们也逃不开这个问题。所以今天我就简单说一下WEB前端安全以及如何防范。
首先,前端攻击有哪些形式,如何防范?

1.XSS攻击
XSS是web应用中经常出现的一种计算机安全漏洞。它允许恶意网络用户在提供给其他用户的页面中植入代码。例如,这些代码包括HTML代码和客户端脚本。攻击者利用XSS漏洞绕过访问控制,如同源策略。这种类型的漏洞广为人知,因为它被黑客用来编写更有害的网络钓鱼攻击。
XSS袭击的危害包括:
1.盗取各种用户账号,比如机器登录账号,用户网银账号,各种管理员账号。
2.控制企业数据,包括读取、篡改、添加和删除敏感企业数据的能力。
3.从企业窃取具有商业价值的重要资料。
4.非法转让
5.强行发邮件。
6、网站挂马
7.控制受害者的机器攻击其他网站。

XSS攻击的具体表现:
1.Javascript代码注入
这是代码的页面。
这段代码的功能是将字符串从第一个输入框输出到第二个输入框。如果我们输入1,第二个输入框中的值将是1。下面是页面截图和源代码。
很明显,没有弹出对话框。你可能想知道为什么没有弹出窗口。看源代码。
我们看到我们的输入字符串被输出到第15行的input标记中的value属性,它被显示为value中的值,所以没有弹出窗口。这时候我们该怎么办?聪明的人发现它可以显示在
在前面加一个">来关闭输入标签。所以结果应该是
弹出窗口成功。我们此刻正在看这一页。
请参见第二个输入输入框,后跟">字符串。这是为什么呢?让我们来看看源代码。

解决方法:目前最简单的防范方法就是对前端输出数据进行转义,这是最安全的方法。虽然是用脚本标签显示的,但实际上脚本标签的左右尖括号是作为html字符实体转义的,所以不会被解释为标签,但在实际显示中,这两个尖括号还是可以正常显示的。
2.追加的使用
上一节我们阻止了script标签的左右尖括号,但是聪明的黑客还是想出了破解的好办法。我们知道直接给innerHTML分配一个js是不能执行的。举个例子,
$.innerHTML =“”;
但是jquery的append是可以做到的,原因是jQuery会在append元素变成fragment的时候找到script标签,然后用eval再执行一次。jquery的append也用在innerHTML中。innerHTML会将unicode代码转换成字符实体。
利用这两种知识结合,我们可以得出,网站使用append进行dom操作,如果是append我们可以决定的字段,那么我们可以将左右尖括号,使用unicode码伪装起来,就像这样--"u003cscriptu003ealert;"。接下来转义的时候,伪装成u003的


