三千论坛

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

作者: 异仟年    时间: 2022-9-5 18:08
标题: PHP木马的攻击的防御之道
首先修改httpd.conf,如果你只允许你的php脚本程序在web目录里操作,还可以修改httpd.conf文件限制php的操作路径。比如你的web目录是/usr/local/apache/htdocs,那么在httpd.conf里加上这么几行:  + g: U4 r8 `' m
   php_admin_value open_basedir /usr/local/apache/htdocs
# }. F2 b, b' A/ z2 [
     f/ M" O5 _; X( b# L4 D- B
   这样,如果脚本要读取/usr/local/apache/htdocs以外的文件将不会被允许,如果错误显示打开的话会提示这样的错误:# x- `  l8 D  \  k' b; b4 r  v
   Warning: open_basedir restriction in effect. File is in wrong directory in
. s" {* P( `. F3 F5 R7 E7 @9 p
   /usr/local/apache/htdocs/open.php on line 4
* j% |, M' t% J& \  _
   等等。
! ~$ ]8 h. i: C! l$ U3 Q
   2.防止php木马执行webshell
/ {: e- H& \/ g. I$ d6 D9 H2 b
   打开safe_mode,
1 P. O) h, ~: }3 ~+ B
   ,php.ini中设置
, H7 I' o, s7 D$ s5 {
   disable_functions= passthru,exec,shell_exec,system  4 U; H% r2 G3 C' ]; n
   二者选一即可,也可都选  . W5 M$ H0 K4 r1 g/ ^% A; c% ^
   3.防止php木马读写文件目录  ) ]# l- P- B$ `! A, _" R
   php.ini中的
  W" a6 \2 y* c: h% U
   disable_functions= passthru,exec,shell_exec,system  , |7 K% H6 g3 i: T+ t( W1 d' k
   后面加上php处理文件的函数
) S4 _6 ?! w  X8 m# s% F
   主要有
3 v. b/ R4 m4 f' {3 `3 X0 o
   fopen,mkdir,rmdir,chmod,unlink,dir- T) ?/ }' q5 t+ g8 Q) p
   fopen,fread,fclose,fwrite,file_exists
2 V- c" k4 k8 Q0 d$ R4 I
   closedir,is_dir,readdir.opendir
5 o+ Y4 P! u' L1 T
   fileperms.copy,unlink,delfile
) n% r. j+ _9 B( e: R0 _' Q8 ~
   即成为7 E0 Y2 y/ }! ^# U+ p- v
   disable_functions= passthru,exec,shell_exec,system,fopen,mkdir,rmdir,chmod,unlink,dir" |9 }! Q: j6 x! ^: D% G
   ,fopen,fread,fclose,fwrite,file_exists1 N% E3 q6 i* T& ?/ f
   ,closedir,is_dir,readdir.opendir
8 Y( r9 C; c) d0 m% T+ ?
   ,fileperms.copy,unlink,delfile
$ z  I" ?0 a  y( b) u
   ok,大功告成,php木马拿我们没辙了,^_^! U" M6 v+ B* N1 n
   遗憾的是这样的话,利用文本数据库的那些东西就都不能用了。 7 n# o% [1 A7 Q+ R- ~# C
   如果是在windos平台下搭建的apache我们还需要注意一点,apache默认运行是system权限,这很恐怖,这让人感觉很不爽.那我们就给apache降降权限吧.  
7 k  V3 f! ~. n0 V3 G; t3 N, |
   net user apache ****microsoft /add  - H3 T* Q* p: @( g3 v
   net localgroup users apache /del  
8 R0 `) a) T& e; p7 p' S% R
   ok.我们建立了一个不属于任何组的用户apche.  - g# s: E0 G* E3 K
   我们打开计算机管理器,选服务,apache服务的属性,我们选择log on ,选择this account ,我们填入上面所建立的账户和密码,重启apache服务,ok,apache运行在低权限下了.
2 \# f8 ^3 ~. c7 F  Z
   实际上我们还可以通过设置各个文件夹的权限,来让apache用户只能执行我们想让它能干的事情,给每一个目录建立一个单独能读写的用户.这也是当前很多虚拟主机提供商的流行配置方法哦,不过这种方法用于防止这里就显的有点大材小用了。
2 v! t' G+ j1 v" o





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