数学建模社区-数学中国

标题: 抵御php木马的攻击 [打印本页]

作者: 韩冰    时间: 2004-11-22 23:50
标题: 抵御php木马的攻击

作者:Alpha    来自:http://www.54hack.info/

# k0 Y$ T, |* a) H

1.防止跳出web目录

- l0 {3 z$ h+ c6 K Y3 L

修改httpd.conf,如果你只允许你的php脚本程序在web目录里操作,还可以修改httpd.conf文件限制php的操作路径。比4 ?8 a7 ^; r4 ~) X, _2 n4 O0 L 如你的web目录是/usr/local/apache/htdocs,那么在httpd.conf里加上这么几行:

" E3 e# R9 ^. H% `, j5 ]! N3 L

php_admin_value open_basedir /usr/local/apache/htdocs

3 R) P6 G$ X" r2 X

这样,如果脚本要读取/usr/local/apache/htdocs以外的文件将不会被允许,如果错误显示打开的话 , O# e' d' I: a. I/ G1 w6 Y) M会提示这样的错误:) S9 C# a2 o8 `* C# @# ^; C% G Warning: open_basedir restriction in effect. File is in wrong directory in 8 ?3 `0 }5 w1 r. P& m" o% ^2 \ /usr/local/apache/htdocs/open.php on line 4; `7 {: C- ?8 z# S4 b 等等。 / E# r! L! N0 u. x3 f0 g) h2 ]2.防止php木马执行webshell

* u: L }* r ~+ B

打开safe_mode,, x+ l0 c. C( ^# i' f6 X 在,php.ini中设置8 j9 z% K* T \" a disable_functions= passthru,exec,shell_exec,system

9 c% ?" H' \0 j' T8 x+ L% O/ J

二者选一即可,也可都选

# M% I8 V2 v/ |1 |, C

3.防止php木马读写文件目录

8 }# Z7 s. O S8 L$ k

在php.ini中的4 o% n5 t, r7 W5 R! Q disable_functions= passthru,exec,shell_exec,system

9 Y9 S1 {% s/ n

后面加上php处理文件的函数 , E4 ]2 ~6 j5 f; v8 o6 M0 f+ J" Z" f+ z主要有9 O* {# N8 x3 R9 }5 m0 S1 b- j3 f fopen,mkdir,rmdir,chmod,unlink,dir : D! {2 Z$ f* v3 Dfopen,fread,fclose,fwrite,file_exists" |2 q- H6 o! H* U' K3 A closedir,is_dir,readdir.opendir & R' s3 N7 l) F0 e7 f7 l6 jfileperms.copy,unlink,delfile 8 \1 }; T; c' k7 H$ O% {即成为9 z; R/ U) U6 S- E/ k& ?( t disable_functions= passthru,exec,shell_exec,system,fopen,mkdir,rmdir,chmod,unlink,dir u! r5 n" G2 {1 p6 r, h" x n. G5 J ,fopen,fread,fclose,fwrite,file_exists " O8 m' o6 b1 O6 k {,closedir,is_dir,readdir.opendir1 J; D n" H7 x; O* H$ s" R% W! p ,fileperms.copy,unlink,delfile ) h6 S4 M6 `, x- I5 J2 |# S* ^# lok,大功告成,php木马拿我们没辙了,^_^8 b7 t. D. V d. [2 B/ K 遗憾的是这样的话,利用文本数据库的那些东西就都不能用了哦!

6 l1 q) r7 V. Y: [' F. c! X3 q$ k$ _

如果是在windos平台下搭建的apache我们还需要注意一点,apache默认运行是system权限,这很恐怖,这让人感觉很不爽.那我们就给apache降降权限吧.

! Y0 ~! q% t9 h* Q

net user apache fuckmicrosoft /add

' {' w3 o4 @' S5 n

net localgroup users apache /del

5 O& B. Z8 \ }, j7 A8 a" s

ok.我们建立了一个不属于任何组的用户apche.

: ]% m5 ^$ v' H1 R# _/ w, a" G

我们打开计算机管理器,选服务,点apache服务的属性,我们选择log on ,选择this account ,我们填入上面所建立的账户和密码,重启apache服务,ok,apache运行在低权限下了.

" R' h/ W+ X; M: m' b5 ?9 ~. f; o

实际上我们还可以通过设置各个文件夹的权限,来让apache用户只能执行我们想让它能干的事情,给每一个目录建立一个单独能读写的用户.这也是当前很多虚拟主机提供商的流行配置方法哦,不过这种方法用于防止这里就显的有点大材小用了哦 .






欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) Powered by Discuz! X2.5