博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
网站漏洞修复 被上传webshell漏洞修补
阅读量:6301 次
发布时间:2019-06-22

本文共 1276 字,大约阅读时间需要 4 分钟。

hot3.png

近日,我们SINE安全在对某客户的网站进行网站漏洞检测与修复发现该网站存在严重的sql注入漏洞以及上传webshell网站木马文件漏洞,该网站使用的是某CMS系统,采用PHP语言开发,mysql数据库的架构,该网站源码目前是开源的状态。

db153aacaa254c35b14b71ad4b1c875c.png

某CMS是专注于提供付费知识的社交CMS系统,知识付费在目前的互联网中有这很高的需求,该系统可以对文档进行分享,收费下载,用户发布的知识内容可以隐藏,提供给付费客户阅读。代码比较精简深受广大站长们的喜欢,该网站漏洞主要发生在上传压缩包的同时,构造恶意解压代码讲zip包里的webshell解压到指定目录,导致漏洞发生。该CMS还存在sql注入漏洞,我们一一的来详细分解漏洞。

SQL注入漏洞详情与修复方案

对网站的代码数据库配置文件进行查看,看到数据库的连接函数使用的是pdo模式,再仔细的追踪代码查看到还使用了一些特殊符号的转义操作,有些sql注入代码并没有对齐进行全面的安全过滤,导致发生sql注入攻击,代码截图如下:

79a6420ad977419383c7511766660399.png

以上代码使用就是select查询功能,我们着重的来看下他的cond函数,通过对代码的详细查看确定这个函数是用来对接前端的用户写入的值,当前端用户提交恶意的代码的时候就会传入到id这个值当中,我们来拼接SQL语句,对id的值进行变量覆盖操作,可以配合IN,like等sql语句来进行攻击数据库,查看数据库的账号密码,以及修改数据库。

对sql注入漏洞的修复,在GET请求,以及POST请求里,过滤非法字符的输入。'分号过滤 --过滤%20特殊字符过滤,单引号过滤,%百分号,and过滤,tab键值等的的安全过滤。启用php魔术,防止一些非法参数进行传输以及构造。

网站上传webshell漏洞

网站是公开免费注册用户的,也算是普通的用户,在对其上传功能进行全面的安全检测的时候发现存在上传zip压缩包的漏洞,上传doc等文件是需要审核,但是zip直接写入到数据库中,我们通过上面发现的sql注入漏洞对数据库进行查看,可以看到zip的文件地址。

aef9b28c31794b77a5d1fd1184b49cd3.png

如何上传webshell,我们通过sql注入漏洞查询到网站后台的管理员账号密码,登录网站后台,后台的各项功能都不存在漏洞,但是在查看源码当中发现有一段可以对zip文件解压的功能代码,无需使用用户权限就可以进行解压,那么我们来构造参数直接对该解压代码文件进行访问,post请求过去,直接将我们的zip文件解压到了当前文件中,我们就可以将我们的webshell木马上传上去。

关于网站上传漏洞的修复,建议管理员关闭掉解压功能,或者对其解压的文件进行权限判断,是管理员用户有解压功能,还是普通会员权限拥有解压文档的权限,对权限进行合理的安全分配,再一个对上传的目录进行无脚本权限设置,防止webshell木马后门的运行。如果您对网站漏洞修复不熟悉的话,建议找专业的网站安全公司帮您修复网站漏洞,国内也就Sinesafe和绿盟、启明星辰等安全公司比较专业.

转载于:https://my.oschina.net/u/3887295/blog/3057617

你可能感兴趣的文章
node mysql模块写入中文字符时的乱码问题
查看>>
仍需"敬请期待"的微信沃卡
查看>>
分析Ajax爬取今日头条街拍美图
查看>>
内存分布简视图
查看>>
POJ 2918 求解数独
查看>>
如何学习虚拟现实技术vr? vr初级入门教程开始
查看>>
第4 章序列的应用
查看>>
Mysql explain
查看>>
初识闭包
查看>>
java tcp socket实例
查看>>
011 指针的算术运算
查看>>
hdu1874畅通工程续
查看>>
rails 字符串 转化为 html
查看>>
java-学习8
查看>>
AOP动态代理
查看>>
Oracle序列
查看>>
xcodebuild命令行编译错误问题解决
查看>>
Yii2.0 下的 load() 方法的使用
查看>>
华为畅玩5 (CUN-AL00) 刷入第三方twrp Recovery 及 root
查看>>
LeetCode----67. Add Binary(java)
查看>>