emlog模板防止跨站漏洞教程(所有模板作者请务必阅读)

2015-8-2 / 0 评论 emlog / Mrxn

本文共计 738 字,感谢您的耐心浏览与评论.

进过我的调查,发现大家贡献很多的模板中都没有对URL中的参数进行必要的过滤,从而给黑客留下跨站攻击的空子。
在这里我举一个典型的例子供大家参考,下面是某个CMS模板输出搜索关键词的代码,
?php }elseif($params[1]=='keyword'){ ?> 关键词 <b><?php echo urldecode($params[2]);?></b> 的搜索结果
请 注意$params[2]变量没有任何过滤的就直接输出了,而我们可以构造/index.php?keyword=8<img src=1 width=500 height=500 onerror=alert(1)>在页面上运行javascript代码alert(1). 黑客在攻击时可以把alert(1)替换为攻击代码(比如获取访问者的cookie信息)后发给站长。如果站长不小心点了链接,那么黑客就能获取站长登陆 状态的cookie,有了cookie,就能冒充站长登陆站点后台做他想做的任何事情了。

综上所述,为了各位用户的安全着想,请各位模板作者在输出URL参数时使用PHP的htmlspecialchars函数来进行过滤,防止XSS攻击,像上面例子中的代码可以修改为


?php }elseif($params[1]=='keyword'){ ?> 关键词 <b><?php echo htmlspecialchars(urldecode($params[2]));?></b> 的搜索结果


最后还是要感谢各位模板的作者为emlog的无私付出,希望这篇教程能给大家做出安全好用的模板提供一定的帮助。

本文来源于emlog论坛,由em管理员:朦胧之影 发布

标签: emlog 跨站

转载:转载请注明原文链接 - emlog模板防止跨站漏洞教程(所有模板作者请务必阅读)


0条回应:“emlog模板防止跨站漏洞教程(所有模板作者请务必阅读)”


发表评论

{view_code_no}