Bjo*_*orn 3 html javascript security xss cross-domain
我希望用户能够在例如域example1.com上的应用程序内提交和呈现不受信任的HTML。为了防止恶意XSS捕获用户的Cookie,其想法是在使用不同域的iframe中打开HTML,例如example2.com。但是,要查看此HTML,必须在example1.com上登录用户。仅当用户在example1.com上登录并通过身份验证时,才如何仅在example2.com的iframe中呈现HTML?
我在想,也许使用了通过postMessage传递的秘密,该秘密发布了一个表单来呈现HTML,而无需设置cookie。每当我想通过JavaScript更新iframe的内容时,我只需重新创建iframe,然后再次传递密码,然后再次发布表单以呈现不受信任的HTML。恶意JavaScript无法访问该机密,因为该机密仅在发布表单的上一页中存在。这将是一个好的解决方案,还是有更好的选择?
每次用户登录example1.com时,您都会为其创建令牌。
要调用iframe内容,请使用例如example2.com/view.php?page=1&token=dsjahdjkhjh331
因此,恶意脚本只能获取令牌,而不能获取cookie。而且,如果您为令牌创建“指纹”,例如用请求地址(IP)+浏览器代理来吸引用户,则窃取令牌就像窃取随机字符串一样。