51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

【重要】emlog防御CSRF小插件

emlog始终有个致命的问题,后台基本没有防御CSRF的措施,导致很简单的一个CSRF即可秒杀整个博客。

在此环境下我决定自己开发一个能防御部分csrf攻击的小插件,当然要真正杜绝CSRF的话还是的修改后台的内核代码。在我们用户不能修改或不会修改内核代码的情况下,使用本插件还是能起到一定的防御作用。

界面借用了智者牛的站点安全保护插件:http://zhizhe8.net/?post=85730。

哈哈,不要吐槽我:

005.jpg{#ematt:456}

插件原理比较简单,敏感页面(GET方式传值的)与含有POST数据的页面,判断referer。如果referer中的host和blog的host相同,则放行。

插件有几个小tip:

1.有的同学说referer可以伪造,确实可以伪造,但在CSRF中我们是没法伪造的(除非有浏览器漏洞?)

2.emlog后台插件也可以通过CSRF漏洞来禁用,所以本插件考虑到这个情况对GET中的敏感操作进行了特殊防御

3.插件只防御了一些敏感操作和POST传值的操作,不能保证万无一失,还是希望开发组重视该问题,在内核代码中使用token才是比较保险的方法

4.如果你的网站还存在分站或子目录放有其他网站,攻击者可以在子目录下上传html来进行CSRF攻击,该种方式无法使用referer防御


插件下载在附件中。

附件:csrf_defence.zip

赞(2)
未经允许不得转载:工具盒子 » 【重要】emlog防御CSRF小插件