专栏首页网站漏洞修补网站漏洞修补网站文件任意查看漏洞详情与利用
原创

网站漏洞修补网站文件任意查看漏洞详情与利用

在对网站程序代码的安全检测当中,网站文件任意查看漏洞在整个网站安全报告中属于比较高危的网站漏洞,一般网站里都会含有这种漏洞,尤其平台,商城,交互类的网站较多一些,像普通权限绕过漏洞,导致的就是可以查看到网站里的任何一个文件,甚至可以查看到网站的配置文件config.php conn.php等等。

我们SINE安全公司在对gitea开源程序代码进行网站安全检测的时候发现存在网站文件任意查看漏洞,没有授权的任意一个用户的账号都可以越权创建gitea的lfs对象,这个对象通俗来讲就是可以利用gitea代码里写好的第三方api借口,进行访问,可以实现如下功能:读取文件,上传文件,列目录等等的一些读写分离操作。其中API李的oid是gitea对象的一个值,这个值是用的哈希,在前端输入的过程中并没有对其进行ID值的判断与安全过滤,导致可以插入任意的字符传入到服务器的后端中去,导致可以执行查看文件的漏洞。我们来现场还原下网站漏洞的利用:

首先POST数据过去,POST到的地址为 /vulhub文件夹下的repo.git目录/info/lfs/objects文件。

如下图:

我们POST数据过去的时候就可以在OID这个值里插入一些可以查看网站文件的代码,但是这个漏洞是需要有前提条件的,就是gitea默认开启公开访问,然后在创建gitea对象的时候,才会产生绕过权限查看文件的漏洞,为什么说要公开访问,是因为公开以后,之前创建的gitea对象才会生效,紧接着检查当前用户是否有权限访问LFS对象。我们看到我们POST发送数据过去以后,返回来的数据包是200状态,也就是发送成功,gitea对象已经成功创建了,我们POST数据里写的oid=值是....../../../etc/passwd,这个代码的意思就是查看系统根目录下的etc文件夹下的linux 用户密码文件。

接下来我们就要查看这个/etc/passwd文件里的内容了,该如何查看这个密码文件呢? 我们

用get的方式进行提交,我们编辑一下网址:

/vulhub/repo.git/info/lfs/objects/ [....../../../etc/passwd]/sth,然后打开chinaz的url编码工具进行编码一下,就可以了,我们get提交访问的时候就查看到了/etc/passwd文件的内容。

那么该网站漏洞是如何产生的呢?

我们来看下gitea的程序源代码,发现代码里的meta.oid值是调用的transformKey函数,这个函数的作用就是将oid的值转换成了其他的编码方式,导致字符里内容可以随意写入,没有长度限制,文字限制,当我们POST把oid值改为....../../../etc/passwd的时候就可以直接调取了这个文件并读取出来。

网站漏洞修复建议:

尽快升级gitea的版本,并做好网站安全加固,POST数据包进行安全过滤,有条件的话请部署get post防火墙,对get post方式提交的数据进行安全过滤,当发现查看系统文件的时候,比如:/etc/passwd请直接过滤拦截,并返回301状态。

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 如何防止网站被CC攻击 导致CPU内存耗尽的处理过程分享

    公司的官方网站从春节前无缘无故就出现连接数据库异常的现象,由于以前也出现过,再加上没多久逢年过节,也就没有太在乎这个情况,仅仅试着重新启动了网站数据库。逢年过节...

    技术分享达人
  • 网站漏洞修复对于网站清除木马的解决办法

    THINKPHP漏洞修复,官方于近日,对现有的thinkphp5.0到5.1所有版本进行了升级,以及补丁更新,这次更新主要是进行了一些漏洞修复,最严重的就是之前...

    技术分享达人
  • ecshop全系列版本网站漏洞修复 清理网站木马后门

    ecshop漏洞于2018年9月12日被某安全组织披露爆出,该漏洞受影响范围较广,ecshop2.73版本以及目前最新的3.0、3.6、4.0版本都受此次ecs...

    技术分享达人
  • linux mysql 安装

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 ...

    云雀叫了一整天
  • 【职场物语】从学校到一个牛逼技术公司到底有多远?

    “路漫漫其修远兮,我将上下而求索”.这句话道出了就算计专业应届毕业生的心里,不知道您的身边有没有这种现象,现在学校的时候学习成绩优异考试可以很突出,但是真正到了...

    程序员互动联盟
  • KBOT研究报告

    KBOT通过Internet或本地网络或受感染的外部媒介攻击用户计算机。受感染的文件启动后在系统中写入启动程序和任务调度程序,然后进行web注入窃取受害者的银行...

    FB客服
  • java进阶|Stack源码解析和理解

    Stack这个数据结构还是比较容易理解的,满足LIFO,即先进后出,看下它的结构图,然后分析一下源码进行理解一下。

    后端Coder
  • Kotlin源码阅读——Math

    NaN其实在JVM上的语言,并不像JS一样,要特别地学习一下,但是NaN这个逻辑也确实存在。代码跟进去:

    Runhwguo
  • MySQL代码开发和调试利器CLion

    2)基于源码安装MySQL,从cmake开始,基本要被bison,curces,boost折腾一波

    jeanron100
  • OpenAI探索机器人模拟训练新方法:仿真与真实世界无缝衔接

    问耕 编译整理 量子位 出品 | 公众号 QbitAI ? OpenAI发布了一项新的机器人技术。 研究人员完全在仿真模拟环境中对机器人控制器进行训练,然后把控...

    量子位

扫码关注云+社区

领取腾讯云代金券