• 【已解决】ERR_BLOCKED_BY_XSS_AUDITOR:Chrome 在此网页上检测到了异常代码:解决办法


    工作中,用Selenium自动化填表并获取结果时,程序一直安静的读取数据库,网页填表,获取结果,存库,但跑着跑着突然报错了。

    排查后,原来不是Selenium的问题,是数据比较特殊,带了个双引号,如下

    填表后提交时,触发了Chrome XSS自动过滤器  xssAuditor,导致POST请求拦截。(文尾会延伸:Chrome xssAuditor的工作原理

    Chrome提示如下错误:

     

    然后查了下解决办法,能否关闭 xssAuditor,非WIN10下个人认为最好的解决办法如下:

     https://www.cnblogs.com/SKTone/p/8331763.html

    WIN10没法按此办法解决,只能放弃Chrome浏览器 ,声明浏览器改火狐(browser = webdriver.Firefox(,换用火狐后,它没有自动过滤的情况 【成功解决】

     

     延伸部分:

    Chrome xssAuditor的工作原理

    chrome的xss检测名称为 xssAuditor  整合到webkit当中,chrome这么做的原因是因为过滤器可以在脚本执行之前就可以拦截,而且任何使用webkit都可以使用这些规则

     

    当加载网页时,xssAuditor会在渲染的之前评估用户的输入数据:

     

    1.检查用户输入是否包含恶意内容,如果存在进行拦截

     

    2.xssAuditor检测用户是否会反射到渲染的页面中(html实体/html熟悉/javascript/css/url)

     

    3.评估输入上下文是否合法,非法进行过滤

     

     

     

    chrome的检测机理和ie还有很大的区别是,chrome是在此法解析阶段进行的,讲html解析不同的token(类似php vld opcode),xssAuditor会逐一扫描检测token,

     

    如果token中发现危险的属性和URL进行比较,如果URL中也存在同样的数据,xssAuditor则会认为这是一个反射XSS。

     

    demo:

     

    解析器解析<iframe src="x" onerror="alert(1)"></iframe>

     

    1.依次检查标签iframe是否包含恶意属性,src/onerror

     

    2.如果src不是以javascript:开头,则安全,放行

     

    3.onerror中含有脚本,检查URL是否包含

     

    4.如果出现在URL中,认为存在安全问题,将过滤 <iframe src="x" onerror="void(0)"></iframe>

     

    5.中止iframe标签检查

  • 相关阅读:
    vue 组件复用不刷新
    ES6删除对象中的某个元素
    UI组件--element-ui--Table组件自定义合计行
    UI组件--element-ui合计行在横向滚动条下面的解决方法
    java笔记 -- 数组
    java笔记 -- 输入输出
    java笔记 -- java字符串
    java笔记 -- 数学函数与常量
    java笔记 -- java运算
    java笔记 -- java变量与常量的声明
  • 原文地址:https://www.cnblogs.com/liangmingshen/p/10599469.html
Copyright © 2020-2023  润新知