|  |      1Sayuri      2024-03-30 14:01:00 +08:00 我感觉这里并没有引入恶意的什么代码。 只是因为这个人做的事情让大家失去信任了。 | 
|  |      2MacTavish123      2024-03-30 14:23:09 +08:00 @Sayuri 可能尚未来得及引入🤣 | 
|  |      3lisxour      2024-03-30 14:23:49 +08:00  3 | 
|      5daveh      2024-03-30 19:18:46 +08:00  3 @Sayuri  GenericT  #1 #4 safe_fprintf 改 fprintf 确实很可疑,真没这个必要改,对代码功能来讲真没啥鸟用。 但是正是这种改动,让人看不到攻击者的真实意图。 理论上讲这个改动其实是有问题的,这要从这次 xz/sshd 漏洞利用的原理上讲,主要这个 IFUNC 机制,感兴趣上网找找理解一下。 简单讲,safe_fprintf 并不是什么标准库或三方库的函数,可能是自己写的,编译优化、符号隐藏、剥离调试信息、strip 等等,都会让程序运行时,根本看不到什么 safe_fprintf ,IFUNC 也无法替换它;而 fprintf 不同,它是标准库函数,能被 IFUNC 替换掉。 攻击者可能不想让用户看到一些莫名其妙或不相干的错误输出,他就可以通过 IFUNC 机制截获 fprintf ,修改输出内容,从而达到隐藏自己的目的。 | 
|  |      6seers      2024-03-30 19:21:07 +08:00 via iPhone 换成 std 库的符号就可以 plt hook 了 | 
|  |      7est      2024-03-30 21:05:00 +08:00 所以 IFUNC  这玩意是干嘛的。? | 
|  |      8gsfish      2024-03-30 22:03:07 +08:00  4 苦心经营多年,在最后关头给人发现了,泪目 | 
|      11GenericT      2024-03-31 12:05:14 +08:00 via Android @daveh 你在说啥呢,这是个自己写的函数,你去看下实现啊,内部还是调 fprintf 的,你说的这些完全不成立 | 
|      12daveh      2024-03-31 12:52:36 +08:00 via iPhone @GenericT #11 这哪一样啊?虽然都是 fprintf ,但是传参可能不一样,写 hook 最好要原始输入参数,变化后 hook 不好写。 | 
|      14luozic      2024-03-31 21:34:27 +08:00 gcc 编译器下面才可用,使用的是 gcc 的一个 feature ? | 
|      15jackleeforce3615      2024-04-01 11:06:17 +08:00 凡是此人的 PR/MR ,都得拉出来讨论或者干脆回滚,太危险了 |