网站漏洞修复 被上传webshell漏洞修补

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

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


0df431adcbef7609e1419eff3d2d26c87dd99e78.jpeg


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


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


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


eaf81a4c510fd9f94a6b6ae599853f2e2934a46f.jpeg


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


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


网站上传webshell漏洞


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


b03533fa828ba61e1ffbaed3fd9c7c0e314e5966.jpeg


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


关于网站上传漏洞的修复,建议管理员关闭掉解压功能,或者对其解压的文件进行权限判断,是管理员用户有解压功能,还是普通会员权限拥有解压文档的权限,对权限进行合理的安全分配,再一个对上传的目录进行无脚本权限设置,防止webshell木马后门的运行。

相关文章
|
机器学习/深度学习 算法 Python
CatBoost中级教程:集成学习与模型融合
CatBoost中级教程:集成学习与模型融合【2月更文挑战第13天】
485 3
|
JavaScript 前端开发 Java
面试官:你的项目有什么亮点?我:解决了JS脚本加载失败的问题!
面试官:你的项目有什么亮点?我:解决了JS脚本加载失败的问题!
232 0
|
自然语言处理 算法 大数据
Python大数据:jieba分词,词频统计
实验目的 学习如何读取一个文件 学习如何使用DataFrame 学习jieba中文分词组件及停用词处理原理 了解Jupyter Notebook 概念 中文分词 在自然语言处理过程中,为了能更好地处理句子,往往需要把句子拆开分成一个一个的词语,这样能更好的分析句子的特性,这个过程叫就叫做分词。
9627 0
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
982 3
|
Java Maven
改造升级autoPOI以满足poi5.0.0及以上版本
改造升级autoPOI以满足poi5.0.0及以上版本
407 0
|
人工智能 API UED
为什么OpenAI突然把GPT-4o免费了?
OpenAI将GPT-4o免费开放,原因包括降低成本、推广品牌、占领市场、收集数据优化模型以及促进会员转化。免费服务吸引用户,同时提供高级功能和更大容量给付费用户,创造用户体验落差以提高付费转化率。通过先给予部分免费服务,培养用户依赖,未来可能推出更多高级产品引导消费升级。值得注意的是,免费使用仍有限制,普通用户和Plus用户有不同的权益。
为什么OpenAI突然把GPT-4o免费了?
|
SQL 网络安全 数据安全/隐私保护
[网络安全]sqli-labs Less-24 解题详析
[网络安全]sqli-labs Less-24 解题详析
246 0
|
存储 ice 索引
经验大分享:PJSUA2开发文档
经验大分享:PJSUA2开发文档
374 0
|
人工智能 机器人 图形学
2023 年最好的36款 AI 生产力工具(上)
本文主要展示了36 款 AI 应用,可以帮助读者更快、更好地工作。每个人都在与ChatGPT交流,从完整的博客文章到特定代码行的功能都在询问。其结果令人惊叹。虽然我们仍在探索如何将这项技术纳入我们的工作流程中,但明显的是,人工智能工具正在改变游戏规则。尽管ChatGPT是目前最受欢迎的,但它远不是首款进入市场的人工智能应用程序。
1629 1