hhyy_best 发表于 2020-3-21 11:37

懂discuz的童鞋看进来,集思广益

假设可以看到

你说dz那么多漏洞,52十几年又积攒了几十G鬼知道有多少webshell代码在里面的附件,靠业余的管理员杀漏洞防挂马估计是没救的。

问题是,检测到木马不难啊!还可以回档!
你这么每天挂一次我每天删一次有意思么!

{:4_104:}
要不我们来聊聊,你改行帮52堵漏洞吧,和恐怖分子谈判是我们小布尔乔亚的优良传统{:4_99:}保证拿的比挂什么狗屎广告马强

{:4_150:}
好,小布尔乔亚的革命性发作了,我们来讨论下怎么防挂马吧!

testlook 发表于 2020-3-21 12:42

要不发个召集贴?相信52还是有不少打码的手艺人,咱把这个给补了吧。
某虽不才,愿往帐下听令{:4_98:}

P0T47O 发表于 2020-3-21 14:36

和劫掠者谈判要掉封臣好感的(

hkl 发表于 2020-3-21 17:30

厌战抗不住了,和谈了和谈了{:4_118:}

Blitzkreige 发表于 2020-3-21 18:10

esen太师又加攻城能力了(逃

lalala007 发表于 2020-3-21 22:25

本帖最后由 lalala007 于 2020-3-21 22:28 编辑

建议将头像目录和上传附件的目录的脚本执行权限取消掉,只保留读写权限。

我有15年的dz论坛维护经验,本人感觉dz本身没什么漏洞,主要是因为论坛的上传目录的权限设置不当导致的频繁被挂马。


还有就是除了上传目录之外,所有其他目录的文件只有读的权限,写权限全部取消掉。
是在不行就联系戴志康去帮你搞搞安全,反正他现在也是闲的没啥事干。

zqq1111 发表于 2020-3-21 22:42

你要撐住啊{:4_110:}

hhyy_best 发表于 2020-3-22 11:48

lalala007 发表于 2020-3-21 22:25
建议将头像目录和上传附件的目录的脚本执行权限取消掉,只保留读写权限。

我有15年的dz论坛维护经验,本 ...

你是通过啥方法封的?php要建立新文件的,不可能把x取消啊?

我现在做法是把整个data目录用nginx做了不proxy给php直接当静态文件下载,从昨天一天来看效果良好。(其实之前有弄这个,不知道后来怎么又删了没注意一直以为有保护实际裸奔)

主要就是有没有更科学的保护方法以及具体哪些目录需要这么保护,包括ucenter。是否认为但凡php用户可以写的目录nginx都需要设置成认为是静态内容。这样理论上是不是即时dz有非法上传的漏洞也能防止webshell?

一根线身1 发表于 2020-3-23 08:42

厌战压不住了啊哈哈哈哈{:4_146:}

浑水摸鱼 发表于 2020-3-23 09:04

{:4_150:}{:4_150:}要不自己写个...Discuz太多花里胡哨功能

testlook 发表于 2020-3-23 11:22

某对DZ的印象还停留在X2时代...这些年在搞C#和java,最近两年是python{:4_103:}

testlook 发表于 2020-3-23 11:27

如果确定是上传的问题的话,能不能在上传的部分加个中间件,将上传的文件 bytes 转 string 后用正则进行一次过滤?匹配到疑似的再人工介入,确认了就该删删,该封封

hhyy_best 发表于 2020-3-23 12:21

testlook 发表于 2020-3-23 11:27
如果确定是上传的问题的话,能不能在上传的部分加个中间件,将上传的文件 bytes 转 string 后用正则进行一 ...

那结果就是和敏感词过滤一样结果,很难平衡误杀和效果

testlook 发表于 2020-3-23 13:33

hhyy_best 发表于 2020-3-23 12:21
那结果就是和敏感词过滤一样结果,很难平衡误杀和效果

要不找几个文件先试试看,把它们相同的地方抽象出来,黑入的代码或有差异,思路应该是类似的
这种方法不可能一次性解决,要通过多次调校,以后还得根据新情况进行维护,就像写爬虫或者更新病毒特征库一样{:4_107:}

testlook 发表于 2020-3-23 13:49

6楼说的从linux系统的文件系统权限入手应该更方便一点,就是一开始处理起来麻烦一些
把文件结构列出来,然后逐个调整文件夹的wx权限,记在文档上,最后形成一个批处理文件
主要是繁琐,需要对DZ的各个模块和文件结构很熟悉{:4_176:}

hhyy_best 发表于 2020-3-24 13:24

testlook 发表于 2020-3-23 13:49
6楼说的从linux系统的文件系统权限入手应该更方便一点,就是一开始处理起来麻烦一些
把文件结构列出来,然 ...

文件权限只能防篡改,没法防往附件目录丢脚本的防执行。毕竟php执行只需要读权限,不需要执行,没法卡

本质应该还是让反向代理来确保不执行,问题就是怕漏文件夹

testlook 发表于 2020-3-25 16:02

hhyy_best 发表于 2020-3-24 13:24
文件权限只能防篡改,没法防往附件目录丢脚本的防执行。毕竟php执行只需要读权限,不需要执行,没法卡
...

稍微看了一下相关的东西,感觉可能不止附件的问题{:4_161:}
漏文件夹某觉得倒是没关系,每次被攻击都能缩小相应的文件夹范围,不过写 nginx 配置文件的时候倒是挺繁琐的了,一大堆东西

testlook 发表于 2020-3-25 16:07

拿 apache + php 测了下文件夹权限的方法,当文件夹不给 rx 权限的的时候,连里面的图片都访问不到,直接 403 了{:4_182:}

zhh0000zhh 发表于 2020-3-25 23:39

hhyy_best 发表于 2020-3-24 13:24
文件权限只能防篡改,没法防往附件目录丢脚本的防执行。毕竟php执行只需要读权限,不需要执行,没法卡
...

不太懂DZ,也不懂php,常年java+c厮混
但比较熟悉linux
俩思路,仅供参考
1、php限制在一个独立的用户(权限组),禁止这个用户除了php目录之外的写入权限(除了上传路径),禁止除了php执行文件的执行权限(除了php宿主的路径),然后nginx deny掉上传路径的执行权限
在root底下chmod -R 0744一把梭
然后涉及到需要写入权限的堆在一个父路径地下chmod -R 0766设置权限
如果不确定那些插件或者目录需要写入权限,等报错或许是个好法子{:4_103:}
2、附件用nginx代理,只给附件目录写权限,不给读权限,但不知道DZ好不好配置这种附件访问逻辑
但如果有别的附件涉及到写入权限就比较麻烦了

另外从症状上看,论坛肯定被挂东西了,估计是个脚本,会执行某个路径下的文件,否则光上传上来恶意脚本的话没有执行者也不会有问题,另外回滚不能恢复可能是系统层面被挂了,或者DZ被挂了很久了
我建议从linux维度查一下,比如异常进程,异常用户
异常进程只能蒙着来了,ps -ef仔细看看(装一个一样的系统对比一下)
异常用户看/etc/passwd(同上)
最后可以考虑排查一下DZ的全部php文件(不太懂DZ的原理,但php文件修改量应该不大,和对应版本的原始文件对比一下,比如把俩版本分别上传git,git找不同特别明显)
还有个土法子,再装一台,把数据库数据弄过去(无数专业网管推荐——重装系统大法好){:4_150:}

PS:突然发现茶馆不见了,发生了虾米

hhyy_best 发表于 2020-3-26 00:32

zhh0000zhh 发表于 2020-3-25 23:39
不太懂DZ,也不懂php,常年java+c厮混
但比较熟悉linux
俩思路,仅供参考


php权限肯定是不足以乱写的,否则服务器就已经沦陷了,现在看至少服务器暂时还没崩。

别说744了,现在除了上传目录基本是root用户644一把梭

只给写不给读是不成的,一个附件只能传不能下还要这个附件干啥。。。。。

回滚是没救的,52那个附件目录这么多年了鬼知道有多少东西

总之只能比耐心或者诏安了

我们小布尔乔亚投降起来沒有壓力

zhh0000zhh 发表于 2020-3-26 19:50

hhyy_best 发表于 2020-3-26 00:32
php权限肯定是不足以乱写的,否则服务器就已经沦陷了,现在看至少服务器暂时还没崩。

别说744了,现在 ...

nginx去处理附件啊。。chown可以把权限弄到用户头上
php应该是CGI模式接入的,nginx和php是俩不同进程
让他俩跑不同用户,这样nginx有读的权限,php只有写的权限
反正最后附件也是从nginx去搞,php应该只负责路径拼接

hhyy_best 发表于 2020-3-27 16:58

zhh0000zhh 发表于 2020-3-26 19:50
nginx去处理附件啊。。chown可以把权限弄到用户头上
php应该是CGI模式接入的,nginx和php是俩不同进程
...

这是不成的,因为没自动化的操作手法,我不可能让php的用户去chown 文件,而且能改过去,webshell一样能改回来。。。。这属于掩耳盗铃阿。。。

目前我就是把能找到的可写目录设置了不pass给php。问题是可能有没找到的。。。或者给留了别的后门之类,这种不是很熟悉或者抓现行就很难办了。

P0T47O 发表于 2020-3-28 22:23

所以为什么一个填色游戏论坛会有人挂马呢{:4_150:}
难道说有人在秘密收集p社玩家名单以便枪毙(

hhyy_best 发表于 2020-3-28 22:56

阿西吧。又被挂了,用翻了半天日志都没看明白的方法,给某个之前没注意的可写目录传了货

discuz阴暗角落的可写目录太多了,但愿杀光了

顺便测试下附件

testlook 发表于 2020-3-30 16:45

@Lysten 有人想吃刀板面{:4_98:}

plkjuio 发表于 2020-4-1 17:32

加油{:4_182:}{:4_182:}{:4_182:}

oh血小板 发表于 2020-4-5 16:29

上传的问题的话,直接所有上传文件改后缀吧,另外管理员密码整复杂点,只要没得代码或者命令执行就不怕了

舞客铁可 发表于 2020-4-17 16:50

好久没来论坛了,发生了什么...

发发呆 发表于 2020-4-17 20:33

这个需要会编程代码吗

七水凌 发表于 2020-4-22 04:42

最好的办法就是扔掉discuz,php防挂马太难了。
页: [1] 2
查看完整版本: 懂discuz的童鞋看进来,集思广益