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>
<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>
файл в админке в него не попадут,хотя дыры в нем вроде нет,да и не было на сколько я знаю,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>
- Сообщения
- 322
- Реакции
- 72
Как это нет?)kvozimir написал(а):файл в админке в него не попадут,хотя дыры в нем вроде нет,да и не было на сколько я знаю,
PHP:
$db->Query("UPDATE db_conabrul SET about = '".$_POST["tx"]."' WHERE id = '1'");
дык файл в админке,по сути в него ни кто не попадетMegaGoblin написал(а):Как это нет?)
Не вижу фильтрации переменной) А это уже возможность sql-инъекцииPHP:$db->Query("UPDATE db_conabrul SET about = '".$_POST["tx"]."' WHERE id = '1'");
![]()
а если взломщик и попадет в админку зачем ему эта дыра если он попал через другую?
ну а так я с тобой согласен можно чисто для того чтоб спать спокойно поставить фильтрацию
Чем и как фильтруете, товарищ?MegaGoblin написал(а):Как это нет?)
Не вижу фильтрации переменной) А это уже возможность sql-инъекцииPHP:$db->Query("UPDATE db_conabrul SET about = '".$_POST["tx"]."' WHERE id = '1'");
![]()
$db->Query("UPDATE db_conabrul SET about = '".$db->RealEscape($_POST["tx"])."' WHERE id = '1'");APTEMOH написал(а):Чем и как фильтруете, товарищ?![]()
или так
$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'");
GLookin
Участник
- Сообщения
- 296
- Реакции
- 62
Как минимум, наличие java-скрипта TinyMCE в файле - уже является огромной дырой. Это давно известно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>
Последнее редактирование:
Прав! Но RealEscape() использует устаревшую функцию. PDO cейчас рулит. У него много чего вкусного и полезного есть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'");
если не прав поправьте
- Сообщения
- 322
- Реакции
- 72
С чего это вдруг наличие редактора в коде - это огромная дыра?)GLookin написал(а):Как минимум, наличие java-скрипта TinyMCE в файле - уже является огромной дырой. Это давно известно![]()
Так на фермах не используется PDO. Поэтому $db->RealEscape($_POST["tx"]) это хороший вариант)APTEMOH написал(а):Прав! Но RealEscape() использует устаревшую функцию. PDO cейчас рулит. У него много чего вкусного и полезного есть![]()
Почему PDO не используете? Я наоборот затачиваю под это дело.MegaGoblin написал(а):Так на фермах не используется PDO. Поэтому $db->RealEscape($_POST["tx"]) это хороший вариант)
- Сообщения
- 322
- Реакции
- 72
Это конечно правильно, так и надо делать. Но я не занимаюсь разработкой ферм, а написать/исправить модуль, проверить на уязвимости. Чтобы было все хорошо, правильно и красиво нужно весь движок переводить на PDO. А писать отдельные модули на PDO я не могу, потому что считаю это некрасивым =) Весь движок на обычных mysql_*, а модуль - PDO. Все должно быть одинаково. А переделывать всю ферму под PDO ради одного модуля - не оч хорошая идея. Да и админам ферм так удобнее и понятнее.APTEMOH написал(а):Почему PDO не используете? Я наоборот затачиваю под это дело.
Солидарен! Но я всю ферму перевожу на PDO. Возможно выложу ее в паблик. Надоели ребята которые пишут везде, мол взломали и вывели все деньги. Да, я не спорю без PDO можно обезопасить себя. Но пока такMegaGoblin написал(а):Это конечно правильно, так и надо делать. Но я не занимаюсь разработкой ферм, а написать/исправить модуль, проверить на уязвимости. Чтобы было все хорошо, правильно и красиво нужно весь движок переводить на PDO. А писать отдельные модули на PDO я не могу, потому что считаю это некрасивым =) Весь движок на обычных mysql_*, а модуль - PDO. Все должно быть одинаково. А переделывать всю ферму под PDO ради одного модуля - не оч хорошая идея. Да и админам ферм так удобнее и понятнее.
- Сообщения
- 322
- Реакции
- 72
Будет у тебя ферма на PDO, вот только модули будут ставить на нее стандартные. Хорошо, сделают они так, чтобы модуль работал (естественно со стандартным классом для ферм). Вот только большинство взломов и происходит в этих доп. модулях, которые берут непонятно откуда) И сообщений "меня взломали" станет не намного меньше) Ну а вообще ты молодец, что решил заняться таким)APTEMOH написал(а):Солидарен! Но я всю ферму перевожу на PDO. Возможно выложу ее в паблик. Надоели ребята которые пишут везде, мол взломали и вывели все деньги. Да, я не спорю без PDO можно обезопасить себя. Но пока так![]()