安全编码实践之二:跨站脚本攻击防御

声明:本文由Bypass整理并翻译,仅用于安全研究和学习之用。

文章来源:https://medium.com/bugbountywriteup/how-to-write-secure-code-b2757b59cd4b

如何编写安全代码?保护自己免受跨站点脚本攻击!

过去几个月我一直致力于安全代码实践,我一直在努力与社区讨论易于采用的方法。我们每天看到的不安全代码的数量确实令人震惊,我们都同意“预防胜于治疗”。

保持我们的代码和应用程​​序安全的最佳方法是从一开始就正确编程。编写安全代码并不困难或复杂,只需要程序员知道在哪里包含安全检查。这是几行额外代码的问题,但仅此一项就可以抵御针对您的应用程序的大量攻击。

我们来挖掘吧!

因此,这篇特别的文章“如何编写安全代码?”专注于跨站点脚本问题。

只要应用程序获取不受信任的数据并将其发送到Web浏览器而没有正确的验证和转义,就会发生跨站点脚本漏洞。XSS允许攻击者在受害者的浏览器中执行脚本,这些脚本可能会劫持用户会话,破坏网站或将用户重定向到恶意网站。

下面的代码是发生XSS攻击的示例之一,所采用的输入未经过清理,并且直接传递给参数。

String firstNameParameter =(String)
request.getParameter(“firstName”);

用户输入的值立即存储在局部变量fi​​rstNameParameter中,然后在HTTP响应中将值发送到浏览器,而不进行任何输出编码。

在本文中,我将介绍几种不同类型的攻击和方法,即您每天面临的攻击和方法以及可用于防止它们的方法: 

1.反射XSS

它一次针对一名受害者进行追踪,当恶意负载传递给受害者并且他们最终点击恶意URL并让黑客访问他们的cookie和其他数据时,可以看到它在行动中。

这里是有效载荷的示例,如果受害者执行该攻击,则攻击者可以访问其详细信息。

https://mybank.com/submitForm.do?customer= 

                    
                    

你可能感兴趣的:(安全编码实践之二:跨站脚本攻击防御)