文章目录

Joomla! XSS过滤规则

基于CVE-2017-7985&7986,利用方式参考这里,payload很有意思

1
2
3
1.<form /><button formaction="javascript&colon;alert(1)">heihei</button>
2.style="background:url()'">&colon;
<img src=x onerror=alert(1) x=<a href="test">test</a>

看看它的过滤规则:
1.过滤属性值—>转义属性值引号间的< > “三个符号。
image
2.去除/**/,把类似“:expression(”的”:expression”全去掉
3.去掉所有匹配>的多余的<,比如<<<<> ——> <>
4.<>没闭合,就取最后一个<后的内容,前面都忽略
5.如果标签嵌套如<<>>,迭代取到最里面的标签判断
6.取出标签名,不是数字字母组成舍弃,没有标签名舍弃,在黑名单舍弃
image
image

7.根据空格定界属性和属性值,根据=号分割属性和属性值。如果之后没有=号,就把属性值一直取到/处。属性值被引号包围,就把它从引号中取出来,否则就取到下一个括号的地方。
image
8.过滤属性及属性值。多个属性值取最后一个。去除属性值空格、实体编码值、\n\r、双引号、反斜杠。
image
image

就这样joomla!都被搞了,继续学习吧~

文章目录