草庐IT

8.XSS和CSRF漏洞

全部标签

PHP CSRF 表单 token + 验证建议

我有一个提交表单,有9个字段,其中6个需要验证,包括一个带有文件大小和文件类型验证的上传字段。生成随机token以防止CSRF是有效的,但是使用token时验证的正确方法是什么?如果我在同一个文件中进行验证,则token会随着验证重新加载而重新生成。(这可以避免吗?我试过isset()但仍然会重新生成。)但是使用相同的文件会阻止用户姓名和电子邮件存储在session中。是否最好在一个单独的文件中进行验证,然后将每个错误重定向回在URL中包含基本变量的表单,即http://www.example.com/form?n=1使用单独的文件也意味着将表单数据存储在session中,因此如果重定

php - 防止 CSRF 漏洞,CSRF Token 的替代方法

防止CSRF的常用方法是使用隐藏在表单中的token。出于好奇,这是真正防止CSRF的唯一方法吗?人们争论不需要CSRFtoken让我发疯,我需要理解为什么。我还能如何防止CSRF攻击? 最佳答案 实际上使用CSRFtoken只是另一层防御。根据OWASPCross-SiteRequestForgery(CSRF)PreventionCheatSheet,验证请求来源也可以用于CSRF保护。为了验证我们可以使用的来源,源标题Originheader包括发起请求的方案、主机和端口的信息。引荐headerRefererheader包含上

confluence的几个高危漏洞复现

序言本次复现涉及了好几个confluence的相关漏洞,从复现利用到提权,有兴趣的可以自行搭建环境测试。1.CVE-2021-26084ConfluenceOGNL注入漏洞1.1漏洞描述在某些情况下,远程攻击者在经过身份验证或在特定环境下未经身份验证的情况下,通过构造恶意数据执行OGNL表达式进行注入攻击,实现在ConfluenceServer或DataCenter上执行任意代码,最终控制服务器。1.2漏洞版本ConfluenceServer&ConfluenceDataCenter1.3漏洞复现一般情况下,confluence会在登录页直接显示当前版本,所以我们可以访问url/login.a

php - 通过 Yii2 中的链接使用 AJAX 提交时的 CSRF 问题

我正在使用Yii2并且一直在使用通过AJAX执行POST的链接来检索一些数据并且它一直工作正常;但是我注意到,如果我从页面中删除一个表单,它就不再有效,并且出于某种原因不会在标题中发送CSRFtoken。我在页面上还有几个隐藏表单,它们在两种情况下都存在。下面是两种情况的总结:工作情况:页面上的所有CSRF都是相同-名为csrf-token的meta标记,页面上的主要表单以及所有隐藏的表单,它们都使用相同的CSRFtoken,这与请求的header中发送的token相同。...现在我更改场景以便生成非工作版本。不工作的情况:在这种情况下页面上没有主窗体。名为csrf-token的met

Pikachu靶场之XSS漏洞详解

Pikachu靶场之XSS漏洞详解前言XSS漏洞简述第1关反射型xss(get)第2关反射性xss(post)第3关存储型xss第4关DOM型xss第5关DOM型xss-x第6关xss盲打第7关xss之过滤第8关xss之htmlspecialchars第9关xss之href输出第10关xss之js输出前言本篇文章用于巩固对自己xss漏洞的学习总结,其中部分内容借鉴了以下博客。链接:pikachuXSSCross-SiteScripting皮卡丘漏洞平台通关系列链接:Pikachu靶场:DOM型XSS以及DOM型XSS-XXSS漏洞简述攻击原理跨站脚本攻击是指恶意攻击者往Web页面里插入恶意Sc

javascript - 使用 CSRF 保护同时发出多个 AJAX 请求

大家好。我的Web应用程序基于异步请求。计时器小部件正在运行并通过AJAX每秒更新一次它的状态(是的,这是必要的)。我用每个AJAX发送我的CSRFtoken:project_data.append(csrf_name_key,csrf_name_value);project_data.append(csrf_value_key,csrf_value_value);作为回应,我更新了全局变量:functionsetCSRF(response){csrf_name_key=response.nameKey;csrf_name_value=response.name;csrf_value_

php - CSRF token 和 XSS 漏洞

假设我们在表单中使用了CSRFtoken,但碰巧我们的网站上存在一个未被注意到的XSS漏洞。据我所知,CSRFtoken保护在这种情况下完全无效,因为攻击者可以通过XSS使用XMLHttpRequest检索它。在这种情况下,有没有一种方法可以让CSRF保护在攻击中幸存下来,或者我们的网站是否应该在执行任何CSRF之王之前首先拥有安全的反XSS保护?在每次页面请求时设置一个新token而不是在登录时设置token是否可以解决这个问题?这带来了一次打开更多表单的问题,我不喜欢它。 最佳答案 您的站点应该关闭您发现的所有XSS漏洞,否则C

php - 设置配置项 (csrf) 在 Codeigniter 中不起作用

我只想在我的几个Controller中打开csrf保护,所以我有function__construct(){parent::__construct();$this->load->library('form_validation');$this->load->library('tank_auth');$this->load->helper(array('form','url'));$this->load->model('user_model','',true);$this->config->set_item('csrf_protection',TRUE);}但它似乎不起作用,尽管当我在页

php - 测试 Web 应用程序的安全漏洞

很多公司使用定期更新的CMS软件,通常是安全补丁,意味着之前的版本存在安全漏洞。但大多数客户从不升级它,甚至CMS已被修改,因此更新会破坏站点。是否有网站记录这些漏洞并指导如何测试它们?或者这些信息甚至都没有发布?(为了不被人利用)还有一个通用的基于php/js的检查列表来防止黑客攻击吗?我知道SQL注入(inject)和XSS,但我确信还有更多的威胁。和平 最佳答案 例如,对所有这些漏洞进行分类的站点是安全焦点milW0rm数据包Storm安全可以在OWASP上找到Web应用程序的基本list,这是一个非常通用的list。http

java - Web 应用程序中的 CSRF 保护

我的应用程序具有由apache模块提供的CSRF保护。我的应用程序包含几个允许上传一些文件的页面,如下所示:当我们从httpd-2.2.3更新我们的apache版本时,所有的东西都工作正常到httpd-2.2.15.我用谷歌搜索了一段时间,发现问题可能与我表单中的multipart/form-data参数有关。在这种情况下,发送的表格不安全。我还发现spring可以通过MultipartFilter处理上面的内容来自spring文档http://docs.spring.io/spring-security/site/docs/3.2.0.CI-SNAPSHOT/reference/ht