草庐IT

8.XSS和CSRF漏洞

全部标签

如果数据已经使用 PHP 进行了清理,javascript XSS 清理

更新:我还是一如既往的困惑。有人可以回复我最后的评论吗?如果我的所有数据(本例中的+title1+和+title2+--见下文)都使用PHP进行了清理,我还需要担心javascript吗?我担心我在下面的代码中使用了title='"+title2+"'(我担心撇号)。html\javascript:functionupdate(){$.ajax({url:'update.php',//phpdata:"",dataType:'json',success:function(data){//onreceiveofreplyvartitle1=data[0];vartitle2=data[1

javascript - Symfony 3 - CSRF token 仅在使用 AJAX 提交时无效

环顾四周,我找不到解决这个问题的方法。只有在通过Ajax提交时,我才会收到以下错误。这意味着我事先已经以常规的Symfony方式提交了表单,没有任何问题。TheCSRFtokenisinvalid.Pleasetrytoresubmittheform.什么有效:常规表单提交,即不使用Ajax我使用Ajax检查$_POST是否正确填充,包括CSFRtoken,就在Controller端提交之前,如下所示:$form->submit($request->request->get($form->getName('user')));根据要求,查看下面的输出var_dump($request->

php - 如何在 vue 2 app 和 laravel 中创建和匹配 CSRF token

我没有使用laravel默认提供的vue2设置。相反,我有两个单独的文件夹用于vue应用程序和laravelapi后端。vue应用程序在laravel项目文件夹之外。在这种情况下,我该如何实现CSRF呢?这就是我想做的事情,请告诉我这是否可以正常工作,或者有更多更好的方法来做..1.在vueapp中设置一个带有一些随机长字符串的cookie。2.在每个api调用中,确保正在发送cookie。3.在laravel后端,从请求中获取此token。4.从cookie本身获取token。5.匹配两个cookie,如果匹配则假定CSRF有效..提前致谢.. 最佳答案

php - 如何定位具体的XSS漏洞?

最近我发现了一些奇怪的东西。在我网站上的每个公共(public)JavaScript文件中,每个文件的末尾都添加了重定向脚本。我可以访问access.logs和所有这些东西。如何定位这个东西是通过什么方式插入的?他们是如何获得对我所有JavaScript文件的写入权限的? 最佳答案 由于您的JavaScript文件已更改,我认为这不是XSS漏洞。我认为他们已经入侵了您的网络服务器,也许您的网络应用程序存在一些上传漏洞,或者您的网络服务器存在一些0-day漏洞。有很多方法可以做到这一点。检查您的网络服务器的文件系统,JavaScrip

php - 在 CodeIgniter 中启用 CSRF 为 TRUE

这个问题不太可能帮助任何future的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况有关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visitthehelpcenter.关闭10年前。刚刚读到CodeIgniter2.x具有内置的CSRF保护。现在阅读文档后,我没有发现任何与CSRF相关的内容,只是将其设置为TRUE的选项。在config.php文件就是这样。但是,在我的系统中我不使用这个form_helper它自动合并了CodeIgniter的CSRF保护,而不是我有原生的的HTML。我担心的是我是否需要做任何事情来实现CodeIg

php - Symfony2 易受 XSS 攻击

我正在使用Symfony2witchSenchaExtJS作为前端。我发现我的表单容易受到XSS攻击。我知道,Symfony2有一些机制可以保护我们的数据免受这种攻击,但是这种机制主要使用我不使用的模板。我正在从前端字段收集大量数据,这些数据会传递到后端。我希望尽可能少地解决这个问题。我的目标是在数据进入数据库之前保护我的应用程序。我有两个选择。首先是在lifecycleeventlisteners上添加strip_tag函数,监听preFlush数据。其次是在选定的易受攻击字段的实体级别添加strip_tags。这两种选择在我看来都不够,因为代码量很大。在Sencha前端添加一些代码

php - 调用 MediaWiki-API 时,我只得到 '+\' 作为 csrf-token

我可以使用简单标记“+\”进行编辑,但使用这个简单标记,我只能以未注册IP的身份进行编辑,而不能以注册用户的身份进行编辑。有人可以帮助我吗?我的PHP代码:$parameters=array('action'=>'query','meta'=>'tokens','format'=>'json');$options=array('http'=>array('header'=>"Content-type:application/x-www-form-urlencoded\r\n",'method'=>'POST','content'=>http_build_query($parameter

php - 在仍然允许 html 的情况下删除 XSS 攻击?

好吧,现在我进退两难了,我需要允许用户插入原始HTML,但也阻止所有JS-不仅仅是脚本标签,还有href等。目前,我所知道的是htmlspecialchars($string,ENT_QUOTES,'UTF-8');但这也会将有效标签转换为编码字符。如果我使用striptags,它也不起作用,因为它删除标签!(我知道你可以允许标签,但问题是如果我允许任何标签,例如,人们可以向它添加恶意JS。我能做些什么来允许html标签但没有XSS注入(inject)吗?我计划了一个功能:xss()并用它设置我网站的模板。它返回转义的字符串。(我只需要帮助转义:))谢谢!

php - Symfony2 - 过载注册表导致 CSRF 错误(添加了 github repo)

我目前正在重载SonataUser注册表格,以便在人们创建帐户时我可以拥有自己的自定义表格。我已经正确地重载了​​所有内容(处理程序、表单类型、Controller和Twig模板)。但是,当我发送表单时,我只取回数据并且没有创建新用户。因此,我进行了调查,发现当我回应这个时var_dump($this->form->getErrors());我收到一条错误消息,指出CSRFtoken无效。我正在使用Symfony2.4.2和sonatauser2.2.x-dev。我将向您展示我重载的所有类。现在,他们大多是从他们的parent那里复制和粘贴的。这是我的表单处理程序**Fortheful

php - Laravel 和 Dropbox WebAuth : "Missing CSRF token in session"

我正在使用Laravel5.0并尝试使用Dropbox进行授权。我松散地遵循这个例子:http://dropbox.github.io/dropbox-sdk-php/api-docs/v1.1.x/class-Dropbox.WebAuth.html当我进入/start时。我被重定向到Dropbox并单击“允许”,但是当我被重定向回/finish时,我一直在session中收到MissingCSRFtoken。有人有什么想法吗?我读过$_SESSION在Laravel中不起作用,但我不确定还有什么办法可以解决它。这是我正在使用的代码:publicfunctionstart(){$au