环境准备
测试
打开靶场找到该页面
先右键检查输入框属性
还是和之前一样的,所以直接输入 HTML 标签提交
<h1>morant</h1>
发现没有做过滤和防护,确认存在
输入 JavaScript 代码提交并观察
只输出 >,猜测其他内容都被过滤了再试试大小写混淆
发现结果都一样
分析
后端过滤了关键字 script 和特殊符号,大小写混淆绕过不了防护,相反,HTML 标签并没有做过滤,于是咱们可以使用 HTML 标签来攻击
<body οnlοad="alert('关注博主');">
<body>: 这是HTML文档中的body标签,表示页面的主体部分。 onload="alert('关注博主');": 这是<body>标签的onload事件属性。当页面加载完成时,会执行其中的JavaScript代码,即alert('关注博主');。这段JavaScript代码会显示一个弹出框,内容为"关注博主"。
成功
当然,这里还可以利用别的标签特性来也是可以的
<img src = 1 onerror = alert("关注博主")>