javascript-跨iframe跨域身份验证,无需登录
作者:互联网
我希望用户能够在域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\u0026amp;token=dsjahdjkhjh331
因此,恶意脚本只能获取令牌,而不能获取cookie.而且,如果您为令牌创建“指纹”,例如用请求地址(IP)浏览器代理来吸引用户,则窃取令牌就像窃取随机字符串一样.
标签:security,cross-domain,xss,html,javascript 来源: https://codeday.me/bug/20191030/1971726.html