在没有任何验证的情况下使用window.location.href是否安全?例如:varvalue=window.location.href;alert(value);从上面的例子来看,它是否容易受到跨站脚本(XSS)攻击?如果是,那又如何呢?攻击者如何将window.location.href的值修改为恶意内容?编辑(第二种情况)这是网址:www.example.com?url=www.attack.com假设我有一个getQueryString()函数,它会在未经验证的情况下返回值。varvalue=getQueryString('url');window.location.hre
我确定这个问题的答案是否定的,但我似乎无法找到一种简单地转换的方法。和>至<和>不会完全阻止反射型和持久型XSS。我不是在谈论CSRF。如果这不能阻止XSS,您能否举例说明如何绕过此防御措施? 最佳答案 并非所有XSS攻击都包含,具体取决于插入数据的位置。https://www.owasp.org/index.php/XSS_(Cross_Site_Scripting)_Prevention_Cheat_Sheet#Why_Can.27t_I_Just_HTML_Entity_Encode_Untrusted_Data.
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。换句话说,现在最常用的净化输入和/或输出的技术是什么?工业(甚至只是个人使用)网站的人们使用什么来解决这个问题?
虽然将CSP用于稍微不同的目的(沙盒),但我意识到一个非常简单的自动点击链接似乎可以绕过甚至相对严格的CSP。我所描述的是以下内容:内容安全政策:default-src'none';script-src'unsafe-inline';和body:testdocument.querySelector("a").click();显然,在真正的攻击中,您会将cookie信息包含到href中首先字段,并可能将其包装在隐藏的自嵌入iframe中,或者使域将您重定向回您来自的位置(可能使用其他url参数,从而创建一种绕过connect-src的XMLHttpRequest),但这个基本示例确实显示
我想知道是否检查并删除"来自文本输入字段是否足以阻止JavaScript代码注入(inject)攻击? 最佳答案 不,仅仅阻止特定案例是不够的-迟早会有人想出一个你没有想到的人为案例。查看此listofXSSattacks对于最常见的(可能存在其他更奇特的)。您需要将允许的语法列入白名单,而不是假设除了已知向量之外的所有内容都应该没问题。 关于javascript-XSS预防。处理<script就足够了吗?,我们在StackOverflow上找到一个类似的问题:
是否可以将Content-Security-Policy配置为完全不阻止任何内容?我正在上一门计算机安全类(class),我们的网络黑客项目在较新版本的Chrome上遇到了问题,因为没有任何CSPheader,它会自动阻止某些XSS攻击。 最佳答案 对于仍然想要更宽松帖子的人,因为其他答案不够宽松,他们必须使用*还不够的谷歌浏览器:default-src*data:blob:filesystem:about:ws:wss:'unsafe-inline''unsafe-eval''unsafe-dynamic';script-src*
来自hi.baidu.com/monyer/blog/item/d0f5d8b48fc442758bd4b2a4.htmlChar192isnotavailable0xC0isoneofthe32firstbytesof2-bytesequences(0xC0-0xDF)inUTF-8.SowhenIEparsestheabovecode,itwillconsider0xC0andthefollowingquoteasasequence,andthereforethesetwopairsofFONTelementswillbecomeonewith"xyz[0xC0]">notasth
首先,我很尴尬,我不知道这一点。我知道这些东西有效,但不确定为什么。关于CDN和诸如GoogleAnalytics或Adsense之类的东西,我仍然有一些不明白的地方。如果这些脚本来自您网站域以外的域,这如何与sameoriginpolicy联系起来?(SOP)和cross-sitescripting(跨站脚本)?根据我对XSS和SOP的了解,这些脚本不应该能够在您的站点中运行或与DOM交互。怎么给他们特权?这些特殊权限与其他因XSS和SOP导致浏览器错误的外部脚本有何区别?简而言之,我想知道为什么允许来自另一个域的脚本运行、交互和操纵我的网站? 最佳答案
继我询问构建自定义cms时转义内容的问题之后,我想了解不从数据库中转义内容有多危险-假设数据在插入数据库之前已经过过滤/验证。我知道转义输出是最佳做法,但我不确定将值“注入(inject)”到要显示的页面内容中有多容易,甚至可能。例如,假设使用简单的echo语句显示带有HTML标记的内容:hello无可否认,就内容写作而言,它不会赢得任何奖项;)我的问题是,假设在数据库插入之前进行了过滤/验证,有人可以出于恶意目的更改它吗? 最佳答案 始终为适当的上下文转义;无论是JSON还是XML/HTML还是CSV还是SQL(尽管您应该为SQL
我有这样的php代码'/>我正在使用htmlentities来防止XSS攻击,但我仍然容易受到上述字符串的攻击。为什么我的代码容易受到XSS攻击?如何保护我的代码免受它的影响? 最佳答案 您并没有告诉PHP也转义引号,您应该改用htmlspecialchars():'/>Demo 关于php-为什么我的代码容易受到xss攻击?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/158