如何防止sql注入之phpdisk 网站漏洞

 
         phpdisk是目前互联网最大的网盘开源系统,采用PHP语言开发,mysql数据库
架构,我们

SINE安全在对其网站安全检测以及网站漏洞检测的同时,发现该网盘系
统存在严重的sql注入攻

击漏洞,危害性较高,可以直接获取网站的管理员账号密
码,利用默认后台地址登录,可以直接

获取webshell权限。
 
 
目前phpdisk最新版本为7.0版本,该网站系统可以用于公司办公,企业内部文件共享,文档存储

,比传统的FTP软件更为直观,操作,简单方便,快捷,用户上传文
件格式可以后台设置,人性

化,满足了很多企业以及个人用户的青睐,使用的人越
多,针对于该网站的漏洞挖掘也会越来越

多,很容易遭受到攻击者的攻击。关于该
网站的sql注入攻击漏洞的详情,我们SINE安全来详细

的跟大家讲解一下:


 
SQL注入漏洞详情
 
 
phpdisk有多个版本,像gbk版本,utf8版本,在代码当中都会相互转换代码的功能,在对代码进

行转化的同时多多少少会存在漏洞,该sql注入漏洞产生的原因就在
这里,我们对代码进行安全

审计后发现编码转换调用的是conver_str函数,大部分
的网站对编码的转换都调用这个参数,

在进行转化的时候进行了多次转义操作,我
们追踪代码发现iconv存在sql宽字节注入漏洞,代码

截图如下:

 
另外的一处sql注入漏洞是在代码文件里,根目录下的ajax.php文件。我们来看下代码:
 

 

本身该代码已经使用了全局变量的sql过滤系统,对一些sql注入语句进行了安全过滤与拦截,一般

性的sql注入攻击都不会成功,但是经过我们的安全检测与绕过,
可以直接将SQL注入语句植入到

网站当中,并从后端执行数据库的查询操作,使用
base64加密对其进行sql攻击。

 
通过网站的sql注入漏洞我们可以直接获取网盘的管理员账号密码,获取到的是md5值,针对于

md5值我们对其解密,并利用默认的后台地址,登录进去,通过上传文
件,我们进一步的对网站

进行上传webshell获取更高的管理员权限。

 
如何防止sql注入攻击呢? 修复网站的漏洞
 
对网站前端输入过来的值进行安全判断,尤其编码转换这里,确认变量值是否存在,如果存在将

不会覆盖,杜绝变量覆盖导致掺入恶意构造的sql注入语句代码在GET
请求,以及POST请求里,

过滤非法字符的输入。 '分号过滤 --过滤 %20特殊字符
过滤,单引号过滤,%百分号, and过滤,

tab键值等的的安全过滤。对base64加密
的参数进行强制转换并拦截特殊的语句,该phpdisk网

站系统已经停止更新,如果
对代码不是太懂的话,建议找专业的网站安全公司来处理解决网站

被sql注入攻击
问题,让安全公司帮忙修复网站的漏洞,像Sinesafe,绿盟那些专门做网站安全防

护的安全服务商来帮忙。还有一点就是,如果实在不知道该怎么修复漏洞,直接将网站的后台

地址改掉,改的复杂一些,即使攻击者破解了admin的账号密码,也登
录不了后台。
分享: