WebChat for XOOPS RC3 SQL INJECTION

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Text available at http://www.phpsecure.org/tutos/webchat.1-5.xoops.rc3.sql.injection.txt
Patch available on phpsecure.org


XOOPS RC3 WebChat Module SQL Injection

Tested with :   Xoops RC3
        WebChat 1-5
Author :    val2 - phpsecure.org for more info and ~patchs~


Lines 291-299 from modules/WebChat/index.php :

    if(isset($roomid)) {
      if($xoopsUser) {
        $wcusername = $xoopsUser->getVar("uname", "E");
        $uid = $xoopsUser->getVar("uid", "E");
      }
      join_room($roomid,$pass,$wcusername,$uid); /* <- calling joinroom function with param $roomid */
    } else {
      disp_index($errmsg);
    }

Lines 204-208 :
    function join_room($roomid,$pass,$username,$uid) {
      global $xoopsDB, $xoopsUser, $xoopsConfig, $ModName, $user, $sitename, $pnconfig, $language, $usertime;
      unset($errmsg);
      $sql = "SELECT rid, name, typ, pass, descript FROM ".$xoopsDB->prefix("chatroom")." WHERE rid = $roomid";
      $row = mysql_fetch_array(mysql_query($sql));
        [...]


PROBLEM :
    $roomid id is included whitout verification.

PATCH :
    add this line a the beginning of index.php or download PATCH from phpsecure.org :
    $roomid = addslashes($roomid);
    If you're paranoiac, shutdown your box and wait for an official release ;)

EXPLOIT :
    You're a PHP/SQL g00r00, you don't need an exploit :p


MORE PATCHS !
    www.phpsecure.org

MORE HOLES !
    www.phpsecure.org


[Index of Archives]     [Linux Security]     [Netfilter]     [PHP]     [Yosemite News]     [Linux Kernel]

  Powered by Linux