目录
Ma Spaghet!
输入后没有弹窗
问题出在innerhtml,查询
优化建议使用innerTEXT
Jefff
使用了innertext
人话---innerText是一个用于获取或设置元素中纯文本内容的属性。与innerHTML不同,innerText只处理文本内容,不会包含任何HTML标签或子元素的标记。
标签被限制就不适用新标签,闭合
Ugandan Knuckles
替换<>
使用上个代码,结果如下,这样不识别
<input type="text" placeholder="111";alert(1137); class="form-control">
用常用的方法onclick
wey=111"%20οnclick="alert(1337); //可以执行,但不允许用户交互,不通过
使用onfocus焦点和autofocus聚焦
?wey=111"%20οnfοcus=alert(1337);%20autofocus="
Ricardo Milos
两秒后后自动提交,action可以执行js
Ah That's Hawt
替换了如上一堆符号,最先想到编码,使用location
关于location的解释
location 是 JavaScript 中的一个全局对象,代表当前页面的 URL。通过操作 location 对象,开发者可以获取或修改当前页面的 URL,从而实现页面跳转或刷新。
在这段代码中,location 被用来改变当前页面的 URL。代码试图通过将 location 设置为一个 javascript: URL 协议来执行 JavaScript 代码。
javascript
复制代码
location="javascript:alert(1337)"
这个表达式的意思是,将浏览器重定向到一个 javascript: 协议的 URL,并在其中执行 alert(1337),即弹出一个显示 "1337" 的提示框。
%2528 是 URL 编码的一部分。
% 后面的数字表示 ASCII 字符的十六进制编码。具体来说:
%25 是字符 % 的编码。
%28 是字符 ( 的编码。
在这个 URL 中,%2528 实际上表示 (%28) 的 URL 编码形式。第一次解码后,%2528 变成 %28,进一步解码后,%28 才变成 (。
也就是说,%2528 是经过两次编码的字符 (。这个双重编码的目的是为了绕过某些简单的安全过滤器,防止代码被识别和过滤。
Ligma
替换,继续编码
JSFuck - Write any JavaScript with 6 Characters: []()!+
在URL编码
Mafia
使用Function构造函数source.tolowercase转小写
或转30进制
第三种,location.hash截取井号后面,slice(1)从第一位开始截取
Ok, Boomer
DOM破坏,用a标签时href自动调用tostring方法取出当中字符串
settimeout可以把函数当做字符串放入并执行,javascript被过滤换成tel