在上一篇文章中,解释了xss脚本攻击的原理,这一仗来讲述一下如何防御xss脚本攻击。
用户提交<script>脚本的时候,需要实现转移。
编写html脚本代码<html></html>
html中小于号:
&jt<>&>
> <左面是大于号,右面小于号
需要将脚本转换成gt和lt
比如首先编写一个普通html并输入以下内容:
然后将文本进行保存后更改扩展名:
--------->>>>>>>>>>>>
点击打开html文件后显示:
可以发现,打开的html网页中没有进行转译。
然后,我们再新建一个新的文本,将它命名为2.txt:
这次使用gt和lt进行转译,同样保存后,更改文件扩展名为.html并点击打开html网页。
打开网页后显示:
发现,展示的 网页源代码还是> < ,但是网页还是展示了大于号和小于号:
注意,这里就进行了转译,用户端在传递参数的时候,如何判断,当用户存的数据中含有大于号和小于号的时候进行转译,也就是使用> <这两个进行转译,也就是在上一篇文章中提到的一个xss脚本:
http://www.mayikt.com/getUserInfo?userName=
<script type="text/javascript">
windows.location.href = "http://www.matikt.com
</script>
更改后代码如下:
http://www.mayikt.com/getUserInfo?userName=
<script type="text/javascript">
windows.location.href = "http://www.matikt.com
</script>
转译后进行浏览器运行,运行后在html中打开网页效果如下:
总结一下这一篇文章的内容:
用户提交<script>脚本后,对特殊html字符进行转译,比如使用><转译大于号和小于号。
好了,今天分享到这里。
同步关注github:uqcharles.Github.io
喜欢的点赞关注,转载请说明来源。