常见漏洞危害和修复建议

参考链接:
https://vulwiki.readthedocs.io/zh_CN/latest/web/svn/

接口未授权访问

漏洞描述

接口未授权访问,顾名思义在不进行请求授权的情况下,能够直接对相应的业务逻辑功能进行访问、操作等。通常是由于认证页面存在缺陷或者无认证、安全配置不当等导致的。

常见应用场景

最常见的应用场景为后台某些API接口在不登录系统的情况,直接请求对应的URI即可访问、操作该接口。

攻击者最常见的攻击途径主要有如下:

通过目录扫描工具加载目录字典探测
通过模糊测试URI中的参数进行探测
通过前端静态文件,比如JS、webpack等查找

漏洞危害

攻击者可在没有认证的情况下直接操作对应的API接口,可直接被非法增删改次数据。
因为攻击是在未认证下进行的,所以后续无法通过定位用户进行异常排查。

修复建议

对于后台接口,确保所有API接口先经过登录控制器。
在验证用户身份权限前不进行任何数据的交互。

svn信息泄露

漏洞描述

在使用SVN管理本地代码过程中,会自动生成一个名为.svn的隐藏文件夹,其中包含重要的源代码信息。一些网站管理员在发布代码时,不愿意使用‘导出’功能,而是直接复制代码文件夹到WEB服务器上,这就使.svn隐藏文件夹被暴露于外网环境,黑客可以借助其中包含的用于版本信息追踪的entries文件,获取站点信息。

漏洞危害

攻击者可以利用.svn/entries文件,获取到应用程序源代码、svn服务器账号密码等信息。同时,SVN产生的.svn目录下还包含了以.svn-base结尾的源代码文件副本(低版本SVN具体路径为text-base目录,高版本SVN为pristine目录),如果服务器没有对此类后缀做解析,黑客则可以直接获得文件源代码。

攻击者利用该漏洞可下载网站源代码,获得数据库的连接账号密码等敏感信息;
攻击者可通过获取的源代码进一步分析出新的系统漏洞,从而进一步入侵系统;

修复建议

查找服务器上所有.svn隐藏文件夹,删除。
开发人员在使用SVN时,严格使用导出功能,禁止直接复制代码。

越权

漏洞描述

越权漏洞是指应用程序未对当前用户操作的身份权限进行严格校验,导致用户可以操作超出自己管理权限范围的功能,从而操作一些非该用户可以操作的行为。

常见应用场景

越权漏洞一般可以分为:垂直越权,水平越权两种

水平越权
攻击者可以访问与他拥有相同权限的用户的资源,资源权限ID不变,资源归属ID改变;

垂直越权
低级别攻击者可以访问高级别权限用户的资源,资源权限ID不变,资源归属ID改变;

低级别攻击者可以访问高级别权限用户的资源,资源权限ID改变,资源归属ID不变;

漏洞危害

垂直越权漏洞会导致低权限用户用来执行高权限用户的功能,获取高权限用户的账号信息,执行高权限用户的操作功能。
水平越权会导致同一层级间的用户可以互相访问到对方的敏感信息,如姓名、手机号、联系地址、个人资料、订单记录等。同时还可能会以其他平级权限用户的身份来执行某行功能,如删除,添加,修改等。

修复建议

设计表时对用户ID、订单ID等根据ID进行操作的ID字段进行随机化、比如加入时间戳的md5值md5( d a t e t i m e . datetime. datetime.id)。
严格校验当前用户操作与当前登录用户身份权限是否匹配。

Thinkphp 5.x

thinkphp 报错信息中泄露数据地址,账号,密码信息
漏洞原理:ThinkPHP 5.X存在设计缺陷,在开启debug模式下,如果数据库抛出错误,ThinkPHP就会一起报错,并输出数据库配置信息。
排查方式:检查使用的版本是否为 Thinkphp 5.X且是否开启debug模式。
修复建议:关闭debug模式: APP_DEBUG 参数设置为 false

任意文件读取/下载

在读取文件内容文件或文件下载处,未严格限制读取/下载文件的路径及文件后缀,导致可利用…/,#等目录操作字符进行目录穿越、截断等手段,从而读取/下载服务器上任意文件,比如配置文件等。

1.2 文件包含
在通过PHP的incluede、require等函数引入文件时,由于传入的文件名没有经过合理的校验,从而操作了预想之外的文件,导致意外的文件泄露甚至恶意的代码注入,主要包括本地文件包含和远程文件包含两种形式。

1.3 文件删除
应用程序在删除文件前,未对所要删除的文件内容、类型、文件名、文件目录做合法性校验,导致可删除服务器上任意文件,比如删除安装目录中锁文件,直接进行重装应用系统。

常见应用场景

2.1 文件读取/下载
读取/下载图片、文件内容;下载附件;预览文档;导出文档;修改、保存文档等

2.2 文件包含
比如包含了某个图片、附件、远程URL、从远程获取资源文件等

2.3 文件删除
删除文件、附件、图片、替换、配置等

漏洞危害

文件读取/下载:如果系统未对读取/下载文件的文件目录做限制,攻击者利用此漏洞可直接读取web目录下任意文件,比如配置文件、数据库文件等,甚至直接获取服务器上任意文件内容。

文件包含:攻击者利用此漏洞通过包含含有任意恶意代码的任意格式文件,比如图片文件、log文件等,可直接获取应用系统权限,如果开启了allow_url_fopen/allow_url_include等配置,可直接包含远程任意格式文件。

文件删除:攻击者利用此漏洞可直接删除web目录甚至服务器上任意格式文件,直接导致业务系统中断、崩溃。

修复建议

配置文件:在配置文件中限制访问的文件目录,比如PHP中php.ini配置open_basedir
特殊字符过滤:检查用户输入,过滤或转义含有“…/”、“…\”、“%00”,“…”,“./”,“#”等跳转目录或字符终止符、截断字符的输入
合法性判断:严格过滤用户输入字符的合法性,比如文件类型、文件地址、文件内容等
白名单:白名单限定访问文件的路径、名称及后缀名

猜你喜欢

转载自blog.csdn.net/u011975363/article/details/127383136