50种Drupal安全性
- 对于密码哈希,使用的是phpass的修改版本,在官方网站上已弃用了该版本。 但是他们不急于更改机制[#1845004] 。
- 他们甚至不希望提供选择哈希机制的选项[#2939888] 。
- 哈希持久性的迭代次数尚未更新超过7年[#1850638] ,尽管预计迭代次数至少增加2年[#1203852] 。
- 使用PostgreSQL时,比较密码哈希不区分大小写[#2475539] 。
- PostgreSQL也有SSL支持问题[#850600] 。
- PostgreSQL 9.2的最低允许版本,长期以来一直没有安全支持[#2846994] 。
- Drupal的官方程序集包含供应商库的过时版本(由于与PHP 5.5兼容)。 其中一些,例如Zend,甚至具有已知的漏洞[#2989631] 。
- 程序集中还包含所有测试,测试模块,测试主题和供测试的供应商库,这不仅增加了档案的大小,而且还增加了可能的空白区域[#2338671] 。
- 将可执行文件移出站点[#1672986]的想法也陷入僵局 。
- 使用不安全的HTTP协议[#1538118]使用GET请求实现更新检查。 在MITM攻击期间,您可以断开与模块档案的任何链接(不检查域和哈希值)。 您还可以收集有关网站组成,开发人员列表及其活动的信息(来自本地版本网站的请求将在ip上与d.org上的帐户匹配)。 HTTP协议允许您在drupal.org之外放置用于收集信息的脚本。
- ID = 1的用户是最容易受到攻击的对象,因为他始终拥有站点上存在的所有权限,并且还尝试过剥夺这些权限[#540008] 。
- 这种行为并不完全明显,因为在管理面板中该用户在视觉上与其他用户没有什么不同。 但是,即使尝试突出显示此功能也没有成功[#572240] 。
- 任何具有必要权限的管理员或其他用户都可以控制此id = 1 [#39636]的神圣用户。
- 某些权利暗含了对整个站点的控制权,但是它们也不会以任何方式脱颖而出[#2846365] , [#594412] 。
- 有些权利甚至可能因名称而误导他人。 例如,查看日志的权利实际上允许您删除它们[#1635646] 。
- 长期以来,恢复权限中的顺序一直是紧迫的任务,但可以忽略[[2628870] , [#2667018] 。
- 管理员不能删除另一个用户下载的文件对象,无论他多么恶意[#2949017] 。
- 钩子hook_file_download在验证期间未使用适当的控制器[#2148353] 。
- 无法在客户端验证文件[#2938441] 。
- 加载任意文件[#2543590]时进行的检查较弱 ,更不用说各种RarJpeg胶水了。
- 某些文件检查仅依赖.htaccess规则[#2829048] 。
- .htaccess还具有其他安全规则,这些规则在切换到另一个环境(尤其是Nginx)时会隐式丢失,但是类似web.config规则的实现已停滞[#154339] , [#2669870] 。
- 默认情况下,在任何使用Drupal 8的网站上,您都可以使用简单的POST请求上传图像,该请求包含注册表单的名称和用户头像字段。 值得注意的是,在Drupal 7中,默认情况下拒绝此类字段的输出[#31056] ,但是那些日子已经过去了。
- 当多次加载相同名称的文件时,会产生与生成唯一文件名的算法[#2684403]有关的问题 。
- 图像地址过滤也很la脚。 因此,您可以注销带有src ='/ user / logout' [#144538]图片的用户,或者通过放置几百张src ='very / hard / page'图片来实现DOS攻击。
- 占用资源的另一种方法是将1000x1图像加载到使用“缩放并裁剪”效果[#2931533] , [#872206]处理的字段中。
- 您可以简单地通过对URL进行排序来简单地用垃圾缓存填充数据库[#1245482] ,尽管缓存系统可以完美地占用所有资源来存储甚至从头开始甚至更快的结果[#2888838] 。
- 您可以使用上下文链接的特殊请求来加载站点并在日志中填充错误消息[#2864933] 。
- 无论是否访问内容[#2904842] ,始终可以访问附件文件和图像。
- 当拒绝访问内容时,对内容的评论将仍然可用[#1781766] 。
- 通过该消息可以找到您是否可以在网站上使用Zaregan进行密码恢复[#1521996] 。
- 密码重置表单没有受到保护,不会泛滥[#1681832] 。
- 创建和检查密码时,没有任何警告, [#1921576]周围的所有空格字符(“ \ t \ n \ r \ 0 \ x0B”) 都会被删除 。 这可能使用户感到惊讶,并且对搜索算法有所缓解。
- 如果您没有机会通过暴力破解获得密码哈希,但是有一个用户会话,则可以不受限制地通过帐户本身(例如,更改邮箱[#2339399])来破解密码。
- 顺便说一句,如果那样的话,用户甚至都不知道自己的盒子已被更改,因为实施该功能的尝试已经停止了数年[#85494] 。
- 会话生成算法也是如此[#2238561] 。
- Cookies在子文件夹[#2515054]中的站点之间流动。
- 在某些情况下,您可以通过处理输入错误密码的请求来阻止用户[#2449335] 。
- 访问编辑Twig模板的权限使您可以不受限制地控制网站[#2860607] 。
- 通过Twig属性[#2567743] , [#2552837]和[#2544110]进行的XSS攻击被顽固地忽略 。
- 您也可以将XSS嵌入信息文件中。 例如,通过description或package字段,通过功能[#846430]可能会很有趣。
- 不使用X-XSS-Protection安全标头[#2868150] 。
- XSS也可以通过PlainTextOutput类的重新路由方法进行推送,尽管类名与之相反[#2896735] 。
- 某些方法检查并缓存当前用户的访问权限,而不是转移给他们的方法,也可能会令人感到惊讶。 [#2628870] , [#2266809] 。
- 由于不正确的缓存设置,您可以使用户无法查看自己的配置文件[#2614230] 。 使用内容[#2982770]和媒体[#2889855]的某些设置可以完成类似的操作。
- 可以通过浏览器控制台中的常规for循环轻松地操作材质视图的统计信息,即使您无权访问材质本身,也可以每分钟缠绕数千个视图。 您甚至可以结束现有的材料[#2616330] 。
- 对外部网址[#2691099] , [#2652236]的] 脚验证。
- 没有完整的保护免受Breakattack.com [#2234243]的攻击 。
- 如果您配置内容安全策略,则内容编辑器会退出[#2789139] 。
- 这是业余选择,不要求任何权利。 也许有人知道更严重的漏洞? 从2019年1月30日到2020年10月15日,欧盟预算提供的89,000.00欧元的赏金有效。 您可以尝试修复某些问题。 但是,如果无法解决问题,请不要失望,我们会训练该项目的方式以熟练地在任务之间进行操作,以便将Drupal保持在一个地方多年。
Source: https://habr.com/ru/post/zh-CN437820/
All Articles