subs-post hacking attempt

Автор $nick, 08 сентября 2010, 02:54:58

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

$nick

коллеги!

хочу при нажатии на кнопку "отправить" сдублировать сообщение, записав его в другую таблицу texts

в subs-post добавляю INSERT INTO, при отправке сообщения выдается "Hacking attempt..."

... как они определяют, и как эту ситуацию можно побороть?
поиск единомышленников SMF 1.1.10

Drakonsa


$nick

trigger mysql
что это, с чем едят?
в поиске на форуме не нашел
поиск единомышленников SMF 1.1.10

0daliska

Уехала отдыхать. Сейчас без интернета до 1 августа. Приеду - выполню все обещания
® For members of Russian community (simplemachines.ru) only

$nick

.. как понял, trigger - свойство таблицы, условие выполняющееся при действиях с таблицей.

в моем случае в subs-post вносятся данные с полей в таблицу:

Цитироватьif(!is_digit($_REQUEST['v_status']))$_REQUEST['v_status']=0;
db_query("
      INSERT INTO {$db_prefix}messages
         (id_list_status,ID_BOARD, ID_TOPIC, ID_MEMBER, subject, body, posterName, posterEmail, posterTime,
         posterIP, smileysEnabled, modifiedName, icon)
      VALUES (".$_REQUEST['v_status'].",$topicOptions[board], $topicOptions[id], $posterOptions[id], SUBSTRING('$msgOptions[subject]', 1, 255), SUBSTRING('$msgOptions[body]', 1, 65534), SUBSTRING('$posterOptions[name]', 1, 255), SUBSTRING('$posterOptions[email]', 1, 255), " . time() . ",
         SUBSTRING('$posterOptions[ip]', 1, 255), " . ($msgOptions['smileys_enabled'] ? '1' : '0') . ", '', SUBSTRING('$msgOptions[icon]', 1, 16))", __FILE__, __LINE__);      
   

   

и вот это значение  SUBSTRING('$msgOptions[subject]', 1, 255) хочу записать в другую таблицу,
но выдается hacking... wallbash

то-есть ,действие по добавлению нужно добавить в триггер?
где он обитает?  в phpmyadmin не обнаружино, в файлах форума поиск текста "CREATE TRIGGER" тоже не дал результатов..






поиск единомышленников SMF 1.1.10

digger®

Цитата: umpc от 09 сентября 2010, 13:28:12
и вот это значение  SUBSTRING('$msgOptions[subject]', 1, 255) хочу записать в другую таблицу,
но выдается hacking... wallbash

Показать код никак что ли?
Интереснее от триггерах порассуждать, чем свой код сделать рабочим?

$nick

нивапрос!
заменяю строку предыдущего поста "внести в другую таблицу значение" на  INSERT INTO `database`.`smf_msgids` (`id`, `MSG_ID`) VALUES (NULL, '234');
в место 234 - номер ID_MSG т.е.

в subs post:
Цитировать// Insert the post.
   if($GLOBALS['ViTAL-E'] && isset($_REQUEST['v_status'])){
   
   if(!is_digit($_REQUEST['v_status']))$_REQUEST['v_status']=0;
      
      
      db_query("
      INSERT INTO {$db_prefix}messages
         (id_list_status,ID_BOARD, ID_TOPIC, ID_MEMBER, subject, body, posterName, posterEmail, posterTime,
         posterIP, smileysEnabled, modifiedName, icon)
      VALUES (".$_REQUEST['v_status'].",$topicOptions[board], $topicOptions[id], $posterOptions[id], SUBSTRING('$msgOptions[subject]', 1, 255), SUBSTRING('$msgOptions[body]', 1, 65534), SUBSTRING('$posterOptions[name]', 1, 255), SUBSTRING('$posterOptions[email]', 1, 255), " . time() . ",
         SUBSTRING('$posterOptions[ip]', 1, 255), " . ($msgOptions['smileys_enabled'] ? '1' : '0') . ", '', SUBSTRING('$msgOptions[icon]', 1, 16))", __FILE__, __LINE__);      
   
//добавляем строку ID_MSG
      db_query("INSERT INTO `database`.`smf_msgids` (`id`, `MSG_ID`) VALUES (NULL, $topicOptions[id]);");

   
   }else{
      db_query("
      INSERT INTO {$db_prefix}messages
         (ID_BOARD, ID_TOPIC, ID_MEMBER, subject, body, posterName, posterEmail, posterTime,
         posterIP, smileysEnabled, modifiedName, icon)
      VALUES ($topicOptions[board], $topicOptions[id], $posterOptions[id], SUBSTRING('$msgOptions[subject]', 1, 255), SUBSTRING('$msgOptions[body]', 1, 65534), SUBSTRING('$posterOptions[name]', 1, 255), SUBSTRING('$posterOptions[email]', 1, 255), " . time() . ",
         SUBSTRING('$posterOptions[ip]', 1, 255), " . ($msgOptions['smileys_enabled'] ? '1' : '0') . ", '', SUBSTRING('$msgOptions[icon]', 1, 16))", __FILE__, __LINE__);

   
   }

кстати вопрос:
1. зачем тут это условие, что оно делает? -  if($GLOBALS['ViTAL-E'] && isset($_REQUEST['v_status']))
2. если понадобится считать с таблиц данные тоже ригеера надо править?, к примеру так:
//добавляем строку ID_MSG
$query = "SELECT * FROM `{prefix}members` where ID_MEMBER =$posterOptions[id] ";
$res = mysql_query($query);
$rows = mysql_fetch_array($res);
$re =$rows['PNICS'];
if ($re <>"") db_query("INSERT INTO `database`.`smf_msgids` (`id`, `MSG_ID`) VALUES (NULL, $topicOptions[id]);");


где в PNICS таблицы members лежит разрешение на добавление $topicOptions[id]) в MSG_ID - пусто - нельзя, 1 - можно


поиск единомышленников SMF 1.1.10

digger®

Цитата: umpc от 12 сентября 2010, 13:21:49
нивапрос!
заменяю строку предыдущего поста "внести в другую таблицу значение" на  INSERT INTO `database`.`smf_msgids` (`id`, `MSG_ID`) VALUES (NULL, '234');

hacking attempt из-за того что в другую базу вставляете.

$nick

Верно!
в префиксе дело было, убрал database, свершилось!

Digger Спасибо!
поиск единомышленников SMF 1.1.10

$nick

Цитата: $nick от 12 сентября 2010, 14:42:00
Верно!
в префиксе дело было, убрал database, свершилось!

digger Спасибо!
поиск единомышленников SMF 1.1.10