- 主题:log4j 0-day 漏洞
很多都是滥用第三方包,比如当年struts2那个,人家ognl一个el引擎当然具备动态执行代码的能力,问题是解析参数无非就是解析下xxx.xxx.xxx的问题,indexof,split再反射一下的事情,你非得偷懒让el引擎来做。
不过ognl定位也有问题,你要么像mvel那样把自己定位为一个脚本引擎,那提供修改数据的功能无可厚非,你一个el引擎修改啥数据,你不提供修改数据的功能,struts2就没办法拿你来解析参数。
【 在 hgoldfish (老鱼) 的大作中提到: 】
: 但保不齐第三方库用了啊。
: 企业级的 JAVA 都这样子,不知道那些用 JS 写后端的怎么看。里面不知道有多少 eval() 等着黑客呵呵。
--
修改:canper FROM 183.6.114.*
FROM 183.6.114.*
这个好解决,grep下eval出现的地方,统统换成literal_eval就差不多了。
【 在 hgoldfish 的大作中提到: 】
: 但保不齐第三方库用了啊。
: 企业级的 JAVA 都这样子,不知道那些用 JS 写后端的怎么看。里面不知道有多少 eval() 等着黑客呵呵。
:
--
FROM 180.109.233.*
不是写日志的时候需要执行远程代码,而是写日志的时候希望有
一个可以做替换的机制,而这个机制的实现过于灵活,替换时居然
默认允许去做远程查询来决定替换的模式……
【 在 chunhui (北瓜) 的大作中提到: 】
: 写日志的时候需要执行远程代码。这种应用场景是什么?我觉得没什么这种需求啊。为啥会有这种设计。
--
FROM 125.118.101.*
所以就不应该包揽这事,替换让调用者自己来,字符串模板的api有的事,如果调用者把用户输入传给字符串模板的话,那是调用者自己作死。日志工具包揽字符串模板的工作,还提供了这么强大的功能,是日志工具作死。
【 在 adoal (阿豆) 的大作中提到: 】
: 不是写日志的时候需要执行远程代码,而是写日志的时候希望有
: 一个可以做替换的机制,而这个机制的实现过于灵活,替换时居然
: 默认允许去做远程查询来决定替换的模式……
: ...................
--
FROM 183.6.114.*
这次之后log4j会提供一个方便的方式关闭这些“高级”功能吗
我就想简单地写个log而已
【 在 adoal (阿豆) 的大作中提到: 】
: 不是写日志的时候需要执行远程代码,而是写日志的时候希望有
: 一个可以做替换的机制,而这个机制的实现过于灵活,替换时居然
: 默认允许去做远程查询来决定替换的模式……
: ...................
--
FROM 36.112.6.*
升级到2.16吧
【 在 hover (人生自古谁无死 此恨绵绵无绝期) 的大作中提到: 】
: 这次之后log4j会提供一个方便的方式关闭这些“高级”功能吗
: 我就想简单地写个log而已
--
FROM 125.118.101.*
这种奇葩特性就该放在第三方插件里
谁想要自己配置加载去
【 在 adoal (阿豆) 的大作中提到: 】
: 不是写日志的时候需要执行远程代码,而是写日志的时候希望有
: 一个可以做替换的机制,而这个机制的实现过于灵活,替换时居然
: 默认允许去做远程查询来决定替换的模式……
: ...................
--
FROM 116.233.89.*
我没用过这些都。原来现在写个日志都这么多幺蛾子了...
【 在 adoal (阿豆) 的大作中提到: 】
: 不是写日志的时候需要执行远程代码,而是写日志的时候希望有
: 一个可以做替换的机制,而这个机制的实现过于灵活,替换时居然
: 默认允许去做远程查询来决定替换的模式……
: ...................
--
FROM 114.249.28.*
嗯,真的是over-design了……
不过话说回来,不懂Java的我看了一下log4j2的JavaDoc,
有个猜想:
里面的logger.xxx的参数好像第一个是String message,
然后可以跟一些可选的Object p0, p1, ...用来根据messsage
的placeholder做formatting?
那我怀疑,这个漏洞里涉及的JDNI查找只是针对message里
写好的模式,如果是后面的p0, p1, ...里写了JNDI并不会
去查找……
也就是说自己手拼字符串作为message又不检查用户输入是
危险的,而用message formatting并不一定会有这种危险?
以上……瞎猜……我真的不懂Java……很可能猜错了。
【 在 canper (洗衣粉) 的大作中提到: 】
: 所以就不应该包揽这事,替换让调用者自己来,字符串模板的api有的事,如果调用者把用户输入传给字符串模板的话,那是调用者自己作死。日志工具包揽字符串模板的工作,还提供了这么强大的功能,是日志工具作死。
--
修改:adoal FROM 125.118.101.*
FROM 125.118.101.*
人家说的是后端
【 在 xiaoju (可爱的龙猫) 的大作中提到: 】
: js很好扫描啊,分秒被第三方工具扫出来
:
: 【 在 hgoldfish (老鱼) 的大作中提到: 】
: : 但保不齐第三方库用了啊。
--
FROM 1.202.22.*