درود دوستان .
امروز میخوام شما رو با پچ کردن باگ های زیر آشنا کنم :
Local File Inclusion
Remote File Inclusion
Local File Disclosure / Download
به احتمال زیاد شما عزیزان میزان خطرناک بودن این باگ ها رو میدونید و اینکه چه خطراتی نیز برای سرور میتونن داشته باشن به طور مثال خواندن فایل shadow با باگ lfi و...
خوب حالا باهم میریم که ببینیم چطور میشه این باگ هارو Patch کرد !
ما برای این کار از تابع ()basename که در برنامه نویسی php استفاده میشه و از رد و بدل شدن فایل ها جلوگیری میکنه استفاده میکنیم.
فرض کنید سورس کد پیج آسیب پذیر این هست :
[align=left][php]<title>My Page</title>
<b>Testing Page...</b>
<br>
<br>
<?php
include ($_GET['file']."php");
?>[/php][/align]
در این حالت نفوذگر میتونه به راحتی با دستور زیر فایل مورد نظرش رو فراخوانی کنه :
[align=left]
[/align]
خوب حالا برای اینکه ما این رو رفعش کنیم میایم تابع basename رو به این شکل اصافه میکنیم :
[align=left]
[/align]
سورس پیج بعد از رفع شدن باگ :
[align=left][php]<title>My Page</title>
<b>Testing Page...</b>
<br>
<br>
<?php
include (basename($_GET['file']."php"));
?>[/php][/align]
درصورتی که نیاز به فیلم آموزشی این مطلب داشتید اعلام کنید گرچه درک این مطلب به نظر من چندان سخت نیست که نیاز به فیلم آموزشی داشته باشه. در هر صورت در صورت نیاز اعلام کنید تا رسیدگی بشه.
بدرود.../
امروز میخوام شما رو با پچ کردن باگ های زیر آشنا کنم :
Local File Inclusion
Remote File Inclusion
Local File Disclosure / Download
به احتمال زیاد شما عزیزان میزان خطرناک بودن این باگ ها رو میدونید و اینکه چه خطراتی نیز برای سرور میتونن داشته باشن به طور مثال خواندن فایل shadow با باگ lfi و...
خوب حالا باهم میریم که ببینیم چطور میشه این باگ هارو Patch کرد !
ما برای این کار از تابع ()basename که در برنامه نویسی php استفاده میشه و از رد و بدل شدن فایل ها جلوگیری میکنه استفاده میکنیم.
فرض کنید سورس کد پیج آسیب پذیر این هست :
[align=left][php]<title>My Page</title>
<b>Testing Page...</b>
<br>
<br>
<?php
include ($_GET['file']."php");
?>[/php][/align]
در این حالت نفوذگر میتونه به راحتی با دستور زیر فایل مورد نظرش رو فراخوانی کنه :
[align=left]
کد:
http://site.com/test.php?file=../yourfile
خوب حالا برای اینکه ما این رو رفعش کنیم میایم تابع basename رو به این شکل اصافه میکنیم :
[align=left]
کد:
include (basename($_GET['file']."php"));
سورس پیج بعد از رفع شدن باگ :
[align=left][php]<title>My Page</title>
<b>Testing Page...</b>
<br>
<br>
<?php
include (basename($_GET['file']."php"));
?>[/php][/align]
درصورتی که نیاز به فیلم آموزشی این مطلب داشتید اعلام کنید گرچه درک این مطلب به نظر من چندان سخت نیست که نیاز به فیلم آموزشی داشته باشه. در هر صورت در صورت نیاز اعلام کنید تا رسیدگی بشه.
بدرود.../