太懒了,就没有自己搭环境,就在BUU上直接开搞。

进去juice-shop后提示让我们找到score board。然后说了可以使用f12寻找也可以采用url guess的方式。

直接url guess吧。/score-board好的,进去了然后就看到不同星级也就是不同难度的题目:

1

第一个,我照着它说的做了,但我因为XSS碰的少不是很理解。

我是先尝试输入了一个1,然后在源代码中找到了这个1的包围标签如下:

<div _ngcontent-uex-c160="" class="ng-star-inserted"><span _ngcontent-uex-c160="">Search Results - </span><span _ngcontent-uex-c160="" id="searchValue">1</span></div>

可以看到我们输入的1被包含在了span标签中,我直接尝试闭合前面的div以及后门的span并在中间插入script但发现无法解析。我个人理解的是标签的等级不一样,比如有一些标签是一些子标签。也就是说script标签等级过高导致在span下可能是不解析。因而我们需要寻找一个在span下可以解析的标签触发dom xss.

payload:

<iframe width="100%" height="166" scrolling="no" frameborder="no" allow="autoplay" src="https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/771984076&color=%23ff5500&auto_play=true&hide_related=false&show_comments=true&show_user=true&show_reposts=false&show_teaser=true"></iframe>

这里第一次学习到使用其它方式触发XSS,以前只会使用alert来检验。

搜索了很多关于子标签的内容但无所收获。先补充一下自己的dom xss知识点。