emlog始终有个致命的问题,后台基本没有防御CSRF的措施,导致很简单的一个CSRF即可秒杀整个博客。
在此环境下我决定自己开发一个能防御部分csrf攻击的小插件,当然要真正杜绝CSRF的话还是的修改后台的内核代码。在我们用户不能修改或不会修改内核代码的情况下,使用本插件还是能起到一定的防御作用。
界面借用了智者牛的站点安全保护插件:http://zhizhe8.net/?post=85730。
哈哈,不要吐槽我:
插件原理比较简单,敏感页面(GET方式传值的)与含有POST数据的页面,判断referer。如果referer中的host和blog的host相同,则放行。
插件有几个小tip:
1.有的同学说referer可以伪造,确实可以伪造,但在CSRF中我们是没法伪造的(除非有浏览器漏洞?)
2.emlog后台插件也可以通过CSRF漏洞来禁用,所以本插件考虑到这个情况对GET中的敏感操作进行了特殊防御
3.插件只防御了一些敏感操作和POST传值的操作,不能保证万无一失,还是希望开发组重视该问题,在内核代码中使用token才是比较保险的方法
4.如果你的网站还存在分站或子目录放有其他网站,攻击者可以在子目录下上传html来进行CSRF攻击,该种方式无法使用referer防御
插件下载在附件中。
附件:
开源组件是我们大家平时开发的时候必不可少的工具,所谓『不要重复造轮子』的原因也是因为,大量封装好的组件我们在开发中可以直接调用,减少了重复开发的工作量。 开源组件和开源程序也有一些区别,开源组件面向的使用者是开发者,而开源程序就可以直接面向用户。开源组件,如J…
请登录后发表评论
注册