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