1). */10 * * * * pkill npviewer.bin
2). установить дополнения в firefox - noscript or flashblock.
альтернатива
3). убиваем флешплеер установленный пакетом
качаем tar.gz from adobe.com и файл из архива кидаем libflashplayer.so
/usr/lib/opera/plugins/
/home/vova/.mozilla/plugins/
и проблемы нет
четверг, 13 мая 2010 г.
пятница, 16 апреля 2010 г.
Как экранировать html код (вывести код на страницу)?
Нету тега. Надо знать HTML entities, чтобы выводить HTML код на страницу, например, чтобы вывести HTML строку, где слова "моя Москва" жирным (обрамлены тегом Bold), надо открывающие и закрывающие угловые скобки обозначать с помощью HTML entities:
& lt; и & gt; (без пробела; я пробел поставил, чтобы в Ответе не произошло распознавание этого).
То есть, надо вот так писать, чтобы это не было воспринято как часть HTML кода Вашей страницы, а именно как выведение на экран строки HTML кода (без пробела после & что я здесь имею):
& lt;bold& gt;моя Москва& lt;/bold& gt; (пробелы после & ясно что не нужны)
На экране страницы будет вот такой 'вывод HTML кода':
<bold>моя Москва</bold>
То есть, смысл в том, чтобы не было воспринято как код страницы...
источник http://otvet.mail.ru/question/18202288/
<local port> то есть сдесь < земенено & lt; > & gt; пробел & nbsp; (пробелы после & ясно что не нужны)
& lt; и & gt; (без пробела; я пробел поставил, чтобы в Ответе не произошло распознавание этого).
То есть, надо вот так писать, чтобы это не было воспринято как часть HTML кода Вашей страницы, а именно как выведение на экран строки HTML кода (без пробела после & что я здесь имею):
& lt;bold& gt;моя Москва& lt;/bold& gt; (пробелы после & ясно что не нужны)
На экране страницы будет вот такой 'вывод HTML кода':
<bold>моя Москва</bold>
То есть, смысл в том, чтобы не было воспринято как код страницы...
источник http://otvet.mail.ru/question/18202288/
<local port> то есть сдесь < земенено & lt; > & gt; пробел & nbsp; (пробелы после & ясно что не нужны)
cups удаленный доступ
Строки которые нужно заменить или добавить выделены жирным
Port 631 заменить ее строку Listen Localhost:631
Listen /var/run/cups/cups.sock
# Show shared printers on the local network.
Browsing On
BrowseOrder allow,deny
# (Change '@LOCAL' to 'ALL' if using directed broadcasts from another subnet.)
BrowseAllow @LOCAL
# Default authentication type, when authentication is required...
DefaultAuthType Basic
# Restrict access to the server...
<Location />
Order allow,deny
Allow @LOCAL добавить
</Location>
# Restrict access to the admin pages...
<Location /admin>
Encryption Required
Order allow,deny
Allow @LOCAL добавить
</Location>
# Restrict access to configuration files...
<Location /admin/conf>
AuthType Default
Require user @SYSTEM
Order allow,deny
Allow @LOCAL добавить
</Location>
потом можно удаленно подключиться по адресу ip:631 или локально lynx localhost:631 и запустить принтер который не печатает. Также локально lynx localhost:631 можно включить и удаленные доступ через меню Администрирования (прийдется ввести логин рута и пароль) и после этого не забыть чуть ниже нажать кнопку сохранить настройки
Port 631 заменить ее строку Listen Localhost:631
Listen /var/run/cups/cups.sock
# Show shared printers on the local network.
Browsing On
BrowseOrder allow,deny
# (Change '@LOCAL' to 'ALL' if using directed broadcasts from another subnet.)
BrowseAllow @LOCAL
# Default authentication type, when authentication is required...
DefaultAuthType Basic
# Restrict access to the server...
<Location />
Order allow,deny
Allow @LOCAL добавить
</Location>
# Restrict access to the admin pages...
<Location /admin>
Encryption Required
Order allow,deny
Allow @LOCAL добавить
</Location>
# Restrict access to configuration files...
<Location /admin/conf>
AuthType Default
Require user @SYSTEM
Order allow,deny
Allow @LOCAL добавить
</Location>
потом можно удаленно подключиться по адресу ip:631 или локально lynx localhost:631 и запустить принтер который не печатает. Также локально lynx localhost:631 можно включить и удаленные доступ через меню Администрирования (прийдется ввести логин рута и пароль) и после этого не забыть чуть ниже нажать кнопку сохранить настройки
пятница, 9 апреля 2010 г.
Анализ системы после взлома
1). touch изменяет лишь время модификации файла (mtime) и время доступа, но у файла есть атрибут ctime (Change Time) - фиксирует время изменения метаданных файла (например прав доступа, владельца, группы и т.д.). Чтобы найти свежезалитых и спрятанных шеллов:
find {КАТАЛОГ} -ctime -1
Менять атрибут можно лишь с правами рута, средства для этого http://www.krazyworks.com/changing-time/ или http://www.securiteam.com/tools/5JP0H2K7FE.html
find {КАТАЛОГ} -ctime -1
Менять атрибут можно лишь с правами рута, средства для этого http://www.krazyworks.com/changing-time/ или http://www.securiteam.com/tools/5JP0H2K7FE.html
четверг, 25 марта 2010 г.
Intrusion Detection For PHP Applications With PHPIDS
Эта статья покажет как настроить PHPIDS. PHPIDS (PHP-Intrusion Detection System) - это легко используемая, хорошо структурированная, быстрая прослойка для анализа безопасности ваших приложений. IDS - не является прослойкой для анализа данных, введенных пользователем, он только распознает, когда пытаются атаковать ваш сайт. на основе набора проверенных и оттестированных правил каждой атаке сопоставлен рейтинг ее опасности. Это позволит легко сохранять статистику по атакам или отсылать уведомления для команды разработчиков.
Apache версии 2 и PHP5, IP - мой. Пользователь и группа Apache - apache. Путь к php.ini - etc/php.ini. В качестве document root использовался /var/www/html/
Установка PHPIDS
Из изображений безопасности я установил PHPIDS вне document root, поэтому я создал /var/www/phpids:
Затем я установил PHPIDS (на момент установки последняя версия была 0.5).
cd /tmp
wget http://php-ids.org/files/phpids-0.4.7.ta…
tar xvfz phpids-0.4.7.tar.gz
cd phpids-0.4.7
mv lib/ /var/www/web1/phpids/
cd /var/www/web1/phpids/lib/IDS
chown -R apache:apache tmp/
Далее я переконфигурировал Config.ini:
cd Config/
vi Config.ini
Я использую конфигурацию по умолчанию, и все что надо сделать - это поменять пути
; PHPIDS Config.ini
; General configuration settings
; !!!DO NOT PLACE THIS FILE INSIDE THE WEB-ROOT IF DATABASE CONNECTION DATA WAS ADDED!!!
[General]
filter_type = xml
filter_path = /var/www/phpids/lib/IDS/default_filter.xml
tmp_path = /var/www/phpids/lib/IDS/tmp
scan_keys = false
exceptions[] = __utmz
exceptions[] = __utmc
; If you use the PHPIDS logger you can define specific configuration here
[Logging]
; file logging
path = /var/www/phpids/lib/IDS/tmp/phpids_log.txt
; email logging
; note that enabling safemode you can prevent spam attempts,
; see documentation
recipients[] = test@test.com.invalid
subject = "PHPIDS detected an intrusion attempt!"
header = "From: info@php-ids.org"
safemode = true
allowed_rate = 15
; database logging
wrapper = "mysql:host=localhost;port=3306;dbname=phpids"
user = phpids_user
password = 123456
table = intrusions
; If you would like to use other methods than file caching you can configure them here
[Caching]
; caching: session|file|database|memcached|none
caching = file
expiration_time = 600
; file cache
path = /var/www/phpids/lib/IDS/tmp/default_filter.cache
; database cache
wrapper = "mysql:host=localhost;port=3306;dbname=phpids"
user = phpids_user
password = 123456
table = cache
; memcached
;host = localhost
;port = 11211
;key_prefix = PHPIDS
;tmp_path = /var/www/phpids/lib/IDS/tmp/memcache.timestamp
Использование PHPIDS
Сейчас мы создадим /var/www/html/phpids.php, который будет использовать PHPIDS
set_include_path(
get_include_path()
. PATH_SEPARATOR
. '/var/www/phpids/lib'
);
require_once 'IDS/Init.php';
$request = array(
'REQUEST' => $_REQUEST,
'GET' => $_GET,
'POST' => $_POST,
'COOKIE' => $_COOKIE
);
$init = IDS_Init::init('/var/www/phpids/lib/IDS/Config/Config.ini');
$ids = new IDS_Monitor($request, $init);
$result = $ids->run();
if (!$result->isEmpty()) {
// Take a look at the result object
echo $result;
require_once 'IDS/Log/File.php';
require_once 'IDS/Log/Composite.php';
$compositeLog = new IDS_Log_Composite();
$compositeLog->addLogger(IDS_Log_File::getInstance($init));
$compositeLog->execute($result);
}
После этого введите в своем браузере http://192.168.0.100/phpids.php, и вы увидите пустую страницу.
Однако если вы добавите различные параметры, например http://192.168.0.100/phpids.php?test=%22%3EXXX%3Cscript%3Ealert(1)%3C/script%3E, PHPIDS определит их и напечатает результат в браузер
otal impact: 54
Affected tags: xss, csrf, id, rfe, lfi, sqli
Variable: REQUEST.test | Value: ">XXX
и т.д.
Сейчас мы сделаем так, чтобы PHPIDS тиспользовался в каждом вашем скрипте. Конечно, вам не придется модифицировать каждый файл php в вашей системе. Мы скажем php, чтобы он запускал PHPIDS при каждом старте скрипта. Мы сделаем это используя auto_prepend_file параметр. Для этого сделаем модификацию в php.ini или .htaccess file
auto_prepend_file = /var/www/html/phpids.php
или для .htaccess
php_value auto_prepend_file /var/www/html/phpids.php
Перепустите ваш Apache (для случая с модификацией php.ini)
Создайте файл info.php с содержимым
phpinfo();
Напишите в браузере http://192.168.0.100/info.php и вы увидите нормальный вывод команды phpinfo()
теперь добавьте параметры, например http://192.168.0.100/info.php?test=%22%3EXXX%3Cscript%3Ealert(1)%3C/script%3E и вы увидите
PHPIDS запишет эти данные в /var/www/phpids/lib/IDS/tmp/phpids_log.txt
"192.168.0.200",2008-06-04T17:36:08+02:00,54,"xss csrf id rfe lfi","REQUEST.test=%5C%22%3EXXX%3Cscript%3Ealert%281%29%3C%2Fscript%3E GET.test=%5C%22%3EXXX%3Cscript%3Ealert%281%29%3C%2Fscript%3E",
"%2Finfo.php%3Ftest%3D%2522%253EXXX%253Cscript%253Ealert%281%29%253C%2Fscript%253E"
Теперь, просмотрев записи. вы увидите, что хакер пытался что-то сделать с вашим приложением.
Для добавления другого уровня безопасности для вашего приложения вы можете остановить скрипт, если PHPIDS обнаружил атаку:
мы можем добавить что-то похожее на это
die('
Go away!
');
в секцию if (!$result->isEmpty()) {} в файле /var/www/html/phpids.php script
set_include_path(
get_include_path()
. PATH_SEPARATOR
. '/var/www/phpids/lib'
);
require_once 'IDS/Init.php';
$request = array(
'REQUEST' => $_REQUEST,
'GET' => $_GET,
'POST' => $_POST,
'COOKIE' => $_COOKIE
);
$init = IDS_Init::init('/var/www/phpids/lib/IDS/Config/Config.ini');
$ids = new IDS_Monitor($request, $init);
$result = $ids->run();
if (!$result->isEmpty()) {
// Take a look at the result object
echo $result;
require_once 'IDS/Log/File.php';
require_once 'IDS/Log/Composite.php';
$compositeLog = new IDS_Log_Composite();
$compositeLog->addLogger(IDS_Log_File::getInstance($init));
$compositeLog->execute($result);
die('
Go away!
');
}
Если нет атаки скрипт продолжит выполнение, иначе хакер увидит это
коментарий переводчика
Указанные выше примеры можно использовать и на боевых системах. Однако для этого потребуется некое преобразование
$init = IDS_Init::init('/var/www/phpids/lib/IDS/Config/Config.ini');
так как каждый раз незачем загружать файл настроек из файла, а заменить его написанным заранее классом
источник http://habrahabr.ru/blogs/php/31617/
Apache версии 2 и PHP5, IP - мой. Пользователь и группа Apache - apache. Путь к php.ini - etc/php.ini. В качестве document root использовался /var/www/html/
Установка PHPIDS
Из изображений безопасности я установил PHPIDS вне document root, поэтому я создал /var/www/phpids:
Затем я установил PHPIDS (на момент установки последняя версия была 0.5).
cd /tmp
wget http://php-ids.org/files/phpids-0.4.7.ta…
tar xvfz phpids-0.4.7.tar.gz
cd phpids-0.4.7
mv lib/ /var/www/web1/phpids/
cd /var/www/web1/phpids/lib/IDS
chown -R apache:apache tmp/
Далее я переконфигурировал Config.ini:
cd Config/
vi Config.ini
Я использую конфигурацию по умолчанию, и все что надо сделать - это поменять пути
; PHPIDS Config.ini
; General configuration settings
; !!!DO NOT PLACE THIS FILE INSIDE THE WEB-ROOT IF DATABASE CONNECTION DATA WAS ADDED!!!
[General]
filter_type = xml
filter_path = /var/www/phpids/lib/IDS/default_filter.xml
tmp_path = /var/www/phpids/lib/IDS/tmp
scan_keys = false
exceptions[] = __utmz
exceptions[] = __utmc
; If you use the PHPIDS logger you can define specific configuration here
[Logging]
; file logging
path = /var/www/phpids/lib/IDS/tmp/phpids_log.txt
; email logging
; note that enabling safemode you can prevent spam attempts,
; see documentation
recipients[] = test@test.com.invalid
subject = "PHPIDS detected an intrusion attempt!"
header = "From: info@php-ids.org"
safemode = true
allowed_rate = 15
; database logging
wrapper = "mysql:host=localhost;port=3306;dbname=phpids"
user = phpids_user
password = 123456
table = intrusions
; If you would like to use other methods than file caching you can configure them here
[Caching]
; caching: session|file|database|memcached|none
caching = file
expiration_time = 600
; file cache
path = /var/www/phpids/lib/IDS/tmp/default_filter.cache
; database cache
wrapper = "mysql:host=localhost;port=3306;dbname=phpids"
user = phpids_user
password = 123456
table = cache
; memcached
;host = localhost
;port = 11211
;key_prefix = PHPIDS
;tmp_path = /var/www/phpids/lib/IDS/tmp/memcache.timestamp
Использование PHPIDS
Сейчас мы создадим /var/www/html/phpids.php, который будет использовать PHPIDS
set_include_path(
get_include_path()
. PATH_SEPARATOR
. '/var/www/phpids/lib'
);
require_once 'IDS/Init.php';
$request = array(
'REQUEST' => $_REQUEST,
'GET' => $_GET,
'POST' => $_POST,
'COOKIE' => $_COOKIE
);
$init = IDS_Init::init('/var/www/phpids/lib/IDS/Config/Config.ini');
$ids = new IDS_Monitor($request, $init);
$result = $ids->run();
if (!$result->isEmpty()) {
// Take a look at the result object
echo $result;
require_once 'IDS/Log/File.php';
require_once 'IDS/Log/Composite.php';
$compositeLog = new IDS_Log_Composite();
$compositeLog->addLogger(IDS_Log_File::getInstance($init));
$compositeLog->execute($result);
}
После этого введите в своем браузере http://192.168.0.100/phpids.php, и вы увидите пустую страницу.
Однако если вы добавите различные параметры, например http://192.168.0.100/phpids.php?test=%22%3EXXX%3Cscript%3Ealert(1)%3C/script%3E, PHPIDS определит их и напечатает результат в браузер
otal impact: 54
Affected tags: xss, csrf, id, rfe, lfi, sqli
Variable: REQUEST.test | Value: ">XXX
и т.д.
Сейчас мы сделаем так, чтобы PHPIDS тиспользовался в каждом вашем скрипте. Конечно, вам не придется модифицировать каждый файл php в вашей системе. Мы скажем php, чтобы он запускал PHPIDS при каждом старте скрипта. Мы сделаем это используя auto_prepend_file параметр. Для этого сделаем модификацию в php.ini или .htaccess file
auto_prepend_file = /var/www/html/phpids.php
или для .htaccess
php_value auto_prepend_file /var/www/html/phpids.php
Перепустите ваш Apache (для случая с модификацией php.ini)
Создайте файл info.php с содержимым
phpinfo();
Напишите в браузере http://192.168.0.100/info.php и вы увидите нормальный вывод команды phpinfo()
теперь добавьте параметры, например http://192.168.0.100/info.php?test=%22%3EXXX%3Cscript%3Ealert(1)%3C/script%3E и вы увидите
PHPIDS запишет эти данные в /var/www/phpids/lib/IDS/tmp/phpids_log.txt
"192.168.0.200",2008-06-04T17:36:08+02:00,54,"xss csrf id rfe lfi","REQUEST.test=%5C%22%3EXXX%3Cscript%3Ealert%281%29%3C%2Fscript%3E GET.test=%5C%22%3EXXX%3Cscript%3Ealert%281%29%3C%2Fscript%3E",
"%2Finfo.php%3Ftest%3D%2522%253EXXX%253Cscript%253Ealert%281%29%253C%2Fscript%253E"
Теперь, просмотрев записи. вы увидите, что хакер пытался что-то сделать с вашим приложением.
Для добавления другого уровня безопасности для вашего приложения вы можете остановить скрипт, если PHPIDS обнаружил атаку:
мы можем добавить что-то похожее на это
die('
Go away!
');
в секцию if (!$result->isEmpty()) {} в файле /var/www/html/phpids.php script
set_include_path(
get_include_path()
. PATH_SEPARATOR
. '/var/www/phpids/lib'
);
require_once 'IDS/Init.php';
$request = array(
'REQUEST' => $_REQUEST,
'GET' => $_GET,
'POST' => $_POST,
'COOKIE' => $_COOKIE
);
$init = IDS_Init::init('/var/www/phpids/lib/IDS/Config/Config.ini');
$ids = new IDS_Monitor($request, $init);
$result = $ids->run();
if (!$result->isEmpty()) {
// Take a look at the result object
echo $result;
require_once 'IDS/Log/File.php';
require_once 'IDS/Log/Composite.php';
$compositeLog = new IDS_Log_Composite();
$compositeLog->addLogger(IDS_Log_File::getInstance($init));
$compositeLog->execute($result);
die('
Go away!
');
}
Если нет атаки скрипт продолжит выполнение, иначе хакер увидит это
коментарий переводчика
Указанные выше примеры можно использовать и на боевых системах. Однако для этого потребуется некое преобразование
$init = IDS_Init::init('/var/www/phpids/lib/IDS/Config/Config.ini');
так как каждый раз незачем загружать файл настроек из файла, а заменить его написанным заранее классом
источник http://habrahabr.ru/blogs/php/31617/
четверг, 18 марта 2010 г.
htpasswd особенности использования
nix crypt() processes the first 8 characters.
You may use htpasswd in -m (md5) or -s (sha1) modes for full password
token processing. This is a known defect in unix.
You may use htpasswd in -m (md5) or -s (sha1) modes for full password
token processing. This is a known defect in unix.
пятница, 12 марта 2010 г.
Упрощаем скачку с rapidshare и их клонов
если 1 файл - аддон firefox - SkipScreen (scipscreen.com)
файл разбит на части - JDownloader (jdownloader.org) - если не подхватил ссылку значит сервис не поддерживается
вылажывать лучше на "Народ.Диском" yandex - 5 Gb ограничение
файл разбит на части - JDownloader (jdownloader.org) - если не подхватил ссылку значит сервис не поддерживается
вылажывать лучше на "Народ.Диском" yandex - 5 Gb ограничение
Подписаться на:
Сообщения (Atom)