صفحة 1 من 1

تشيفر رابط الملف بـ encode & md5

مرسل: 14 يوليو 2010, 21:47
بواسطة Abo Sahar
السلام عليكم ورحمة الله وبركاته
كيف حالكم .. ؟ :)
اليوم سوف أضع لكم شرح لـ تشفير رابط الملف مثال:

http://localhost/pages.php?as=file
المراد تشفيرهـ هو file

أول تشفير بـ base64_encode

ملاحظة :
يستطيع الزائر ان يعكس التشفير ويعرف الاسم الملف..
ولكن أنت وذكاءك
تمت كتابة الكود Abo Sahar
والفكرهـ pmoki

الملف الاول index.php

كود: تحديد الكل

<?php
#=======================#
# Code: Abo Sahar & pmoki
#=======================#
$nfile = "help"; //أسم الملف 
$file = base64_encode($nfile); // تشفير الملف 
$get = $_GET['as']; // القيت
if (isset($get)) { // أذا وجد شي في القيت
 // الرابط الملف الغير المشفر مع حذف الصيغة 
    $url = base64_decode($get).".php"; 
    if (file_exists($url)) { // أذا وجد الملف 
        include $url; // يستدعي الملف
        echo "<br /><b><a href='.'>Back</a>"; // رابط للرجوع الى الخلف
    }else{ // ما عدا ذلك
        echo "File Not Found !"; // الملف غير موجود
    }
}else{
    echo'<a href="index.php?as='.$file.'" title="Please">Plaes</a><br />'; // رابط الملف المشفر
}
?>
الملف الثاني help.php

كود: تحديد الكل

<?php
echo "Help Me ! :)";
?>
* * * * * * * * * *

وتشفير الرابط بـ MD5
:: أسطورة التشفير MD5 :: <-- عايش جو أسطورهـ
الملف index.php

كود: تحديد الكل

<?php
#=================#
# Code : Abo Sahar#
#=================#
$file = "abosahar";// أسم الملف 
$page = $_GET['as'];// أسم القيت
$url = $file.".php";//قطع الصغية الملف
if($page == md5($file)){// التحقق من أن القيت يساوي تشفير أسم الملف :)
    if (file_exists($url)) {// التحقق من وجود الملف
        include $url;  // الاستدعاء الملف
    }
}else{// ما عدا ذلك
    echo "Empty GET OR Error Name File"; // القيت فارغ أو خطاء في أسم الصفحة
}
echo '<br /><a href="?as='.md5($file).'">Go</a>  <a href="index.php">Back</a>';  
?>
الملف الثاني abosahar.php

كود: تحديد الكل

<?php
#=================#
# Code : Abo Sahar#
#=================#
echo "Name Page : abosahar.php ...Welcome Abo Sahar :)";
?>
.
.
ملاحظة : لو تم كتابة الرابط كالتالي :
index.php
index.php?as
index.php?as=
سوف يعتبرها كل خطاء وتظهر Empty GET OR Error Name File
فقط يظهر الرابط كالتالي
index.php?as=أسم الملف المشفر بـ md5
.
.
ملاحظة للجميع يستطيع تطوير الفكرة كل فترهـ لكي لا تموت الخلايا المخ :lol:
ومن أراد رؤية المناقشة للموضوع من هنا http://bb.cliprz-php.com/showthread.php?tid=167
الى اللقاء ... أنتظر أقتراحاتكم[/b]

رد: تشيفر رابط الملف بـ encode & md5

مرسل: 15 يوليو 2010, 01:01
بواسطة saanina
امممم

كود: تحديد الكل

saanina@saanina-laptop:~$ phpsh
Starting php
type 'h' or 'help' to see instructions & features
php> $file = base64_encode('/etc/passwd');

php> if(file_exists(base64_decode($file))){
 ... include base64_decode($file);
 ... }
root:x:0:0:root:/root:/bin/bash
وكودك فيه .php اممم ينفع ياخذ config.php ;)

رد: تشيفر رابط الملف بـ encode & md5

مرسل: 15 يوليو 2010, 03:40
بواسطة Abo Sahar
هلا وغلا بـ عبد الرحمن ..
بس لا أدري هل يوجد خطورهـ دالة $include
في if
أقصد جلب ملف من شرط :)

رد: تشيفر رابط الملف بـ encode & md5

مرسل: 15 يوليو 2010, 03:49
بواسطة saanina
الشرط مش هو القضيه , لكن استخدام انكلود من متغير مجلوب من مصدر خارجي كالبوست والقت والكوكيز امر خطير !
لذا يحتاج منك بعض التاكد كـ وضع مصفوفه بالملفات المسموحه والتاكد قبل استخدامها في انكلود !

رد: تشيفر رابط الملف بـ encode & md5

مرسل: 16 يوليو 2010, 08:44
بواسطة Abo Sahar
أخي عبد الرحمن هل التحقق التالي صحيح

كود: تحديد الكل

$name = basename(__FILE__);
$y = stristr($name,".");
$x = array('php');
if(!is_array($x,$y)){
    die("Error");
}else{
    echo "Good";
}

رد: تشيفر رابط الملف بـ encode & md5

مرسل: 16 يوليو 2010, 23:51
بواسطة saanina
لا اعلم ماعلاقه هذا التحقق بالكود اعلاه !
عموما لتستطيع التحقق من كودك ضع امامك كل السبل المتاحه للمخترق وتفاداها فلا يوجد حل واحد وكل الطرق تؤدي لمكه