如何防御xss脚本攻击

在上一篇文章中,解释了xss脚本攻击的原理,这一仗来讲述一下如何防御xss脚本攻击。

用户提交<script>脚本的时候,需要实现转移。

编写html脚本代码<html></html>

html中小于号:

&jt<>&>

&gt &lt;左面是大于号,右面小于号

需要将脚本转换成gt和lt

比如首先编写一个普通html并输入以下内容: 

然后将文本进行保存后更改扩展名:

--------->>>>>>>>>>>>

 点击打开html文件后显示:

 可以发现,打开的html网页中没有进行转译。

然后,我们再新建一个新的文本,将它命名为2.txt:

 这次使用gt和lt进行转译,同样保存后,更改文件扩展名为.html并点击打开html网页。

 打开网页后显示:

发现,展示的 网页源代码还是&gt; &lt; ,但是网页还是展示了大于号和小于号:

 

注意,这里就进行了转译,用户端在传递参数的时候,如何判断,当用户存的数据中含有大于号和小于号的时候进行转译,也就是使用&gt; &lt;这两个进行转译,也就是在上一篇文章中提到的一个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=

&lt;script type="text/javascript"&gt;

        windows.location.href = "http://www.matikt.com

&lt;/script&gt;

转译后进行浏览器运行,运行后在html中打开网页效果如下:

 总结一下这一篇文章的内容:

用户提交<script>脚本后,对特殊html字符进行转译,比如使用&gt;&lt;转译大于号和小于号。

好了,今天分享到这里。

同步关注github:uqcharles.Github.io

喜欢的点赞关注,转载请说明来源。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值