1.这题的界面跟上一题差不多,都是有两处疑似xss插入点
查看源码,两处都使用htmlspecialchars()函数特殊符号转为了html实体,也就是说我们没办法进行闭合标签,插入javascript代码。
2.那这怎么绕过呢?其实htmlspecialchars()默认是不编码单引号的,那我们既然没法闭合标签,就在标签内部进行一个添加属性,使其弹窗
payload:
' onfocus=javascript:alert('XSS') '
当我们提交的时候,发现搜索框内没东西,查看源码,我们的恶意代码已经插进去了,但是此时并没有执行弹窗,因为我们使用的是 onfocus事件。
当我点击搜索框时,事件就会触发,执行onfocus后面的事件,也就是 javascript:alert('XSS'),弹出一个窗显示 XSS,虽然我们没有使用<script>这个JavaScript标签,但是他们的执行效果是一样的。
[…] xss-labs level 3 […]
1
1
1