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

相关文章
|
测试技术 开发者 Python
Python单元测试入门:3个核心断言方法,帮你快速定位代码bug
本文介绍Python单元测试基础,详解`unittest`框架中的三大核心断言方法:`assertEqual`验证值相等,`assertTrue`和`assertFalse`判断条件真假。通过实例演示其用法,帮助开发者自动化检测代码逻辑,提升测试效率与可靠性。
704 1
|
算法 IDE Java
Java 项目实战之实际代码实现与测试调试全过程详解
本文详细讲解了Java项目的实战开发流程,涵盖项目创建、代码实现(如计算器与汉诺塔问题)、单元测试(使用JUnit)及调试技巧(如断点调试与异常排查),帮助开发者掌握从编码到测试调试的完整技能,提升Java开发实战能力。
1082 0
|
12月前
|
安全 Java 测试技术
《深入理解Spring》单元测试——高质量代码的守护神
Spring测试框架提供全面的单元与集成测试支持,通过`@SpringBootTest`、`@WebMvcTest`等注解实现分层测试,结合Mockito、Testcontainers和Jacoco,保障代码质量,提升开发效率与系统稳定性。
|
安全 NoSQL Shell
web渗透-SSRF漏洞及discuz论坛网站测试
SSRF(服务器端请求伪造)是一种安全漏洞,攻击者可诱使服务端发起任意请求,进而探测或攻击内网系统。常用于端口扫描、访问内部服务、读取本地文件等。常见防御包括限制协议、域名和IP,但可通过302跳转、短地址等方式绕过。
617 1
web渗透-SSRF漏洞及discuz论坛网站测试
|
人工智能 边缘计算 搜索推荐
AI产品测试学习路径全解析:从业务场景到代码实践
本文深入解析AI测试的核心技能与学习路径,涵盖业务理解、模型指标计算与性能测试三大阶段,助力掌握分类、推荐系统、计算机视觉等多场景测试方法,提升AI产品质量保障能力。
|
安全 Java 测试技术
Java 项目实战中现代技术栈下代码实现与测试调试的完整流程
本文介绍基于Java 17和Spring技术栈的现代化项目开发实践。项目采用Gradle构建工具,实现模块化DDD分层架构,结合Spring WebFlux开发响应式API,并应用Record、Sealed Class等新特性。测试策略涵盖JUnit单元测试和Testcontainers集成测试,通过JFR和OpenTelemetry实现性能监控。部署阶段采用Docker容器化和Kubernetes编排,同时展示异步处理和反应式编程的性能优化。整套方案体现了现代Java开发的最佳实践,包括代码实现、测试调试
444 0
|
安全 Linux 网络安全
Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块(一)
Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块(一)
2425 2
|
Python Windows 网络安全
Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块(二)
Kali 渗透测试:基于结构化异常处理的渗透-使用Python编写渗透模块(二)
474 2
|
存储 安全 Linux
Kali Linux 2025.3 发布 (Vagrant & Nexmon) - 领先的渗透测试发行版
Kali Linux 2025.3 发布 (Vagrant & Nexmon) - 领先的渗透测试发行版
982 0