Anti-armenia.ORG - Forumlar - Seditio chat plugin none secure(Kaan)



Istifadəçi
    2012-05-10 23:17 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ş!


Kaan-nın yazdığı chat pluginində bunu aşkarladım.
Problemin kökü orda başlayır ki,switch,case statementlərində GET-lə gələn zaproslar nə sessiya ilə,nə də user level ilə secure olunmur.
Secure olunmursa deməli chata avtorizasiya olmayan və ya administrativ accesi olmayan şəxs primitiv kiçik loop içərisində handle edərək,istər müəyyən id aralığı ilə istərsə də sonsuz şəkildə (
Kod:
while(1)
)yazılanları silməklə dolayı yolla table-ni truncate eləməyə müvəffəq olacaq )

exp:

Kod:
http://localhost/seditio/plug.php?e=chat&d=0&c=delete&id=silmek istediyin commentin id-si


Kodların original vəziyyəti

Kod:
if (!empty($c))
{
switch ($c)
{
case 'quit':
        $sqltmp = sed_sql_query("DELETE FROM sed_chat_online WHERE chat_online_userid='".$usr['id']."'");
sed_chat_addline(0, "Quits: ".sed_cc($usr['name']));
        sed_redirect("index.php");
exit;
break;

case 'delete':


sed_cc($cfg['plugin']['chat']['minleveladmin']);
if (is_int($f) && $f>0) { $id = $f; }
        $sqltmp = sed_sql_query("DELETE FROM sed_chat WHERE chat_id='".$id."'");
sed_redirect("index.php?e=chat&cmd=edit&d=".$d);
exit;
break;

case 'topic':

//sed_minlevel($cfg['plugin']['chat']['minleveladmin']);
        $sqltmp = sed_sql_query("UPDATE $db_config SET config_value='".addslashes($f)."'WHERE config_owner='plug' AND config_cat='chat' and config_name='topic'");
sed_chat_addline(0, "New topic set by ".sed_cc($usr['name'])." : ".sed_cc($f));
sed_redirect("index.php?e=chat&d=".$d);
exit;
break;

default:

break;
}
}



Görüldüyü kimi

Kod:
case 'delete':


sed_cc($cfg['plugin']['chat']['minleveladmin']);
if (is_int($f) && $f>0) { $id = $f; }
        $sqltmp = sed_sql_query("DELETE FROM sed_chat WHERE chat_id='".$id."'");
sed_redirect("index.php?e=chat&cmd=edit&d=".$d);
exit;
break;


hər hansı şərt olmadan birbaşa sorgunu bazaya ötürüb kommenti bazadan silə bilərik.

Bu pluginin instalyasiya olunduğu bütün saytlarda keçərlidir hal-hazırda.

Fixsasiyasın aşağıda göstərirəm nə qədər gec deyil modifikasiya edin pluginə


Qeyd:orda yalnız leveli 5 yəni administrator lar üçün yazmışam siz modifikiasiya edib məsələn

Kod:
if($levelcheck['user_maingrp']==5 || $levelcheck['user_maingrp']==3 $levelcheck['user_maingrp']==2 )
şəklində də dəyişdirə bilərisiniz

Kod:
case 'delete':

   $uid = $usr['id'];
$levelcheck = mysql_fetch_array(sed_sql_query("select user_maingrp from sed_users where user_id='$uid'"));



if($levelcheck['user_maingrp']==5){
sed_cc($cfg['plugin']['chat']['minleveladmin']);
if (is_int($f) && $f>0) { $id = $f; }
        $sqltmp = sed_sql_query("DELETE FROM sed_chat WHERE chat_id='".$id."'");
sed_redirect("index.php?e=chat&cmd=edit&d=".$d);
exit;
break;
}else{

die("<script>alert('Sayta giris etmemisiniz,ve ya sizin bunu etmeye icazeniz yoxdur')</script>");

}


Və alt sətirdə

Kod:
case 'topic':

//sed_minlevel($cfg['plugin']['chat']['minleveladmin']);
        $sqltmp = sed_sql_query("UPDATE $db_config SET config_value='".addslashes($f)."'WHERE config_owner='plug' AND config_cat='chat' and config_name='topic'");
sed_chat_addline(0, "New topic set by ".sed_cc($usr['name'])." : ".sed_cc($f));
sed_redirect("index.php?e=chat&d=".$d);
exit;
break;


Kod:
//sed_minlevel($cfg['plugin']['chat']['minleveladmin']);


hissəni bağlamaq məsləhətdir,error verir ve saytin serverdeki path-ı ortada qalır.seditionun yeni versiyalarında bu funksiya artıq daxil edilməyib.

Kod:
/plug.php?e=chat&d=0&c=topic


url-u yoxlayaraq funkisyanın skriptdə olub olmadığını yoxlaya bilərsiniz

pluginin seditio.az dakı original yükləmə linki


http://hotfile.com/dl/136300087/f5e5ffb/chat_by_local_seditio.az.rar.html

Anti-armenia.ORG
    

Istifadəçi
    2012-05-10 23:57 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ş!


Təşəkkür Çox Gözəl Paylaşım Ətraflı Başa Salmısan
Bu
Kod:
/plug.php?e=chat&d=0&c=delete&id=

Burda Görünən odurki chat-dakı id-ni yazırıq oda silir yəqin yada bəlkədə bu açıq bəzi Seditio-larda ola bilər fikrimcə 1 şey soruşacaqdım bəs biz Chat-dakı mesajimızın İD-sini necə bilirik ? Yani Bəxtə-Bəxt ?
Ultimate Thnk`Z

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

Istifadəçi
    2012-05-11 12:00 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ş!


Təşəkkürlə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-05-12 12:44 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ş!


Yeri var bro Respect
Bu Kaan zarafatsız noobdur.Onun editlədiyi skriptlərdən istifadə isə ümumiyyətlə vulnerabledir müxtəlif vulnlara.
Bir adamki $var="htmlentities($basqavar)";
edirsə o adamdan nə desən gözləmək olar)))))
HƏlə o cəhənnəmə deyirki @ atmaqla variablenin qabağına fix elədim xD)))

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

Istifadəçi
    2012-05-13 18:59 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ş!


@BlackMinD təşəkkürlər hər birinizə

Anti-armenia.ORG