HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > PHP
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

"опасные" функции и команды
  #1  
Старый 14.12.2006, 22:21
Abra
Постоянный
Регистрация: 17.09.2005
Сообщений: 375
С нами: 10866583

Репутация: 175
По умолчанию "опасные" функции и команды

Собственно такой вопрос - может кто-ибудь из грамотных людей перечислить все функции php и perl которые могут выполнять произвольный код, команду и прочее. Задача заключается в том чтобы проверять код файла на потенциально возможный шелл. Знаю что есть функции типа cmd , exec , eval но их наверняка больше, и всех я просто не знаю.
 
Ответить с цитированием

  #2  
Старый 14.12.2006, 22:38
blackybr
♠ ♦ ♣ ♥
Регистрация: 18.05.2006
Сообщений: 1,828
С нами: 10516826

Репутация: 3742


По умолчанию

escapeshellarg - строка обрабатывается шеллом
escapeshellcmd - почти тоже самое )
exec - выполнение
passthru - аналогично
proc_open - выполняет комманду и открывает поинтэра файла для ввода-вывода
shell_exec - комманды через bash
system - опять же выполняет и выводит результат

include()
include_once()
require()
require_once()
инклуд файлов
__________________
Привет! Меня зовут Джордж, и я хотел бы рассказать вам про реинкарнацию (ц) 2x2

Последний раз редактировалось blackybr; 14.12.2006 в 22:48..
 
Ответить с цитированием

  #3  
Старый 14.12.2006, 23:03
_Great_
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
С нами: 10721066

Репутация: 4360


По умолчанию

Лучше запретить еще eval и preg_replace, файл можно прочитать и выполнить через eval, что аналогично include'у
 
Ответить с цитированием

  #4  
Старый 14.12.2006, 23:36
Abra
Постоянный
Регистрация: 17.09.2005
Сообщений: 375
С нами: 10866583

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

угу, про eval я выше писал. А preg_replace разве может как-то использоваться злонамерно? Не знал.
Спасибо обоим!
 
Ответить с цитированием

  #5  
Старый 14.12.2006, 23:45
_Great_
Флудер
Регистрация: 27.12.2005
Сообщений: 2,372
С нами: 10721066

Репутация: 4360


По умолчанию

PHP код:
$code "phpinfo();";
preg_replace("#a#e"$code"a"); 
выполнит код, содержащийся в $code
 
Ответить с цитированием

  #6  
Старый 15.12.2006, 00:45
ShAnKaR
Постоянный
Регистрация: 14.07.2005
Сообщений: 964
С нами: 10960226

Репутация: 1424


По умолчанию

Цитата:
Сообщение от blackybr  
proc_open - выполняет комманду и открывает поинтэра файла для ввода-вывода
ты имел ввиду popen наверно
http://phpclub.ru/manrus/f/popen.html

Последний раз редактировалось ShAnKaR; 15.12.2006 в 00:47..
 
Ответить с цитированием

  #7  
Старый 15.12.2006, 02:10
SMiX
Участник форума
Регистрация: 25.07.2005
Сообщений: 246
С нами: 10944326

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

proc_open в отличие от popen открывает 2 хендлера - на чтение и на запись.
 
Ответить с цитированием

  #8  
Старый 15.12.2006, 10:01
blackybr
♠ ♦ ♣ ♥
Регистрация: 18.05.2006
Сообщений: 1,828
С нами: 10516826

Репутация: 3742


По умолчанию

ShAnKaR именно proc_open, т.е аналог stream_select() но также выполняющий любые комманды..
синтаксис вроде
proc_open ( цмд , дескрипторы строки , куча еще всего )

ну и popen в принципе тожно можно счиатать за "опасную ф-ю"

Код:
<?php
$hackdafack = popen("/bin/uname", "r");
?>
__________________
Привет! Меня зовут Джордж, и я хотел бы рассказать вам про реинкарнацию (ц) 2x2
 
Ответить с цитированием

  #9  
Старый 15.12.2006, 11:05
Ch3ck
Познавший АНТИЧАТ
Регистрация: 09.06.2006
Сообщений: 1,359
С нами: 10485026

Репутация: 1879


По умолчанию

echo
Опасна лишь при таком использовании:
PHP код:
 <?php
echo('Дракула, Выйу, Ктулху - Power Rangers:), з0хват, мир,  лазерный испепелитель, мегабластер, ,Интернет, Kосмос');
?>

Последний раз редактировалось Dr.Check; 15.12.2006 в 11:11..
 
Ответить с цитированием

  #10  
Старый 15.12.2006, 19:06
KSURi
Постоянный
Регистрация: 06.06.2006
Сообщений: 515
С нами: 10489346

Репутация: 963


По умолчанию

Perl:

open(FILE_DESCRIPTOR,FILE_NAME);
# при подставлении пайпа в имя файла - исполнит его
Пример уязвимого кода:
Код:
my($key,$value)=split('=',$ENV{QUERY_STRING});
if($key eq "param") { open(IN,$value)||die $! }
Подставляем в GET запрос index.cgi?param=|id|
и получаем текущий ид

eval(CODE);
# при подставлении ';CODE'в фильтрующуюся переменную которую задает клиент - исполнит код.
Пример уязвимого кода:
Код:
my($key,$value)=split('=',$ENV{QUERY_STRING});
if($key eq "param") { eval("print $value") }
подставляем в param '; system('id')' и снова полдучаем текущий ид
 
Ответить с цитированием
Ответ



Предыдущая тема Следующая тема
Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Команды Irc. И его сервисы! XDoG Статьи 12 24.06.2009 08:21
Команды в WinNT VampiRUS PHP 5 09.08.2006 11:32
Основные команды командной строчки. silveran Windows 5 27.10.2005 14:45



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.