程序员,请不要抢系统管理员的饭碗

开发 后端 前端
这里拿一个被入侵的网站做例子,几乎该犯的错误,都犯了。希望没经验的程序员,不要轻易跨界抢系统管理员的饭碗,你留下的烂摊子,还得系统管理员来收拾的。谢谢!

收到哥们一条短信,内容如下:

还有就是海淀分局发了函给我们,要求服务器维护方修复漏洞,并且提供后台漏洞文件,和漏洞攻击日志。都要存档下周一让我带到海淀分局。

看来问题严重,赶紧电话过去问。然后要了系统信息和登录权限。

登录系统,首先查看系统进程,其输出如下(节省篇幅,略掉部分):

wKioL1OlqNbS3UUpAAIlsGOdMyA614.jpg

从输出可以明显看出两个问题,一个是偷懒用lampp套件,而一个明显被入侵了。Lampp这样的套件,安装起来是很省事,但后期维护却非常的不省事。就使用习惯而言,有经验的系统管理员,很少有用lampp套件在生产环境,因此,使用lampp套件的绝大部分是一些抢系统管理员饭碗的程序员了。要知道,任何事情都有两面性,前边省事,后边必然费事;反之,前边费事,未来就省事。一些程序员图省事,以为执行一个安装指令就完事大吉,而不会去探究实质,一旦出故障,要从一堆混乱的配置里做修正,对于一个没多少经验的人来说,绝对是费时费力。

接下来,再来看木马大概做什么动作。先记下前边可疑进程的进程号,然后执行命令

netstat -anp| grep 20904 ,其输出如下:

  1. tcp         0      0  202.165.183.178:12273        202.0.190.89:80              ESTABLISHED 20904/s64             
  2.  
  3. tcp         0      0  202.165.183.178:30215        202.0.188.113:80             ESTABLISHED 20904/s64             
  4.  
  5. tcp       255      0  202.165.183.178:25725        86.149.147.85:8686           CLOSE_WAIT  20904/s64             
  6.  
  7. tcp         0      0 202.165.183.178:25998       202.0.38.31:80              ESTABLISHED 20904/s64             
  8.  
  9. tcp         0      0  202.165.183.178:52828        202.0.188.105:80             ESTABLISHED 20904/s64             
  10.  
  11. tcp         0      0  202.165.183.178:33785        202.0.188.33:80             ESTABLISHED  20904/s64 

这个输出,可以了解本机正把流量引向202.0.190.89、202.0.38.31等地址。这个操作,有可能是打流量,也可能是去下载程序,或者引入盗链。

恶意的猜猜,这个程序员会不会也喜欢用root帐号连数据库呢?先找网站根文档的位置,执行 grep DocumentRoot httpd.conf,得到路径是 /opt/lampp/htdocs ;进入这个目录,进赫然发现文件config.php,打开它吧,my god,部分内容如下(为了真实再现,这里连乱码都没处理,直接粘贴):

  1. <?php  
  2.    
  3. /*  
  4.          [SupeSite] (C) 2007-2009 Comsenz Inc.  
  5.          $Id: config.new.php 10885 2008-12-30 07:47:03Z zhaofei $  
  6. */ 
  7.    
  8. $_SC = array();  
  9.    
  10. //--------------- SupeSite?? ---------------  
  11. $_SC['dbhost'] = 'localhost';                                    //SupeSite????α?(?°?±?μ?ocalhost)  
  12. $_SC['dbuser']  = 'root';                                         //SupeSite?????§?  
  13. $_SC['dbpw'] = 'wscykjw2010';                                           //SupeSite?????  
  14. $_SC['dbname'] = 'wscykjw2013';                                          //SupeSite????  
  15. $_SC['tablepre'] = 'supe_';                                      //SupeSite±???(2?????μ??????)  
  16. $_SC['pconnect'] = 0;                                           //SupeSite?????á???0=1?? 1=′  
  17. $_SC['dbcharset'] = 'utf8';//SupeSite????·  
  18.    
  19. $_SC['siteurl'] = '';                                            //SupeSite3????μ?RL·???·?£???? http:// ?a?μ??URL£????????RL?£?β2????/?£?1¨??ˉ???α±??¤О??a http://www.yourwebsite.com/supesite  ??  
  20.    
  21. //--------------- Discuz!?? ---------------  
  22. $_SC['dbhost_bbs'] = 'localhost';                                //Discuz!??????α??£???μ?iscuz!???SupeSite??ê?1????MySQL·??±£t???£?1·???2??μ?ySQL·?дDiscuz!????μ??3?ySQL·  
  23. $_SC['dbuser_bbs']  = 'root';                                 //Discuz!?????§?  
  24. $_SC['dbpw_bbs'] = 'wscykjw2010';                                                //Discuz!?????  
  25. $_SC['dbname_bbs'] = '';                                         //Discuz!????(?1upeSite°2???????t??′??  
  26. $_SC['tablepre_bbs'] = 'cdb_';                                   //Discuz!±???  
  27. $_SC['pconnect_bbs'] = '0';                                      //Discuz!?????á???0=1?? 1=′  
  28. $_SC['dbcharset_bbs'] =  'utf8';//Discuz!????·  
  29. $_SC['bbsver'] = '';                                            //??°汾(??Discuz!??μ?汾£?=?£o7)  
  30.    
  31. $_SC['bbsurl'] = '';                                             //??URLμ?·?£????http://?a?μ??URL£????????RL?£?β2????/  
  32. $_SC['bbsattachurl'] = '';                                       //??????URLμ?·(???3???????????£??1?ā??3?????愿?£????????)  
  33.    
  34. //--------------- UCenter HOME??  ---------------  
  35. $_SC['dbhost_uch'] = 'localhost';                               //UCenter  HOME????α?  
  36. $_SC['dbuser_uch'] = 'root';                                    //UCenter  HOME?????§?  
  37. $_SC['dbpw_uch'] = 'wscykjw2010';                                                //UCenter HOME?????  
  38. $_SC['dbname_uch'] = '';                                         //UCenter HOME????  
  39. $_SC['tablepre_uch'] = 'uchome_';                               //UCenter  HOME±???  
  40. $_SC['pconnect_uch'] = '0';                                      //UCenter HOME?????á???0=1?? 1=′  
  41. $_SC['dbcharset_uch'] = 'utf8';//UCenter  HOME????·  
  42.    
  43. $_SC['uchurl'] = '';                                             //UCenter HOME URLμ?·?£????http://?a?μ??URL£????????RL?£?β2????/  
  44. $_SC['uchattachurl'] = '';                                       //UCenter HOME ????URLμ?·(???3?????????£??1?ā??????愿?£????????) 

果然有程序员风格,好可爱的root帐号啊!

还记得程序员爱用的一招:目录权限所有用户可读可写可执行,也就是777了。幸亏不是中国人发明的计算机,不然会是999了。到网站根目录/opt/lampp/htdocs,执行一下 pwd 确认一下,接着执行 ls –al 输出如下:

  1. total 2724  
  2. drwxrwxrwx 29 root   root       4096 Jun 21 22:15 .  
  3. drwxr-xr-x 20 root   root       4096 Jul 29  2013 ..  
  4. drwxr-xr-x  2 nobody nobody    4096 Jun 15 06:49 ...  
  5. -rwxrwxrwx  1 root    root     16384 Jul 18  2013 .config.php.swp  
  6. -rwxrwxrwx  1 root    root       190 Jul 22  2013 .htaccess  
  7. -rw-r--r--  1 root    root         8 Jul 29  2013 1.html  
  8. -rwxrwxrwx  1 root    root   1123419 Jan  1   2012 1.mp3  
  9. -rwxrwxrwx  1 root    root     70814 Dec 16  2011 1.swf  
  10. drwxrwxrwx  5 root    root      4096 Jul 28  2013 admin  
  11. -rwxrwxrwx  1 root    root      5454 May 27  2010 admincp.php  
  12. -rwxrwxrwx  1 root    root      2106 Mar  9   2009 announcement.php  
  13. drwxrwxrwx  2 root    root      4096 Jul 28  2013 api  
  14. drwxrwxrwx  7 root    root      4096 Feb 24 15:18  attachments  
  15. -rwxrwxrwx  1 root    root       848 Dec 31  2008 batch.ad.php  
  16. -rwxrwxrwx  1 root    root      9703 Sep 22  2009 batch.comment.php  
  17. -rwxrwxrwx  1 root    root     10912 Sep 23  2009 batch.common.php  
  18. -rwxrwxrwx  1 root    root      1689 Sep 16  2009 batch.download.php  
  19. -rwxrwxrwx  1 root    root      6639 Feb 25  2009 batch.epitome.php  
  20. -rwxrwxrwx  1 root    root       266 Mar 25  2009 batch.formhash.php  
  21. -rwxrwxrwx  1 root    root      3372 Dec 31  2008 batch.html.php  
  22. -rwxrwxrwx  1 root    root      4491 Feb 18  2009 batch.insertimage.php  
  23. -rwxrwxrwx  1 root    root      2630 Dec 31  2008 batch.javascript.php  
  24. -rwxrwxrwx  1 root    root      3261 Oct 22  2009 batch.login.php  
  25. -rwxrwxrwx  1 root    root      3218 Sep 16  2009 batch.modeldownload.php  
  26. -rwxrwxrwx  1 root    root      6842 Sep 22  2009 batch.panel.php  
  27. -rwxrwxrwx  1 root    root     12100 Aug 31  2009 batch.postnews.php  
  28. -rwxrwxrwx  1 root    root      3534 May 27  2010 batch.search.php  
  29. -rwxrwxrwx  1 root    root      2360 Sep 22  2009 batch.secboard.php  
  30. -rwxrwxrwx  1 root    root      1555 Nov  4   2009 batch.tagshow.php  
  31. -rwxrwxrwx  1 root    root      3027 Feb 18  2009 batch.thumb.php  
  32. -rwxrwxrwx  1 root    root     14074 Aug 31  2009 batch.upload.php  
  33. -rwxrwxrwx  1 root    root      1942 Aug 31  2009 bbs.php  
  34. ……………………..余下省略………………………………. 

My god,这位程序员好可爱啊!黑客很感谢你的。

请注意看输出的目录,有一个目录是… ,注意哟,是3个点,很可疑,同时也很容易把人迷惑。相信要迷惑这位可爱的程序员,那是不在话下了。进去看看,哟西,好多文件呢:

  1. -rw-r--r-- 1 nobody nobody   8008 May 23 06:47 cb2.php  
  2.  
  3. -rw-r--r-- 1 nobody nobody 468348 Jan  1   1970 index.html  
  4.  
  5. -rw-r--r-- 1 nobody nobody   6186 May 23 06:47 old.txt  
  6.  
  7. -rw-r--r-- 1 nobody nobody   5948 May 23 06:47 old2.txt  
  8.  
  9. -rw-r--r-- 1 nobody nobody   1289 May 23 06:47 pass.txt  
  10.  
  11. -rwxr-xr-x  1 nobody nobody  20044 May 23 06:47 s64  
  12.  
  13. -rw-r--r-- 1 nobody nobody   1711 May 23 06:47 user.txt  
  14.  
  15. -rw-r--r-- 1 nobody nobody    149 Jun 15 11:12 vulnerables.txt  
  16.   

记得前边的进程,有个s64,它就藏在这里了。记得用find搜一下,看其它地方还有没有。打开几个文件看了一下,全是与木马相关的文件。

闲着没事,再帮他看看系统帐号,有几行也不对劲,其内容为:

  1. dovecot:x:101:104::/home/dovecot:/bin/bash  
  2.  
  3. nx:x:102:105::/usr/NX/home/nx:/usr/NX/bin/nxserver  
  4.  
  5. webmaster:x:3004:100::/home/webmaster:/bin/bash  

翻一下他的历史记录,有一行内容为 806  /usr/local/mysql/bin/mysqldump -uroot -pwscykjw > /opt/sql.sql 。这个直接把root密码写在命令行参数里,你这样图省事,黑客进来也省事啊,不用再费劲,就直接拿库了。

这里拿一个被入侵的网站做例子,几乎该犯的错误,都犯了。希望没经验的程序员,不要轻易跨界抢系统管理员的饭碗,你留下的烂摊子,还得系统管理员来收拾的。谢谢!

博文地址:http://sery.blog.51cto.com/10037/1429418

责任编辑:林师授 来源: 51CTO博客
相关推荐

2010-07-09 12:52:21

2013-09-18 10:33:32

程序员管理员

2013-03-30 21:59:13

系统管理员必备工具iftop

2018-08-01 08:12:34

Linux管理员网络管理

2018-08-15 14:00:18

LinuxBash系统管理员

2013-06-26 09:29:30

系统管理员

2013-09-29 09:50:21

系统管理员Ubuntu JujuJuju

2010-04-12 09:33:58

系统管理员

2010-08-10 09:13:52

Unix系统管理员Ubuntu

2010-08-11 17:11:15

2019-09-09 14:45:29

系统管理员SRE

2010-05-06 18:07:33

Unix命令

2019-08-13 19:34:45

容器镜像DockerLinux

2010-05-07 16:35:44

2011-06-16 09:35:28

系统管理员iPad应用

2013-08-20 10:11:20

Go系统管理员

2012-06-06 10:41:37

系统管理员运维

2011-10-20 10:29:22

VMwareVMworld虚拟化

2010-11-10 09:36:38

系统管理员守则

2009-10-22 16:53:08

点赞
收藏

51CTO技术栈公众号