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

作者:田逸(sery@163.com)

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

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

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

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

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

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

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

tcp         0      0  202.165.183.178:12273        202.0.190.89:80              ESTABLISHED 20904/s64

tcp         0      0  202.165.183.178:30215        202.0.188.113:80             ESTABLISHED 20904/s64

tcp       255      0  202.165.183.178:25725        86.149.147.85:8686           CLOSE_WAIT  20904/s64

tcp         0      0 202.165.183.178:25998       202.0.38.31:80              ESTABLISHED 20904/s64

tcp         0      0  202.165.183.178:52828        202.0.188.105:80             ESTABLISHED 20904/s64

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,部分内容如下(为了真实再现,这里连乱码都没处理,直接粘贴):

<?php

/*

[SupeSite] (C) 2007-2009 Comsenz Inc.

$Id: config.new.php 10885 2008-12-30 07:47:03Z zhaofei $

*/

$_SC = array();

//--------------- SupeSite?? ---------------

$_SC['dbhost'] = 'localhost';                                    //SupeSite????α?(?°?±?μ?ocalhost)

$_SC['dbuser']  = 'root';                                         //SupeSite?????§?

$_SC['dbpw'] = 'wscykjw2010';                                           //SupeSite?????

$_SC['dbname'] = 'wscykjw2013';                                          //SupeSite????

$_SC['tablepre'] = 'supe_';                                      //SupeSite±???(2?????μ??????)

$_SC['pconnect'] = 0;                                           //SupeSite?????á???0=1?? 1=′

$_SC['dbcharset'] = 'utf8';//SupeSite????·

$_SC['siteurl'] = '';                                            //SupeSite3????μ?RL·???·?£???? http:// ?a?μ??URL£????????RL?£?β2????/?£?1¨??ˉ???α±??¤О??a http://www.yourwebsite.com/supesite  ??

//--------------- Discuz!?? ---------------

$_SC['dbhost_bbs'] = 'localhost';                                //Discuz!??????α??£???μ?iscuz!???SupeSite??ê?1????MySQL·??±£t???£?1·???2??μ?ySQL·?дDiscuz!????μ??3?ySQL·

$_SC['dbuser_bbs']  = 'root';                                 //Discuz!?????§?

$_SC['dbpw_bbs'] = 'wscykjw2010';                                                //Discuz!?????

$_SC['dbname_bbs'] = '';                                         //Discuz!????(?1upeSite°2???????t??′??

$_SC['tablepre_bbs'] = 'cdb_';                                   //Discuz!±???

$_SC['pconnect_bbs'] = '0';                                      //Discuz!?????á???0=1?? 1=′

$_SC['dbcharset_bbs'] =  'utf8';//Discuz!????·

$_SC['bbsver'] = '';                                            //??°汾(??Discuz!??μ?汾£?=?£o7)

$_SC['bbsurl'] = '';                                             //??URLμ?·?£????http://?a?μ??URL£????????RL?£?β2????/

$_SC['bbsattachurl'] = '';                                       //??????URLμ?·(???3???????????£??1?ā??3?????愿?£????????)

//--------------- UCenter HOME??  ---------------

$_SC['dbhost_uch'] = 'localhost';                               //UCenter  HOME????α?

$_SC['dbuser_uch'] = 'root';                                    //UCenter  HOME?????§?

$_SC['dbpw_uch'] = 'wscykjw2010';                                                //UCenter HOME?????

$_SC['dbname_uch'] = '';                                         //UCenter HOME????

$_SC['tablepre_uch'] = 'uchome_';                               //UCenter  HOME±???

$_SC['pconnect_uch'] = '0';                                      //UCenter HOME?????á???0=1?? 1=′

$_SC['dbcharset_uch'] = 'utf8';//UCenter  HOME????·

$_SC['uchurl'] = '';                                             //UCenter HOME URLμ?·?£????http://?a?μ??URL£????????RL?£?β2????/

$_SC['uchattachurl'] = '';                                       //UCenter HOME ????URLμ?·(???3?????????£??1?ā??????愿?£????????)

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

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

total 2724

drwxrwxrwx 29 root   root       4096 Jun 21 22:15 .

drwxr-xr-x 20 root   root       4096 Jul 29  2013 ..

drwxr-xr-x  2 nobody nobody    4096 Jun 15 06:49 ...

-rwxrwxrwx  1 root    root     16384 Jul 18  2013 .config.php.swp

-rwxrwxrwx  1 root    root       190 Jul 22  2013 .htaccess

-rw-r--r--  1 root    root         8 Jul 29  2013 1.html

-rwxrwxrwx  1 root    root   1123419 Jan  1   2012 1.mp3

-rwxrwxrwx  1 root    root     70814 Dec 16  2011 1.swf

drwxrwxrwx  5 root    root      4096 Jul 28  2013 admin

-rwxrwxrwx  1 root    root      5454 May 27  2010 admincp.php

-rwxrwxrwx  1 root    root      2106 Mar  9   2009 announcement.php

drwxrwxrwx  2 root    root      4096 Jul 28  2013 api

drwxrwxrwx  7 root    root      4096 Feb 24 15:18  attachments

-rwxrwxrwx  1 root    root       848 Dec 31  2008 batch.ad.php

-rwxrwxrwx  1 root    root      9703 Sep 22  2009 batch.comment.php

-rwxrwxrwx  1 root    root     10912 Sep 23  2009 batch.common.php

-rwxrwxrwx  1 root    root      1689 Sep 16  2009 batch.download.php

-rwxrwxrwx  1 root    root      6639 Feb 25  2009 batch.epitome.php

-rwxrwxrwx  1 root    root       266 Mar 25  2009 batch.formhash.php

-rwxrwxrwx  1 root    root      3372 Dec 31  2008 batch.html.php

-rwxrwxrwx  1 root    root      4491 Feb 18  2009 batch.insertimage.php

-rwxrwxrwx  1 root    root      2630 Dec 31  2008 batch.javascript.php

-rwxrwxrwx  1 root    root      3261 Oct 22  2009 batch.login.php

-rwxrwxrwx  1 root    root      3218 Sep 16  2009 batch.modeldownload.php

-rwxrwxrwx  1 root    root      6842 Sep 22  2009 batch.panel.php

-rwxrwxrwx  1 root    root     12100 Aug 31  2009 batch.postnews.php

-rwxrwxrwx  1 root    root      3534 May 27  2010 batch.search.php

-rwxrwxrwx  1 root    root      2360 Sep 22  2009 batch.secboard.php

-rwxrwxrwx  1 root    root      1555 Nov  4   2009 batch.tagshow.php

-rwxrwxrwx  1 root    root      3027 Feb 18  2009 batch.thumb.php

-rwxrwxrwx  1 root    root     14074 Aug 31  2009 batch.upload.php

-rwxrwxrwx  1 root    root      1942 Aug 31  2009 bbs.php

……………………..余下省略……………………………….

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

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

-rw-r--r-- 1 nobody nobody   8008 May 23 06:47 cb2.php

-rw-r--r-- 1 nobody nobody 468348 Jan  1   1970 index.html

-rw-r--r-- 1 nobody nobody   6186 May 23 06:47 old.txt

-rw-r--r-- 1 nobody nobody   5948 May 23 06:47 old2.txt

-rw-r--r-- 1 nobody nobody   1289 May 23 06:47 pass.txt

-rwxr-xr-x  1 nobody nobody  20044 May 23 06:47 s64

-rw-r--r-- 1 nobody nobody   1711 May 23 06:47 user.txt

-rw-r--r-- 1 nobody nobody    149 Jun 15 11:12 vulnerables.txt

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

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

dovecot:x:101:104::/home/dovecot:/bin/bash

nx:x:102:105::/usr/NX/home/nx:/usr/NX/bin/nxserver

webmaster:x:3004:100::/home/webmaster:/bin/bash

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

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

------------------------------------------------------------------華麗的分割-------------------------------------------------------

澄清一下。我哥们做IDC,他揽了一个活,让我的小弟帮忙。小弟花了些时间,按我们的规范做好了各种加固,网站也正式跑起来了,半年多也没什么问题。后来这个公司把root权限要过去,然后就不让我的小弟碰了,密码也改了。最近被黑,自然搞不定,又来找咱们帮忙,上去一看,nginx、独立的php等,全部被废弃,取而代之的是lamp,所以呢,才有我写的那个文字。不是针对正常的程序员跟系统管理员那种配合,是给自作主张搞程序外包的个体户程序员敲个警钟,不要啥都搞!!!没有以点带面的意思,很抱歉!

程序员,请不要抢系统管理员的饭碗相关推荐

  1. 程序员请收好:10个非常有用的Visual Studio Code插件

    作者 | Daan 译者 | Elle 出品 | CSDN(ID:CSDNnews) [导读]一个插件列表,可以让你的程序员生活变得轻松许多.无论你是经验丰富的开发人员还是刚刚开始第一份工作的初级开发 ...

  2. 程序员请收好:10个非常有用的 Visual Studio Code 插件!

    一个插件列表,可以让你的程序员生活变得轻松许多. 作者 | Daan 译者 | Elle 出品 | CSDN(ID:CSDNnews) 以下为译文: 无论你是经验丰富的开发人员还是刚刚开始第一份工作的 ...

  3. 前谷歌技术主管亲述:程序员请避开这几大雷区

    软件工程师的技能发展都会经历一个自然的过程--经验从无到有,最后变成老手.而一旦到了经验丰富的阶段,他们对代码就不那么感兴趣了.恰恰相反,他们会把更多的精力放在文件设计和代码重构上. 奇怪的是,不管任 ...

  4. 程序员口头禅_今年系统管理员的口头禅:更聪明地工作,而不是更努力

    程序员口头禅 成为系统管理员并非易事. 系统管理员通常必须设计,构建,监视和维护在不同的平台上运行的大量不同的服务. 大多数系统管理员由于意外事故而进入该领域,因此他们有时缺乏对工具集的正式,有组织的 ...

  5. visual studio 代码提示插件_程序员请收好:10个非常有用的Visual Studio Code插件

    作者 | Daan 译者 | Elle 出品 | CSDN(ID:CSDNnews) [导读]一个插件列表,可以让你的程序员生活变得轻松许多.无论你是经验丰富的开发人员还是刚刚开始第一份工作的初级开发 ...

  6. 从医记之程序员请呵护你的胃

    2019独角兽企业重金招聘Python工程师标准>>> 前言:转到医院工作已经3月了,虽然不是医生,但也穿着白大褂,看着像那么回事儿,内心也渐渐强大了.上次@王振威 的老婆@刘小羊 ...

  7. 世界读书日:作为一个优秀的程序员请收藏这份书单

    ​4月23日世界读书日全称"世界图书与版权日",又称"世界图书日".最初的创意来自于国际出版商协会.由西班牙转交方案给了联合国教科文组织. 1995年11月15 ...

  8. 2020年iOS 和Android程序员请开始修炼内功

    年底聚餐,很多从事移动开发朋友都在抱怨工作不好找,收入增长慢,公司地位低等问题.遥想2010年移动大爆发时代,从事iOS和Android岗位那可是牛x大发了.真是应了那句老话,逆水行舟不进则退,甚至小 ...

  9. 程序员请注意,这个Python思维误区会致命!

    不止一位程序员告诉我,现在中国力量崛起,以后出国可能大家都得讲中文呢,谁还去学英语啊. 可实际上呢? 程序员对英语的需求不是减弱了,而是更强了.中国产出了大量的新技术,硅谷同样在产生创新技术,中国的开 ...

最新文章

  1. PBR游戏3D模型合集包 PBR Game 3D-Models Bundle February 2022
  2. iOS 根据数组中的字典的value值进行排序
  3. 认识Python(day01)
  4. python动态语言解释_python是动态语言吗
  5. SELinux进阶篇 应用目标策略管理非限制进程和用户
  6. linux添加zip扩展
  7. 让人郁闷的“DesktopCompatible”
  8. CF815C Karen and Supermarket [树形DP]
  9. IE overflow:hidden失效的解决方法:
  10. “乌木”到底是何物?它是怎样形成的?为何总能卖出天价?
  11. VMWare 虚拟机工作站 + Ubuntu操作系统安装
  12. Java 嵌入 SPL 轻松实现数据分组
  13. 粒子场优化(Particle Field Optimization,PFO)
  14. Keras中文文档总结
  15. SREng 使用指南(二)启动项目详细解说
  16. html怎么把桌面的图片放大缩小,css怎么让图片随屏幕大小改变?
  17. 亚马逊AWS命令行 aws cli
  18. python保存不了_python文件无法保存怎么解决
  19. AE+VS+c#开发颜色符号系统之统计符号化(八)符号化完结篇
  20. 【20180128】【matlab】均值、标准差、方差、协方差、中值的求解

热门文章

  1. 洛谷 P2114 [NOI2014]起床困难综合症 解题报告
  2. iShow UI for React 最佳实践
  3. asp.net linq查询环境搭建
  4. Android之使用Android-AQuery异步加载图片(一)
  5. MySQL学习笔记_7_MySQL常用内置函数
  6. 已完结 | PMCAFF深度报告:《 典典养车如何在一年内做到600万用户、三轮融资、覆盖40城市》
  7. 产品经理如何走出被运营牵着鼻子走的怪圈
  8. 活动 | 优步首席产品官Jeff Holden携手百度总裁张亚勤,告诉你Uber高速增长的秘密...
  9. PMCAFF|产品经理必须懂得的五大心理学分支
  10. ORA-20000:ORU-10027:buffer overflow,limit of 2000 bytes.