渗透测试服务 针对CSRF漏洞检测与代码防御办法

简介: XSS跨站以及CSRF攻击,在目前的渗透测试,以及网站漏洞检测中 ,经常的被爆出有高危漏洞,我们SINE安全公司在对客户网站进行渗透测试时,也常有的发现客户网站以及APP存在以上的漏洞,其实CSRF以及XSS跨站很容易被发现以及利用,在收集客户网站域名,以及其他信息的时候,大体的注意一些请求操作,前端输入,get,post请求中,可否插入csrf代码,以及XSS代码。

XSS跨站以及CSRF攻击,在目前的渗透测试,以及网站漏洞检测中 ,经常的被爆出有高危漏洞,我们SINE安全公司在对客户网站进行渗透测试时,也常有的发现客户网站以及APP存在以上的漏洞,其实CSRF以及XSS跨站很容易被发现以及利用,在收集客户网站域名,以及其他信息的时候,大体的注意一些请求操作,前端输入,get,post请求中,可否插入csrf代码,以及XSS代码。


5bafa40f4bfbfbed7be9d5598c44ae33aec31f9a.jpeg


很多客户的网站都有做一些安全的过滤,都是做一些恶意参数的拦截,检测的字段也都是referer检测以及post内容检测,在http头,cookies上并没有做详细的安全校验与过滤,今天主要讲一讲如何检测csrf漏洞以及csrf防护办法,防止xss csrf的攻击。


3bf33a87e950352a28e2ab9702bb9ef7b0118ba8.jpeg


通常我们SINE安全在渗透测试客户网站是否存在csrf漏洞,首先采用点击的形式去测试漏洞,在一个网站功能上利用点击的方式绕过安全校验与拦截,从技术层面上来讲,点击的请求操作来自于信任的网站,是不会对csrf的攻击进行拦截的,也就会导致CSRF攻击。再一个检测漏洞的方式更改请求方式,比如之前网站使用的都是get提交方式去请求网站的后端,我们可以伪造参数,抓包修改post提交方式发送过去,就可以绕过网站之前的安全防护,直接执行CSRF恶意代码,漏洞产生的原因就是,网站开发者只针对了GET请求方式进行安全拦截,并没有对post的方式进行拦截,导致漏洞的发生。有些客户网站使用了token来防止XSS跨站的攻击,在设计token的时候没有考虑到空值是否可以绕过的问题,导致可以token为空,就可以直接将恶意代码传入到后端中去。还有的网站APP没有token的所属账户进行校验,导致可以利用其它账户的token进行CSRF代码攻击。


e824b899a9014c0889679c695b83670d79f4f498.jpeg


那如何防止XSS csrf攻击? 如何修复该网站漏洞


根据我们SINE安全十多年来总结下来的经验,针对XSS,csrf漏洞修复方案是:对所有的GET请求,以及POST请求里,过滤非法字符的输入。'分号过滤 --过滤 %20特殊字符过滤,单引号过滤,%百分号,<>,and过滤,tab键值等地的安全过滤。使用token对csrf的请求进行安全校验与拦截,对token的控制进行逻辑功能判断,如果发现token值为空,直接返回404错误,或者拦截该值为空的请求,还有要对token的所属账户进行校验,判断该token是否为当前账户的,如果不是就拦截掉该请求,或者返回错误页面。


使用session与token的双层安全校验,如果seeion与token值不对等,与你的加密算法不一致,就将该请求过滤拦截掉,如果两个的值与加密算出来的值相等,就是合法的请求,但是加密算法一定要隐藏掉,写入到后端,不要被逆向破解掉。对referer字段进行安全校验,检查URL是否是白名单里的,对于referer为空直接拦截掉该请求,URL的白名单要含有WWW,拒绝二级域名的请求。以上就是关于渗透测试中发现的xss csrf漏洞修复方案,如果您对网站代码不是太懂的话,不知道该如何修复漏洞,可以找专业的网站安全公司来处理解决,国内SINESAFE,绿盟,启明星辰,都是比较不错的网络安全公司,针对漏洞的修复就到这里了,安全提示:网站,APP在上线的同时,一定要对网站进行渗透测试服务,检测网站存在的漏洞,以及安全隐患,防止后期网站运行中出现一些没有必要的损失。

相关文章
|
5天前
|
安全 数据安全/隐私保护
CSRF漏洞利用工具 -- CSRFTester
CSRF漏洞利用工具 -- CSRFTester
11 0
|
5天前
|
安全 数据安全/隐私保护
31、CSRF漏洞介绍
31、CSRF漏洞介绍
15 0
|
6天前
|
安全 数据安全/隐私保护
小课堂 -- CSRF漏洞介绍
小课堂 -- CSRF漏洞介绍
8 0
|
27天前
|
测试技术
包含用例执行时间的测试报告代码
包含用例执行时间的测试报告代码
|
2月前
com串口通信测试代码
com串口通信测试代码
18 0
|
2月前
|
存储 人工智能 C#
【Unity 3D】C#中数组、集合、栈、队列、哈希表、字典的讲解(附测试代码)
【Unity 3D】C#中数组、集合、栈、队列、哈希表、字典的讲解(附测试代码)
29 0
|
11天前
|
SQL 安全 关系型数据库
接上篇文章,在测试宝塔 WAF 的未授权访问漏洞时无意间还发现了一个 SQL 注入漏洞
接上篇文章,在测试宝塔 WAF 的未授权访问漏洞时无意间还发现了一个 SQL 注入漏洞,品相还不错,可执行任意 SQL 语句。 总之,吃了一惊,一个防 SQL 注入的工具居然也有 SQL 注入漏洞。 请看这段代码
330 0
|
2月前
|
监控 前端开发 JavaScript
如何测试前端代码? 知道 BDD, TDD, Unit Test 么? 知道怎么测试你的前端工程么(mocha, sinon, jasmin, qUnit..)?
如何测试前端代码? 知道 BDD, TDD, Unit Test 么? 知道怎么测试你的前端工程么(mocha, sinon, jasmin, qUnit..)?
56 0
|
5天前
|
安全 数据安全/隐私保护
第二轮学习笔记:CSRF跨站请求伪造漏洞
第二轮学习笔记:CSRF跨站请求伪造漏洞
7 0
|
27天前
|
存储 测试技术
统计测试结果的代码实现接昨天
统计测试结果的代码实现接昨天