三千论坛

标题: PHP木马的攻击的防御之道 [打印本页]

作者: 异仟年    时间: 2022-9-5 18:08
标题: PHP木马的攻击的防御之道
首先修改httpd.conf,如果你只允许你的php脚本程序在web目录里操作,还可以修改httpd.conf文件限制php的操作路径。比如你的web目录是/usr/local/apache/htdocs,那么在httpd.conf里加上这么几行:  
4 c0 ]# `0 X1 q. c
   php_admin_value open_basedir /usr/local/apache/htdocs- u" o/ i% O& Y" \8 `7 }" y
   / r' f7 z- ]- i* h$ d
   这样,如果脚本要读取/usr/local/apache/htdocs以外的文件将不会被允许,如果错误显示打开的话会提示这样的错误:
- D: u2 ~) a% T
   Warning: open_basedir restriction in effect. File is in wrong directory in$ m* r2 v; t* y+ v. C  q  `8 a6 k
   /usr/local/apache/htdocs/open.php on line 4
2 M& c% K) W1 Q' G* K
   等等。
+ s& k9 C0 X* C3 d
   2.防止php木马执行webshell
; o9 d( J8 n4 F4 S" G  D/ q
   打开safe_mode,' {- ^2 W' d- H# A
   ,php.ini中设置) k5 p/ X; F& v% U& |: h
   disable_functions= passthru,exec,shell_exec,system  
' W" y2 H, c9 s  w$ A# u9 Q: z8 `
   二者选一即可,也可都选  ) b5 _9 G* J3 S) P: t! f: D
   3.防止php木马读写文件目录  
1 M- m+ i8 l. e7 b
   php.ini中的# ]- z) h& C+ t7 r6 p
   disable_functions= passthru,exec,shell_exec,system  
+ j5 e0 g+ k% A: `. z
   后面加上php处理文件的函数: V5 L6 |' g% ?  L, L+ z
   主要有  d" _: F. J# C) n+ B; }* z4 B
   fopen,mkdir,rmdir,chmod,unlink,dir; V/ n) h2 ]  N# A0 i
   fopen,fread,fclose,fwrite,file_exists
* ]  @0 F+ M  S
   closedir,is_dir,readdir.opendir
; L* B" Z  L  [0 \  {) H  ?
   fileperms.copy,unlink,delfile
; K' g" p' U+ e. l
   即成为
# E( L- P4 ~0 B( S
   disable_functions= passthru,exec,shell_exec,system,fopen,mkdir,rmdir,chmod,unlink,dir/ i' }. ?3 _2 ~4 |7 R1 w
   ,fopen,fread,fclose,fwrite,file_exists( b  p, E  Y6 g& Y. N% P# g/ ^! A
   ,closedir,is_dir,readdir.opendir
: J- g3 J) L) P- M( e
   ,fileperms.copy,unlink,delfile
, u) Y9 ]. @$ u4 z
   ok,大功告成,php木马拿我们没辙了,^_^
; b6 ^# f+ k2 T  w/ D. ~* t
   遗憾的是这样的话,利用文本数据库的那些东西就都不能用了。 
& h5 M# r. B2 K% ~" m) y: k' Z' I
   如果是在windos平台下搭建的apache我们还需要注意一点,apache默认运行是system权限,这很恐怖,这让人感觉很不爽.那我们就给apache降降权限吧.  . C5 k5 c8 h* e/ Y: ]6 M  l
   net user apache ****microsoft /add  
2 s, M% x! E( f  k8 w
   net localgroup users apache /del  0 O  I+ h2 Y( O% [! Z7 g6 Y" r
   ok.我们建立了一个不属于任何组的用户apche.  
* h1 V) g4 \4 Y  ^
   我们打开计算机管理器,选服务,apache服务的属性,我们选择log on ,选择this account ,我们填入上面所建立的账户和密码,重启apache服务,ok,apache运行在低权限下了.
- F0 L( h; L0 z  W3 o9 C8 l7 e
   实际上我们还可以通过设置各个文件夹的权限,来让apache用户只能执行我们想让它能干的事情,给每一个目录建立一个单独能读写的用户.这也是当前很多虚拟主机提供商的流行配置方法哦,不过这种方法用于防止这里就显的有点大材小用了。

. w2 @5 d% u7 _& l* t; R% ^& F




欢迎光临 三千论坛 (http://www.3000y.vip/) Powered by Discuz! X3.4