在 TYPO3 网站的日志模块中,我可以看到人们试图使用可疑/随机值调用网站的错误"type"参数,最终会出现错误消息,因为类型未定义/配置。
例子:
https://www.example.com/path/?type=694
https://www.example.com/path2/?type=219
错误信息:
核心:异常处理程序 (WEB(:未捕获的 TYPO3 异常:#1294587217: 页面未配置![类型=694][].这意味着没有 类型为 PAGE 的 TypoScript 对象,配置了 typeNum=694。
有谁知道是否存在我不知道的安全问题?我需要做任何事情吗?
在一般情况下,如果请求的type
参数值未在 TYPO3 中配置config.typeNum
,则像https://www.example.com/path/?type=694
这样的 URL 可以被视为保存。
对于大多数参数,有一个选项可以在 TYPO3 中配置允许的值,但是明确不建议使用config.typeNum
,TypoScript
的参考指出:
不要在
config.linkVars
列表中包含 type 参数,因为这可能会导致意外行为。
与随机值一起使用的其他参数(不是type
!
因此,假设有另一个参数被请求使用TYPO3安装中未配置的值。一个通用参数是L
,用于所请求页面的语言。如果有一个包含 3 种语言的页面,则主语言具有参数L=0
,第二种语言具有参数L=1
和最后一种语言的参数L=2
。
在这种情况下,可以在 TypoScript 中配置
config.linkVars = L(0-2)
如果允许的链接变量从不表示线性范围,则可以像这样配置:
config.linkVars = L(0|5|23)
也可以使用更通用的方法,因此可以限制值至少表示整数值:
config.linkVars = L(int)
引用:
- 有关
config.linkvars
的配置 - 关于语言的配置
其他注意事项
可以在服务器配置(即在文件.htaccess
中(在更高级别过滤不允许的页面调用。此配置的方法可以包含在列表中
- 不允许的参数(或值(将用户重定向到 TYPO3 的主页或错误页面
- 不允许的参数(或值(将用户重定向到 TYPO3 之外的页面,可能是没有动态内容的静态页面
- 不允许的参数(或值(阻止用户访问任何服务器(通常在可定义的时间内,即 10 分钟(
- 记录或只是删除具有不允许的参数(或值(的页面请求
此列表可能不完整,但仍足以进行一些考虑。
关于这些努力存在几种意见,一种意见是系统TYPO3和管理员应该被告知任何访问,并且可能能够解决用户看到错误但应该看到常规页面的一些问题。
可能还有更多论据,为什么应该通知 TYPO3-admin 一些未提供的参数或参数值,但有一些论点应该考虑:
- DDOS 攻击服务器,请求泛滥,直到服务器无法处理任何请求。
- 在TYPO3中,每个请求都会填充数据库和硬盘中的一些空间。
- 防火墙还会过滤请求,并且不应允许任何 TYPO3-admin 可能将防火墙切换为非活动状态,TYPO3 没有特殊步骤,不会通知防火墙阻止的请求。
因此,可能会有一些出于良好目的发送的错误参数,但许多请求可能有其他目的,建议阻止或重定向某些请求类型。服务器应该受到保护,TYPO3的错误日志应该保持得很小,以至于记录的错误与TYPO3问题广泛相关,这些问题可能需要TYPO3管理员的干预。