更具安全性的addslashes_deep函数-by Sodoit
2016-07-07 15:00 来源:www.chinab4c.com 作者:ecshop专家
我们知道,ecshop的很多漏洞都是因为对变量的过滤不严格而导致mysql注入的,虽然在init.php文件里有对$_GET,$_GET,$_COOKIE,$_REQUEST用addslashes_deep进行处理,但是,分析addslashes_deep函数后我们就可以发现,该函数只处理数组的值,对数组的key是完全不作任何过滤的,这直接导致了漏洞。例如: http://bbs.honkwin.com/read-htm-tid-6174.html http://sebug.net/vulndb/20188/ 为此,我们应该重写addslashes_deep函数,下面是我的代码:
该函数对数组的值和key都进行了addslashes处理,并且根据需要,还可以进行htmlspecialchars过滤。在init.php文件里,应该这样调用: $_GET= addslashes_deep($_GET,true); $_POST = addslashes_deep($_POST,true); $_COOKIE= addslashes_deep($_COOKIE,true); $_REQUEST= addslashes_deep($_REQUEST,true); |
回答:
沙发顶一下 |
可以缓解缓解 不过很对还是EC的程序员们大意了 很多细节没有注意到! |
刚才发现上面的函数在使用json的时候会有问题,因为htmlspecialchars函数会对引号进行替换,导致json格式错误,修正如下:
|
有几个地方不明白希望楼主指教 我的QQ283123640 |
赞一个, |
有不明白的地方呀,原本的函数function addslashes_deep($value)只有一个参数,楼主重写的时候怎么变成两个参数呢?我不懂php啊,但我想如果其他文件里有函数调用这个addslashes_deep,会不会因为参数问题报错? |
楼主,想请教你啊,看过你写过的另一帖,说是修改cls_mysql.php文件的ErrorMsg函数的,我照你的方法该了,那现在我想试下注入攻击,然后查看那个data/sql_log文件,该怎么操作呢? |
太复杂了吧 |
看这样的效果
|
安全无小事,支持分亨 |
这么久的帖子被顶出来了,我自己就再顶下吧。 |
看这样的效果 你这个仍旧没有对数组的key做处理,和ecshop自带的就没啥区别了。 |
再对数组的key作下addslashes_deep()操作不就有了,也没多大麻烦 |
最近更新
常用插件
- ecshop分类批量扩展插件
ecshop分类批量扩展插件,这个插件是ecshop插件里面比较核心的插件。我们...
- ecshop二次商品订购人信息
ecshop二次商品订购人信息填写插件,有时候给朋友送花,或者是送礼品的...
- ecshop2.7.1打印发货单插件
ecshop2.7.1打印发货单插件介绍:ecshop2.7.1和以前的ecshop版本不一样,ecs...
- ecshop二次开发详细页面生
插件介绍: ECSHOP系统,在很多时候,很多商品没有人购买,不但购买的人...
- ecshop商品分类名称增加样
ecshop插件介绍:本插件可以方便在后台管理,为ecshop商品分类名称增加样...
ecshop热门问答
ecshop热门资料
ecshop行业
ecshophome
ecshoprelease
ecshop付款漏洞
ecshop剪切
ecshop产品简介
ecshop日期选择
ecshop财富通
ecshopGGAD
ecshopopen_type
ecshop模板出售
ecshop艾绮网
ecshop时间表
ecshop顺丰快递
ecshopconcize
ecshop护航
ecshopcolor
ecshop营造节日氛围
ecshop备齐
ecshop中心
ecshop实现
ecshop网店帮助
ecshopCan
ecshop服务业
ecshop会员报价单
ecshop随机
ecshop小弟
ecshop帐号密码
ecshop宝贝
ecshop商铺