渗透测试服务 针对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在上线的同时,一定要对网站进行渗透测试服务,检测网站存在的漏洞,以及安全隐患,防止后期网站运行中出现一些没有必要的损失。

相关文章
|
9天前
|
JSON Dubbo 测试技术
单元测试问题之增加JCode5插件生成的测试代码的可信度如何解决
单元测试问题之增加JCode5插件生成的测试代码的可信度如何解决
35 2
单元测试问题之增加JCode5插件生成的测试代码的可信度如何解决
|
3天前
|
人工智能 API Python
Openai python调用gpt测试代码
这篇文章提供了使用OpenAI的Python库调用GPT-4模型进行聊天的测试代码示例,包括如何设置API密钥、发送消息并接收AI回复。
|
10天前
|
安全 应用服务中间件 网络安全
Python 渗透测试:漏洞的批量搜索与利用.(GlassFish 任意文件读取)
Python 渗透测试:漏洞的批量搜索与利用.(GlassFish 任意文件读取)
27 11
|
10天前
|
测试技术 开发者
软件测试的艺术:追求卓越的代码之旅
【8月更文挑战第21天】在软件工程的宇宙中,测试是一颗璀璨的星辰。它不仅确保了代码的质量,还引领开发者们走向卓越。本文将深入探讨软件测试的核心价值和实践方法,旨在为读者揭示如何通过有效的测试策略提升软件的整体性能与可靠性。从测试的基本概念到高级技巧,我们将一起探索这条充满智慧与挑战的旅程。
|
14天前
|
缓存 Java Maven
SpringCloud基于Eureka的服务治理架构搭建与测试:从服务提供者到消费者的完整流程
Spring Cloud微服务框架中的Eureka是一个用于服务发现和注册的基础组件,它基于RESTful风格,为微服务架构提供了关键的服务注册与发现功能。以下是对Eureka的详细解析和搭建举例。
|
15天前
|
自动驾驶 测试技术 持续交付
软件测试的艺术:追求卓越的代码之旅
在软件开发的海洋中,测试是那艘不可或缺的航船,它带领我们驶向质量的彼岸。本文将带你领略软件测试的重要性,探讨如何通过创造性思维和系统方法提升测试效率与效果。我们将从测试基础出发,逐步深入到高级策略,最终实现测试的艺术化,确保软件产品能在复杂多变的环境中稳健航行。
|
16天前
|
Java 测试技术
单元测试问题之想通过单元测试来驱动代码的设计与重构,如何实现
单元测试问题之想通过单元测试来驱动代码的设计与重构,如何实现
|
16天前
分享一份 .NET Core 简单的自带日志系统配置,平时做一些测试或个人代码研究,用它就可以了
分享一份 .NET Core 简单的自带日志系统配置,平时做一些测试或个人代码研究,用它就可以了
|
12月前
|
安全 Linux 测试技术
如何使用Kali Linux进行渗透测试?
如何使用Kali Linux进行渗透测试?
358 0
|
前端开发 Linux 网络安全
kali linux 网络渗透测试学习笔记(一)Nmap工具进行端口扫描
一.利用Nmap扫描网站服务器的端口开放情况首先打开我们的kali linux才做系统,再打开其命令行模式,输入:nmap www.csdn.net 如下图所示:   因此,通过这个结果可以表明csdn上的端口开放了80端口以及443端口吗,这两个端口都十分重要,因为80端口适用于给用户呈现出数据,给用户看网站用的,443端口也是一个比较重要的端口。
2285 0

热门文章

最新文章

下一篇
云函数