Anti-armenia.ORG - Forumlar - PHP upload script



Istifadəçi
    2012-04-15 13:28 GMT                 

substring



VIP
Mesaj Sayı : 73
Mövzu Sayı :
Rep Ver : 
Rep Sayı :   3  
Indi Saytda : Durum
Cinsiyyət : Oğlan
Şəhər :
Ölkə :
Məslək :
Yaş :
Mesaj :

Mövzunu Paylaş!


Forumu gəzərkən proqramlama bölməsində php uploader skripti gördüm,yoxlamaq istədim səhvləri çıxdı,develop eləməy istədim hövsələm çatmadı.Ona görə oynaya-oynaya balaca yukleme skripti yazmağa qərar verdim. Skript yalnız media tipli (jpg,png,gif,jpeg) fayllari cari dir-ə yükləməyə icazə verir.Errorsuz işləməlidir,işdir əgər error çıxarsa tənqidləri qəbul etməyə hazıram .Öyrənmək və develop etməy istəyənlər üçün kodları kommentləri ilə bir yerdə yazmışam.

Kod:
<?

#####################

//Coded By Camoufl4g3
//Respect to All brothers old Members
//AkaStep,Svam,B0T_25,System_Invisible,Hero_Aze,_Antivirus_,Kaka,X-Hack and etc...

#####################


if(isset($_POST)){

$dir = dirname(__FILE__);
$fayl_adi=$_FILES['fayl_adi']['name']; //Yuklenecek faylin adi
$fayl_qaynaq = $_FILES['fayl_adi']['tmp_name']; //Yuklenecek faylin secildiyi path
$fayl_hecm = $_FILES['fayl_adi']['size'];  //Yuklenecek faylin hecmi
$fayl_tip = $_FILES['fayl_adi']['type']; //Yuklenecek faylin tipi
$faylTipler = array("jpg","jpeg","png","gif","JPEG","JPG","PNG");
$fayl_uzantisi = end(explode('.',$fayl_adi)); //Noqteden sonra faylin uzantisini secirik
$fayl_yolu = $dir."/".$fayl_adi; //Fayl Qovlugu,Fayl adi eyni deyiskende birlesdiririy

if($fayl_qaynaq){
//Fayl secilibse
if(in_array($fayl_uzantisi,$faylTipler)){
//Yuklenecek faylin tipi massivde verilen fayl tipi ile uygun gelirse

if($fayl_hecm<100000){

//$yukle = move_uploaded_file($fayl_qaynaq,$fayl_yolu);
$yukle = copy($fayl_qaynaq,$fayl_yolu);
if(is_uploaded_file($fayl_qaynaq)){

echo "<h2><font color='green'>Fayl yuklenildi</font></h2>";


}else{
echo "<h2><font color='red'>Fayl yuklenilmedi</font></h2>";
}
}else{
echo "Faylin hecmi 100 kb dan coxdur";
}
}else{
echo "Yuklemek istediyiniz fayl tipine icaze verilmir";

}

}

}else{

echo "Bos melumat gonderdiniz";
}



?>
<form enctype="multipart/form-data" action="<?=$_SERVER['PHP_SELF']?>" method="POST" >
<input type="file" name="fayl_adi">
<input type="submit" value="Yukle">
</form>

Anti-armenia.ORG
    

Istifadəçi
    2012-04-16 01:06 GMT                 

BlackMinD



Pr0grammer
Mesaj Sayı : 1677
Mövzu Sayı :
Rep Ver : 
Rep Sayı :   62  
Indi Saytda : Durum
Cinsiyyət : Oğlan
Şəhər : KARABAKH IS AZERBAIJAN!
Ölkə :
Məslək :
Yaş :
Mesaj :

Mövzunu Paylaş!


Təşəkkürlər bro
Həvəsə saldın məni də)
Belə bir şey yazdım bəlkə kiminsə işinə yarıyar.(Biraz səliqəsiz alındı Səliqəsizlik mənə xasdır Üzrlü sayın )

default login:tester
default pass:4brothers
http://pastebin.com/7UYZxVrt

Kod:
<?php
error_reporting('off');
session_start(); // el vurma login ola bilmeyeceksen eks halda.

/*
Coded By AkaStep 4 brothers.
  ~Respect Fly's out to: Krutoy,MetaIzm,Camoufl4g3
  MCH,
  Ferid23,
  Pun!sh3r,
    The_Hacker_Manifesto,
     ACOSTA,
      XEY,
    Orxan_204,
        Ales_McGregor,
        insan,
         SANOAR,
          Evil (Aka Evil Bro :D),
           Psycho,
            ramsess,
            Cyber-F,
              Samuray1,
               Aqil,
               Jakudza and to all others!
               
*/







define("CURDIR",'.'. str_ireplace('\\','/',DIRECTORY_SEPARATOR)); // yuklenecek cari dir.
define("MAILADRESIN",'test@192.168.0.15');//mail adresin senin burada.Melumatlari sene gondermek ucun.

// debug ok # die(md5('4brothers'));//
$mylogin='tester'; // loginin.Deyisdir. default login: tester
$mypass='332a247081e496ee2da9003dd80faff1'; // Parolun MD5 sekilde qoy bura pass: default pass: 4brothers


//icazeli fayl tiplerimiz (uploada olar bunlari);
$icazeli=array('txt','jpg',
               'gif','jpeg',
               'bmp','rar',
               'zip','png','exe','msi','chm','doc','docx'
               );
//


/*  Bunu pozma Istesen deyisdir  amma pozma! */
$salt='L)a-vAWY`<nMr-h6DIeM8YFu-
kc)IcI9hcowU-W11e[9zEi6e[
i.zT(}.DlY6KNH@p>:XhMFRDM
rCQaN9ii({rJ43Yup+i[TdM}Q
l3+%{O%b=QVEwcp\zW|Qy|gW:
$;f~HP]d<yKNN`0<LtywUPn\e
R_L.:%=FmF.i?qv|<4Y%_|=gc
]GN\[`HL0#q?yB0Y9ZLLLIJ$?
Hwc~cw9/e<ciiqSB0eUJ*9oB/
CbPcTL3h}L??|.^F]vV)pZhgO
';
/* Bunu pozma Istesen Deyisdir amma pozma! */


?>
<html>
    <head>
        <title>Not Found</title>
        <style type="text/css">
        body{
            background-color:black;
            color:red;
        }
        .faylreng,input
        {
            background-color: black;
            color:red;
        }
        .secfaylireng
        {
        color:red;
        }
        a
        {
            text-decoration:none;
            color:white;
            size:12px;
        }
       
        </style>
    </head>
    <body>


<?php

if(isset($_GET['logout']) && isset($_SESSION['cpaptcha']))
{
if(md5(sha1($salt))===$_GET['logout'])
{
unset($_SESSION['cpaptcha']);
@session_destroy();
die('<script>location.replace("?");</script>');
}
}


if(isset($_POST['daxilol']) && isset($_POST['login']) && !empty($_POST['login']) && isset($_POST['parol']) && !empty($_POST['parol']))
   {
   

    if (md5($_POST['login']) ===md5($mylogin) && md5(md5($_POST['parol'])) ===md5($mypass))
    {
        $_SESSION['cpaptcha']=md5(sha1($salt));
        die('<script>location.replace("?");</script>');
    }
    else
    {
        die('<script>alert("Login Yaxud Parol Sehvdir!");location.replace("?");</script>');
    }
   
   
   }


if(!isset($_SESSION['cpaptcha']) || empty($_SESSION['cpaptcha']))
   {
    die(str_repeat('<ul><br>' .PHP_EOL,10) . '
        <form name="auth" id="auth" method="post" autocomplete="off" action="">
        <label>Login:</label>
        <input type="text" name="login" id="login" mexlength="20" />
        <label>Parol:</label>
        <input type="password" name="parol" id="parol" />
        <input type="submit" name="daxilol" value="Daxil Ol" />
        </form>
       
        ' . str_repeat('</ul>' .PHP_EOL,10) .
        '</body>
        </html>');
   }









/* ASAGIDA EL VURMA HECNEYE */

if(!is_array($icazeli) || count($icazeli)===0) die('Fayl Tiplerini Korlamisan:()');
$fileurl='http://' .
substr(htmlentities($_SERVER['SERVER_NAME'] . $_SERVER['PHP_SELF']),0,strrpos(htmlentities($_SERVER['SERVER_NAME'] . $_SERVER['PHP_SELF']),'/')) .
'/';


//die($fileurl);





if(isset($_GET['rm']) && isset($_SESSION['cpaptcha']))
{
    $snapshot=md5($_GET['rm']);
   
    $getfilesfromdir=@scandir(CURDIR);

foreach($getfilesfromdir as $hereourfiles)
{
 

    if($hereourfiles ==='.' || $hereourfiles==='..' || @is_dir(CURDIR.$hereourfiles)) continue;
    if((sha1(md5(htmlentities($hereourfiles)) . md5($salt))===$_GET['rm']))
    {
        @unlink(CURDIR .basename($hereourfiles));
        die('<script>location.replace("?");</script>');
    }
   
}
unset($hereourfiles);

   
   
   
}









/* mail gondermek ucun infolari */
if(isset($_POST['mailitoutbabyxD']) && isset($_POST['fileurldownloada']) && !empty($_POST['fileurldownloada']) && isset($_POST['md5sumdownloada']) &&
    !empty($_POST['md5sumdownloada']) &&
    isset($_POST['faylhecmidownloada']) && !empty($_POST['faylhecmidownloada']))
    {

        $_POST=@array_map('htmlentities',$_POST); //sanitize edirik client sidedayiq deye etibar etmek olmaz.
        $msgbody='Upload Edilen Fayl: [ ' . $_POST['fileurldownloada'] . ' ] ' .PHP_EOL.
        'MD5 SUM: [ '  . $_POST['md5sumdownloada'] . ' ]' . PHP_EOL .
        'Faylin Hecmi: [ ' . $_POST['faylhecmidownloada'] . ' (MB) ] ' .PHP_EOL;
        @mail(MAILADRESIN,'Fayl Upload',str_repeat('#',100) . PHP_EOL .$msgbody .str_repeat('#',100));
        die(PHP_EOL .'<script>alert("Melumatlar Gonderildi!");location.replace("?");</script>');
       
    }
    /* eof */






?>

    <center><br>
       
        <form name="fupl" id="fupl" enctype="multipart/form-data" method="post">
            <table border="0">
                <tr>
            <td>
                <br>
                    <div align="right"><input type="button" name="exit" onclick="if(confirm('Cixaq?')) {return location.replace('?logout=<?php echo htmlentities($_SESSION['cpaptcha']);?>');} else{return false;}" value="Sistemd&謑n &西&觩x"/></div>
            <font color="white" size="4">A&託a&觗&觩dak&觩 Fayl Tipl&謑rinin Y&覴kl&謑nm&謑sin&謑 &觨caz&謑 Var:<br>
           
            <?php

$counter=NULL; //inisializasiya edirik variableni//
$umumi=NULL; //inisializasiya edirik variableni//
     foreach($icazeli as $tipler)
     {
       $counter++;
       $umumi++;

  if($umumi===count($icazeli))
            {
                echo $tipler;$umumi=NULL;break;
            }

        switch($counter)
        {
         
            case 10: $counter=NULL; echo '*.' .$tipler . ',<br> '. PHP_EOL;
                break;
            default:echo  '*.' .$tipler . ', ' .PHP_EOL;
            }
           
     }
      echo '</font>

      <br>';
           
            ?>
           
            <br><label class="secfaylireng">Fayl&觩 Se&覟</label>
            <input class="faylreng" type="file" name="faylin" size="50" id="faylin" />
            <input class="submitreng" type="submit" id="submit" name="submit" value="Y&覴kl&謑" />
        </form>
        <br>
       
        <?php




if(isset($_POST['submit']) && isset($_SESSION['cpaptcha']) && isset($_FILES) && count($_FILES)!==0 && isset($_FILES['faylin']['name']) && !empty($_FILES['faylin']['name']))
{
    // debug ok #die(CURDIR); //
$tempfile=$_FILES['faylin']['tmp_name']; // temp faylin adi
//echo $tempfile;  debug ok C:\Documents and Settings\Apache\Local Settings\Temp\php10.tmp //
// basename ile aliriq fayl nami teoretik ../../fayl.ext yolu ile yuxari upl etmek olar deye.(paranoia:D)//
$filename=basename($_FILES['faylin']['name']);
$fileextension=strtolower(substr($filename,strrpos($filename,'.')+1,strlen($filename))); // extensionu aliriq burda in eg: rar txt zip ve s.

/*Yoxlayiriq icazeli extensiondur ya yox? */
if(!in_array($fileextension,$icazeli,TRUE))
{
    die('<br><blink>Bu Fayl Tipinin Yuklenmesine Icaze Verilmir!</blink>' .PHP_EOL .
        '<script>alert("Bu Fayl Tipine Malik Faylin Yuklenmesine Icaze Verilmir!");</script>'/*refresh()*/);
}

/*EOF extension checking */

$randomize=substr(sha1(md5(rand(5152,518491661) . md5(time()))),0,8);
// fayllarin overwrite olunmasinin qarsisini almaq ucun randomize edek.//
$filename=$randomize .'_'. str_ireplace(';','',$filename);

if(@move_uploaded_file($tempfile,CURDIR .$filename))
{
echo '<table border="1">
     <tr>
     <td>Fayl&觩n&觩z Upload Edildi: </td>' .PHP_EOL .
     '<td>
     <input type="button" onclick="window.open(' . "'" . htmlentities(CURDIR . $filename) . "'" .')" value="         Bax        " /></td>
     </tr>' .
     '<tr><td>Yaxud Link:</td>'. PHP_EOL .'<td><a target="_blank" href="' . htmlentities(CURDIR . $filename) . '">' . htmlentities($filename) . '</a>
     </td></tr>' .
     '<tr><td>MD5 SUM:</td><td>' . @md5_file(CURDIR . $filename) . '</td></tr>' .
     '<tr><td>Fayl&觩n H&謑cmi:</td><td>' . round((filesize(CURDIR . $filename) /102400),2) . ' MB</td></tr></table>' .
     '<center>
     <form name="mailout" id="mailout" method="post" action="">
     <input type="hidden" name="fileurldownloada" id="fileurldownloada"  value="'. $fileurl .'/' . $filename . '"/>
     
     <input type="hidden" name="md5sumdownloada" id="md5sumdownloada" value="' . @md5_file(CURDIR . $filename). '" />
     
     <input type="hidden" name="faylhecmidownloada" id="faylhecmidownloada" value="' .@round((filesize(CURDIR . $filename) /102400),2). '" />
     <br>
     <input type="submit" name="mailitoutbabyxD" id="mailitoutbabyxD" value="M&謑lumatlar&觩 Mail Adresim&謑 G&覮nd&謑r" />
     </form>
     </center>'.
     PHP_EOL;
}



else
{
    die('<script>alert("Fayli Upload Ede Bilmirem\nPermissionlari Yoxla");location.replace("?");</script>');
}






}

//;
echo '</td>
</tr>
</table>
</center>
<ul>
<ul>';

$getfilesfromdir=@scandir(CURDIR);

foreach($getfilesfromdir as $hereourfiles)
{

    if($hereourfiles ==='.' || $hereourfiles==='..' || @is_dir(CURDIR.$hereourfiles)) continue;
    if (@in_array(substr($hereourfiles,strrpos($hereourfiles,'.')+1),$icazeli) && @is_file($hereourfiles))
    {
       
       echo '<table border="0">
       <tr>' . PHP_EOL .str_repeat('#',120) .PHP_EOL.'<td><a target="_blank" href="' . $hereourfiles . '"># Endir: '.  htmlentities($hereourfiles) . '</a>
         &nbsp;&nbsp;MD5 SUM: ' . md5_file(CURDIR.basename($hereourfiles)) . str_repeat('&nbsp;',5) .
         '<font color="green"> Fayl&觩n H&謑cmi: ' . round((filesize(CURDIR.basename($hereourfiles)) /102400),2) . ' MB </font>' .'
       </td>
       </tr>
       </table>' .PHP_EOL.
       '<table border="0">
       <td>
       <a href="?rm=' . sha1(md5(htmlentities($hereourfiles)) . md5($salt)) . '">' .'<font color="red"># Poz:</font> ' . htmlentities($hereourfiles) . '</td></table>
       ' . str_repeat('#',120) .PHP_EOL;
       
    }
}
unset($hereourfiles);
echo '
</ul>
</ul>
</body>
</html>'

?>


Respect

Ana VƏTƏN!
Anti-armenia.ORG
    

Istifadəçi
    2012-04-16 16:00 GMT                 

substring



VIP
Mesaj Sayı : 73
Mövzu Sayı :
Rep Ver : 
Rep Sayı :   3  
Indi Saytda : Durum
Cinsiyyət : Oğlan
Şəhər :
Ölkə :
Məslək :
Yaş :
Mesaj :

Mövzunu Paylaş!


Respect bro Source-dən hiss olunur ki,həvəslə işləmisən

Anti-armenia.ORG
    

Istifadəçi
    2012-04-16 16:46 GMT                 

Ferid23



Admin
Mesaj Sayı : 1875
Mövzu Sayı :
Rep Ver : 
Rep Sayı :   45  
Indi Saytda : Durum
Cinsiyyət : Oğlan
Şəhər : Anti-armenia.ORG
Ölkə :
Məslək : Programmer & Defacer
Yaş : 12
Mesaj :

Mövzunu Paylaş!


BlackMinD və substring Təbriklər!

AZ Domaini İhbar Hattı (Azərbaycan saytlarında olan boşluqları bizə bildirin): http://anti-armenia.org/forums.php?m=posts&q=572
Qaydalar (Saytın qayda-qanunlarını oxuyaraq əməl edin)
Anti-armenia.ORG
    

Istifadəçi
    2012-04-16 17:06 GMT                 

BlackMinD



Pr0grammer
Mesaj Sayı : 1677
Mövzu Sayı :
Rep Ver : 
Rep Sayı :   62  
Indi Saytda : Durum
Cinsiyyət : Oğlan
Şəhər : KARABAKH IS AZERBAIJAN!
Ölkə :
Məslək :
Yaş :
Mesaj :

Mövzunu Paylaş!


Sorry strtolower() yaddan çıxmışdı add elədim fixed versiyası
http://pastebin.com/zndBDkXB
Təşəkkürlər.

Ana VƏTƏN!
Anti-armenia.ORG
    

Istifadəçi
    2012-04-16 19:42 GMT                 

Avatar Fearless



VIP
Mesaj Sayı : 1299
Mövzu Sayı :
Rep Ver : 
Rep Sayı :   23  
Indi Saytda : Durum
Cinsiyyət : Oğlan
Şəhər : Gävle
Ölkə :
Məslək : Hacker,Defacer,Programmer
Yaş : 26
Mesaj :

Mövzunu Paylaş!


Bravo İkinizədə! RESPECT! Təşəkkürlər...

http://s017.radikal.ru/i404/1202/c6/a2947080a3c4.png
Anti-armenia.ORG
    

Istifadəçi
    2012-04-16 21:55 GMT                 

Evil



VIP
Mesaj Sayı : 37
Mövzu Sayı :
Rep Ver : 
Rep Sayı :   0  
Indi Saytda : Durum
Cinsiyyət : Oğlan
Şəhər :
Ölkə :
Məslək : Evil
Yaş :
Mesaj :

Mövzunu Paylaş!


Respect

PS.Evil (Aka Evil.bro) Cırıldım gülməkdən yeri var idi

E=mc²
Anti-armenia.ORG
    

Istifadəçi
    2012-04-21 13:05 GMT                 

MyNameIsQiTLeR



İstifadəçi
Mesaj Sayı : 39
Mövzu Sayı :
Rep Ver : 
Rep Sayı :   1  
Indi Saytda : Durum
Cinsiyyət :
Şəhər :
Ölkə :
Məslək :
Yaş :
Mesaj :

Mövzunu Paylaş!


uje neçe aydıkı bu sayta girrem heç bir mövzuya şərh yazmadan örgennem amma mecbur olub yazıram ta:
ay da bular nəde heçnə başa düşmürem

Ozumuz ucun yasiyiriq
Anti-armenia.ORG
    

Istifadəçi
    2014-03-10 08:14 GMT                 

PuN!Sh3r



Gold
Mesaj Sayı : 308
Mövzu Sayı :
Rep Ver : 
Rep Sayı :   35  
Indi Saytda : Durum
Cinsiyyət : Oğlan
Şəhər : W00t W00t
Ölkə :
Məslək : Cyber Security Specialist
Yaş :
Mesaj :

Mövzunu Paylaş!


Sitat
Kod:
<form enctype="multipart/form-data" action="<?=$_SERVER['PHP_SELF']?>" method="POST" >
<input type="file" name="fayl_adi">
<input type="submit" value="Yukle">
</form>




bro burda Non-persistent(reflected) Xss var.Adicə formlarda PHP_SELF i sanitaziyasız action hissədə işlətmək çox risklidir.
Belə başa salım :

Normalda url : http://sayt.com/script.php olsa request bura gedəcək.
Amma əgər sən ora http://sayt.com/script.php/ yazsan request bura gedəcək .fərqi yoxdur yuxarıdakı ilə eyni şeydir.
Yekun payloadımız :

Kod:
http://sayt.com/script.php/"><script>alert()</script>

və xss özünü göstərir.
Xırda sanitaziya işi həll edə bilər.

Vətən Sağ olsun!
Duman salamat qal, Dağ salamat qal..
Anti-armenia.ORG