问题出在自定义主题:
选择自定义主题,抓包如下:
然后查看网页源代码,发现输出在style标签之间:
显然,css|#header|bgi=url("http://js1.pp.sohu.com.cn/ppp/blog/styles_ppp/images/custom/themesHeaderBg/1.jpg") 的输出对应#header{background-image: url("http://js1.pp.sohu.com.cn/ppp/blog/styles_ppp/images/custom/themesHeaderBg/1.jpg");} 经过测试发现这个参数是可控的。这时候当然是想到利用expression来执行javascript。但是用二哥的话说,expression不好玩。所以尝试闭合style标签。 这个点应该没有重点过滤,轻易就可以插入</style>标签。当尝试插入<script src=“”></script>的时候,发现输出进行了过滤。测试发现是过滤了
一但出现就会过滤掉=之后的内容。 可以采用编码绕过,以及http://zone.wooyun.org/content/9103 长短短大牛提供的牛逼的payload
后续测试发现这个地方没有防御csrf,
可以csrf直接插入xss代码。 这个地方可以长期存在,修改主题也不会影响。只有下次重新自定义主题之后,xss代码才会被覆盖。 不过既然有xss了。蠕虫传播起来应该也不困难。csrf只是让事情变的更简单了。
csrf测试代码:
关于cookie:sohu的cookie是一站式cookie,有效的cookie可以登录博客,微薄,相册,邮箱。也就是说一个xss操作所有这些业务点了。
蠕虫没有测试,定向测试了一下cookie的有效性。
截图如下:
关于蠕虫,这个确实没有测试,只用小号验证了下有效性。修改主题只需要post数据包到:http://blog.sohu.com/manage/style.do即可。
poc代码:
这个地方可以隐蔽传播,因为表面看不出变化来。