利用csrf上传文件的漏洞,场景比较广泛。因为上传文件需要交互,所以很多地方都没有做csrf的防御。场景合适也会引起较大的危害,比如文件分享社区上传木马之类。这里主要是用社区性质的应用场景来最为案例。因为在社区里,点击一个链接是一件非常普通的事情。攻击比较容易实现。
利用html5中的新特性,实现csrf无交互的上传任意文件。通常的用户上传文件是需要交互,利用难度较大.不过html5有一个新特性[CORS](http://www.w3.org/TR/cors),可以实现无交互的上传文件.
百度贴吧修改用户头像的请求如下:
经过测试没有防御csrf攻击。
不过百度贴吧修改头像的地址每个人都不一样。POST /sys/upload/0f1d6c697473616e64731404这里的字符串是头像文件的地址。每个用户的头像文件地址都是不变的。所以可以查看到。弊端就是只能定向修改制定用户的头像。
poc如下:
logurl需要改成对应用户的头像地址。