Что с моим файлом ?

  • Автор темы N3CRO
  • Дата начала
N3CRO
Участник
Сообщения
285
Реакции
44
кто может сказать есть ли в этом файле дыра ???
<div class="s-bk-lf">
<div class="acc-title">О ферме</div>
</div>
<div class="silver-bk"><div class="clr"></div>

<script type="text/javascript" src="/js/editor/jscripts/tiny_mce/tiny_mce.js"></script>
<script type="text/javascript">
tinyMCE.init({
// General options
mode : "textareas",
editor_deselector : "mceNoEditor",
theme : "advanced",
plugins : "pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template",

// Theme options
theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright",

theme_advanced_buttons2 : "styleselect,formatselect,fontselect,fontsizeselect,|,fullscreen,media,advhr",

theme_advanced_buttons3 : "bullist,numlist,|,outdent,indent,blockquote,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
theme_advanced_buttons4 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell",
theme_advanced_buttons5 : "",

theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_path_location : "bottom",
theme_advanced_resizing : false,

// Example content CSS (should be your site CSS)
content_css : "editor/css/content.css",

// Drop lists for link/image/media/template dialogs
template_external_list_url : "lists/template_list.js",
external_link_list_url : "lists/link_list.js",
external_image_list_url : "lists/image_list.js",
media_external_list_url : "lists/media_list.js",
extended_valid_elements : "iframe[*]",
// Replace values for the template plugin
template_replace_values : {
username : "Some User",
staffid : "991234"
},



// Style formats
style_formats : [

{title : 'DEFAULT', inline : 'span', classes : 'text-content'}
],


// Enable translation mode
translate_mode : true,
language : "ru"
});
</script>
<?PHP

if(isset($_POST["tx"])){

$db->Query("UPDATE db_conabrul SET about = '".$_POST["tx"]."' WHERE id = '1'");
echo "<center><font color = 'green'><b>Сохранено</b></font></center><BR />";
}

$db->Query("SELECT * FROM db_conabrul WHERE id = '1'");
$data = $db->FetchArray();
?>

<form action="" method="post">
<textarea name="tx" cols="78" rows="25"><?=$data["about"]; ?></textarea>
<BR /><BR />
<center><input type="submit" value="Сохранить" /></center>
</form>
</div>
<div class="clr"></div>​
 
kvozimir
Участник
Сообщения
1.935
Реакции
409
ICQ
734713 734713
Skype
N3CRO написал(а):
кто может сказать есть ли в этом файле дыра ???
<div class="s-bk-lf">
<div class="acc-title">О ферме</div>
</div>
<div class="silver-bk"><div class="clr"></div>

<script type="text/javascript" src="/js/editor/jscripts/tiny_mce/tiny_mce.js"></script>
<script type="text/javascript">
tinyMCE.init({
// General options
mode : "textareas",
editor_deselector : "mceNoEditor",
theme : "advanced",
plugins : "pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template",

// Theme options
theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright",

theme_advanced_buttons2 : "styleselect,formatselect,fontselect,fontsizeselect,|,fullscreen,media,advhr",

theme_advanced_buttons3 : "bullist,numlist,|,outdent,indent,blockquote,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
theme_advanced_buttons4 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell",
theme_advanced_buttons5 : "",

theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_path_location : "bottom",
theme_advanced_resizing : false,

// Example content CSS (should be your site CSS)
content_css : "editor/css/content.css",

// Drop lists for link/image/media/template dialogs
template_external_list_url : "lists/template_list.js",
external_link_list_url : "lists/link_list.js",
external_image_list_url : "lists/image_list.js",
media_external_list_url : "lists/media_list.js",
extended_valid_elements : "iframe[*]",
// Replace values for the template plugin
template_replace_values : {
username : "Some User",
staffid : "991234"
},



// Style formats
style_formats : [

{title : 'DEFAULT', inline : 'span', classes : 'text-content'}
],


// Enable translation mode
translate_mode : true,
language : "ru"
});
</script>
<?PHP

if(isset($_POST["tx"])){

$db->Query("UPDATE db_conabrul SET about = '".$_POST["tx"]."' WHERE id = '1'");
echo "<center><font color = 'green'><b>Сохранено</b></font></center><BR />";
}

$db->Query("SELECT * FROM db_conabrul WHERE id = '1'");
$data = $db->FetchArray();
?>

<form action="" method="post">
<textarea name="tx" cols="78" rows="25"><?=$data["about"]; ?></textarea>
<BR /><BR />
<center><input type="submit" value="Сохранить" /></center>
</form>
</div>
<div class="clr"></div>​
файл в админке в него не попадут,хотя дыры в нем вроде нет,да и не было на сколько я знаю,
 
MegaGoblin
PHP, JS, AJAX, CSS, HTML
Участник
Сообщения
322
Реакции
72
kvozimir написал(а):
файл в админке в него не попадут,хотя дыры в нем вроде нет,да и не было на сколько я знаю,
Как это нет?)
PHP:
$db->Query("UPDATE db_conabrul SET about = '".$_POST["tx"]."' WHERE id = '1'");
Не вижу фильтрации переменной) А это уже возможность sql-инъекции :)
 
kvozimir
Участник
Сообщения
1.935
Реакции
409
ICQ
734713 734713
Skype
MegaGoblin написал(а):
Как это нет?)
PHP:
$db->Query("UPDATE db_conabrul SET about = '".$_POST["tx"]."' WHERE id = '1'");
Не вижу фильтрации переменной) А это уже возможность sql-инъекции :)
дык файл в админке,по сути в него ни кто не попадет

а если взломщик и попадет в админку зачем ему эта дыра если он попал через другую?:D

ну а так я с тобой согласен можно чисто для того чтоб спать спокойно поставить фильтрацию:)
 
APTEMOH
Участник
Сообщения
889
Реакции
256
Telegram
APTEMOH
MegaGoblin написал(а):
Как это нет?)
PHP:
$db->Query("UPDATE db_conabrul SET about = '".$_POST["tx"]."' WHERE id = '1'");
Не вижу фильтрации переменной) А это уже возможность sql-инъекции :)
Чем и как фильтруете, товарищ? :)
 
kvozimir
Участник
Сообщения
1.935
Реакции
409
ICQ
734713 734713
Skype
APTEMOH написал(а):
Чем и как фильтруете, товарищ? :)
$db->Query("UPDATE db_conabrul SET about = '".$db->RealEscape($_POST["tx"])."' WHERE id = '1'");
или так
$db->Query("UPDATE db_conabrul SET about = '".htmlspecialchars($_POST["tx"])."' WHERE id = '1'");
или так
$db->Query("UPDATE db_conabrul SET about = '".$db->RealEscape(htmlspecialchars($_POST["tx"]))."' WHERE id = '1'");

:D:D:D если не прав поправьте
 
GLookin
Участник
Сообщения
296
Реакции
62
N3CRO написал(а):
кто может сказать есть ли в этом файле дыра ???
<div class="s-bk-lf">
<div class="acc-title">О ферме</div>
</div>
<div class="silver-bk"><div class="clr"></div>

<script type="text/javascript" src="/js/editor/jscripts/tiny_mce/tiny_mce.js"></script>
<script type="text/javascript">
tinyMCE.init({
// General options
mode : "textareas",
editor_deselector : "mceNoEditor",
theme : "advanced",
plugins : "pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template",

// Theme options
theme_advanced_buttons1 : "bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright",

theme_advanced_buttons2 : "styleselect,formatselect,fontselect,fontsizeselect,|,fullscreen,media,advhr",

theme_advanced_buttons3 : "bullist,numlist,|,outdent,indent,blockquote,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
theme_advanced_buttons4 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell",
theme_advanced_buttons5 : "",

theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_path_location : "bottom",
theme_advanced_resizing : false,

// Example content CSS (should be your site CSS)
content_css : "editor/css/content.css",

// Drop lists for link/image/media/template dialogs
template_external_list_url : "lists/template_list.js",
external_link_list_url : "lists/link_list.js",
external_image_list_url : "lists/image_list.js",
media_external_list_url : "lists/media_list.js",
extended_valid_elements : "iframe[*]",
// Replace values for the template plugin
template_replace_values : {
username : "Some User",
staffid : "991234"
},



// Style formats
style_formats : [

{title : 'DEFAULT', inline : 'span', classes : 'text-content'}
],


// Enable translation mode
translate_mode : true,
language : "ru"
});
</script>
<?PHP

if(isset($_POST["tx"])){

$db->Query("UPDATE db_conabrul SET about = '".$_POST["tx"]."' WHERE id = '1'");
echo "<center><font color = 'green'><b>Сохранено</b></font></center><BR />";
}

$db->Query("SELECT * FROM db_conabrul WHERE id = '1'");
$data = $db->FetchArray();
?>

<form action="" method="post">
<textarea name="tx" cols="78" rows="25"><?=$data["about"]; ?></textarea>
<BR /><BR />
<center><input type="submit" value="Сохранить" /></center>
</form>
</div>
<div class="clr"></div>​
Как минимум, наличие java-скрипта TinyMCE в файле - уже является огромной дырой. Это давно известно ;)
 
Последнее редактирование:
APTEMOH
Участник
Сообщения
889
Реакции
256
Telegram
APTEMOH
kvozimir написал(а):
$db->Query("UPDATE db_conabrul SET about = '".$db->RealEscape($_POST["tx"])."' WHERE id = '1'");
или так
$db->Query("UPDATE db_conabrul SET about = '".htmlspecialchars($_POST["tx"])."' WHERE id = '1'");
или так
$db->Query("UPDATE db_conabrul SET about = '".$db->RealEscape(htmlspecialchars($_POST["tx"]))."' WHERE id = '1'");

:D:D:D если не прав поправьте
Прав! Но RealEscape() использует устаревшую функцию. PDO cейчас рулит. У него много чего вкусного и полезного есть :)
 
MegaGoblin
PHP, JS, AJAX, CSS, HTML
Участник
Сообщения
322
Реакции
72
GLookin написал(а):
Как минимум, наличие java-скрипта TinyMCE в файле - уже является огромной дырой. Это давно известно ;)
С чего это вдруг наличие редактора в коде - это огромная дыра?)


APTEMOH написал(а):
Прав! Но RealEscape() использует устаревшую функцию. PDO cейчас рулит. У него много чего вкусного и полезного есть :)
Так на фермах не используется PDO. Поэтому $db->RealEscape($_POST["tx"]) это хороший вариант)
 
APTEMOH
Участник
Сообщения
889
Реакции
256
Telegram
APTEMOH
  • #10
MegaGoblin написал(а):
Так на фермах не используется PDO. Поэтому $db->RealEscape($_POST["tx"]) это хороший вариант)
Почему PDO не используете? Я наоборот затачиваю под это дело.
 
MegaGoblin
PHP, JS, AJAX, CSS, HTML
Участник
Сообщения
322
Реакции
72
  • #11
APTEMOH написал(а):
Почему PDO не используете? Я наоборот затачиваю под это дело.
Это конечно правильно, так и надо делать. Но я не занимаюсь разработкой ферм, а написать/исправить модуль, проверить на уязвимости. Чтобы было все хорошо, правильно и красиво нужно весь движок переводить на PDO. А писать отдельные модули на PDO я не могу, потому что считаю это некрасивым =) Весь движок на обычных mysql_*, а модуль - PDO. Все должно быть одинаково. А переделывать всю ферму под PDO ради одного модуля - не оч хорошая идея. Да и админам ферм так удобнее и понятнее.
 
APTEMOH
Участник
Сообщения
889
Реакции
256
Telegram
APTEMOH
  • #12
MegaGoblin написал(а):
Это конечно правильно, так и надо делать. Но я не занимаюсь разработкой ферм, а написать/исправить модуль, проверить на уязвимости. Чтобы было все хорошо, правильно и красиво нужно весь движок переводить на PDO. А писать отдельные модули на PDO я не могу, потому что считаю это некрасивым =) Весь движок на обычных mysql_*, а модуль - PDO. Все должно быть одинаково. А переделывать всю ферму под PDO ради одного модуля - не оч хорошая идея. Да и админам ферм так удобнее и понятнее.
Солидарен! Но я всю ферму перевожу на PDO. Возможно выложу ее в паблик. Надоели ребята которые пишут везде, мол взломали и вывели все деньги. Да, я не спорю без PDO можно обезопасить себя. Но пока так :)
 
MegaGoblin
PHP, JS, AJAX, CSS, HTML
Участник
Сообщения
322
Реакции
72
  • #13
APTEMOH написал(а):
Солидарен! Но я всю ферму перевожу на PDO. Возможно выложу ее в паблик. Надоели ребята которые пишут везде, мол взломали и вывели все деньги. Да, я не спорю без PDO можно обезопасить себя. Но пока так :)
Будет у тебя ферма на PDO, вот только модули будут ставить на нее стандартные. Хорошо, сделают они так, чтобы модуль работал (естественно со стандартным классом для ферм). Вот только большинство взломов и происходит в этих доп. модулях, которые берут непонятно откуда) И сообщений "меня взломали" станет не намного меньше) Ну а вообще ты молодец, что решил заняться таким)
 
FARM
Участник
Сообщения
6
Реакции
2
Skype
  • #14
Главное,чтобы на каждом углу не мерещились "ДЫРКИ"
 
  • Like
Реакции: Foma
Сверху