SlideShare a Scribd company logo
Защита при създаване на PHP-
   приложения в интернет




       ДИЯН НАЧЕВ, ИУ-ВАРНА
               2013
Основни правила и тактики за защита


<?php

ini_set(‘error_reporting’,E_ALL);
ini_set(‘display_errors’,’stderr’);
ini_set(‘log_errors’,’On’);
ini_set(‘error_log’,’usr/local/apache/logs/error_log’);

?>

set_error_handler(my_error_handler)
Формуляри и URL



•   Формуляри и данни
•   Семантични атаки на URL
•   Атаки при качване на файлове
•   Cross-site криптиране (XSS)
•   Cross-site фалшификати на заявки (CSRF)
Бази данни и URL


• Открита информация за достъп

<Files ~ ".inc$">
Order allow,deny
Deny from all
</Files>

• SQL инжектиране

<?php
$salt = 'SHIFLETT';
$password_hash = md5($salt .
   md5($_POST['password'] . $salt));
?>
Сесии и бисквитки


• Кражба на бисквитка
• Открити данни от сесия
• Фиксирани сесии
Допълнителни елементи на кода


<?php

$authenticated = FALSE;
$authenticated = check_auth();
/* ... */
if ($authenticated)
{
include './sensitive.php';
}
?>
Системни команди


<?php
$last = exec('ls', $output, $return);
print_r($output);
echo "Return [$return]";
?>

<?php
$clean = array();
$shell = array();
/* Филтриране на входа ($command, $argument) */
$shell['command'] = escapeshellcmd($clean['command']);
$shell['argument'] = escapeshellarg($clean['argument']);
$last = exec("{$shell['command']} {$shell['argument']}", $output,
$return);
?>
Автентификация и упълномощаване


•   Атака на грубата сила
•   Проследяване на паролата
•   Атаки на повторенията
•   Постоянни регистрации
Споделен хостинг


• Публично разкриване на сорс код

<?php

header('Content-Type: text/plain');
readfile($_GET['file']);

?>

SetEnv DB_USER "myuser"
SetEnv DB_PASS "mypass"

httpd.conf чрез Include "/path/to/db.conf"
Споделен хостинг


• Публично разкриване на сорс код

<?php

header('Content-Type: text/plain');
readfile($_GET['file']);

?>

SetEnv DB_USER "myuser"
SetEnv DB_PASS "mypass"

httpd.conf чрез Include "/path/to/db.conf"

More Related Content

PDF
Security without obscurity
Vladimir Vassilev
 
ODP
Php sec
phristov
 
ODP
Чести проблеми в сигурността на уеб проектите
Veselin Nikolov
 
ODP
Сигурност при разработката на WordPress разширения
Veselin Nikolov
 
PPT
B2 t2 variables
Asiya Petrova
 
PPT
B5 t5 if_else_for_while
Asiya Petrova
 
POT
Anti SQLi
Sebastiqn Sybi
 
DOC
Research Paper v2.0
Kapil Tiwari
 
Security without obscurity
Vladimir Vassilev
 
Php sec
phristov
 
Чести проблеми в сигурността на уеб проектите
Veselin Nikolov
 
Сигурност при разработката на WordPress разширения
Veselin Nikolov
 
B2 t2 variables
Asiya Petrova
 
B5 t5 if_else_for_while
Asiya Petrova
 
Anti SQLi
Sebastiqn Sybi
 
Research Paper v2.0
Kapil Tiwari
 

Viewers also liked (12)

PDF
Group 1 class newsletter
CAT250_Group1UA
 
DOCX
Hr practices
chkg12
 
PDF
Php sec referat
Dido_mn
 
PPTX
Recycling waste materials
Nevil Nos
 
PPT
Torque on a coil
Tqa Amer
 
PDF
Bc1
chkg12
 
PPTX
Museum education buckingham 23.01.13
annefay
 
PDF
Aspek aspek keselamatan kerja dalam membubut
Tresna Hikmawan
 
PPTX
Dfw 2013 ppt 01
Six Angels
 
PPTX
DINASTI AYYUBIYAH FIKRAN8SBU
fikranhaikalakbar 중제재
 
PPTX
Mtnl ppt
srk-live
 
PPTX
Mtnl ppt
srk-live
 
Group 1 class newsletter
CAT250_Group1UA
 
Hr practices
chkg12
 
Php sec referat
Dido_mn
 
Recycling waste materials
Nevil Nos
 
Torque on a coil
Tqa Amer
 
Bc1
chkg12
 
Museum education buckingham 23.01.13
annefay
 
Aspek aspek keselamatan kerja dalam membubut
Tresna Hikmawan
 
Dfw 2013 ppt 01
Six Angels
 
DINASTI AYYUBIYAH FIKRAN8SBU
fikranhaikalakbar 중제재
 
Mtnl ppt
srk-live
 
Mtnl ppt
srk-live
 
Ad

Similar to Php sec (20)

DOCX
Php security
phristov
 
PPTX
Php security
Nikolai
 
PDF
Защита при създаване на PHP-приложения в Интернет
eismail
 
PDF
Защита при създаване на PHP приложения в Интернет
Anton Shumanski
 
DOCX
Защита при създаването на PHP-приложения
Nikolay Milkov
 
PPTX
PHP Security
plamenamarinova
 
PDF
Kursova 116679
superazo
 
PPTX
Защита при създаване на PHP приложения в Интернет (презентация)
Anton Shumanski
 
PPTX
Защита при създаване на PHP приложения в интернет
Валентин Атанасов
 
PDF
5494 n nikolov_zashtita
Nikolai Nikolov
 
PDF
Защита при създаване на PHP-приложения в интернет
nelisid
 
PDF
500085 presentation
nelisid
 
PPTX
Безопасност и защита на Web приложения
DiNikolo
 
PDF
Drupal security lecture
slide9991
 
DOC
Сигурност и права за достъп в уеб приложения изработени с работната рамка Yii
Ilko Kacharov
 
DOC
Bezopastnost i zashtita na web priolojeniq
Martin Kenarov
 
PPT
C panel
Sebastiqn Sybi
 
PDF
Защита при създаване на PHP-приложения в Интернет
Валентин Атанасов
 
PPT
безопасност и защита на Web приложения
karizka3
 
Php security
phristov
 
Php security
Nikolai
 
Защита при създаване на PHP-приложения в Интернет
eismail
 
Защита при създаване на PHP приложения в Интернет
Anton Shumanski
 
Защита при създаването на PHP-приложения
Nikolay Milkov
 
PHP Security
plamenamarinova
 
Kursova 116679
superazo
 
Защита при създаване на PHP приложения в Интернет (презентация)
Anton Shumanski
 
Защита при създаване на PHP приложения в интернет
Валентин Атанасов
 
5494 n nikolov_zashtita
Nikolai Nikolov
 
Защита при създаване на PHP-приложения в интернет
nelisid
 
500085 presentation
nelisid
 
Безопасност и защита на Web приложения
DiNikolo
 
Drupal security lecture
slide9991
 
Сигурност и права за достъп в уеб приложения изработени с работната рамка Yii
Ilko Kacharov
 
Bezopastnost i zashtita na web priolojeniq
Martin Kenarov
 
Защита при създаване на PHP-приложения в Интернет
Валентин Атанасов
 
безопасност и защита на Web приложения
karizka3
 
Ad

Php sec

  • 1. Защита при създаване на PHP- приложения в интернет ДИЯН НАЧЕВ, ИУ-ВАРНА 2013
  • 2. Основни правила и тактики за защита <?php ini_set(‘error_reporting’,E_ALL); ini_set(‘display_errors’,’stderr’); ini_set(‘log_errors’,’On’); ini_set(‘error_log’,’usr/local/apache/logs/error_log’); ?> set_error_handler(my_error_handler)
  • 3. Формуляри и URL • Формуляри и данни • Семантични атаки на URL • Атаки при качване на файлове • Cross-site криптиране (XSS) • Cross-site фалшификати на заявки (CSRF)
  • 4. Бази данни и URL • Открита информация за достъп <Files ~ ".inc$"> Order allow,deny Deny from all </Files> • SQL инжектиране <?php $salt = 'SHIFLETT'; $password_hash = md5($salt . md5($_POST['password'] . $salt)); ?>
  • 5. Сесии и бисквитки • Кражба на бисквитка • Открити данни от сесия • Фиксирани сесии
  • 6. Допълнителни елементи на кода <?php $authenticated = FALSE; $authenticated = check_auth(); /* ... */ if ($authenticated) { include './sensitive.php'; } ?>
  • 7. Системни команди <?php $last = exec('ls', $output, $return); print_r($output); echo "Return [$return]"; ?> <?php $clean = array(); $shell = array(); /* Филтриране на входа ($command, $argument) */ $shell['command'] = escapeshellcmd($clean['command']); $shell['argument'] = escapeshellarg($clean['argument']); $last = exec("{$shell['command']} {$shell['argument']}", $output, $return); ?>
  • 8. Автентификация и упълномощаване • Атака на грубата сила • Проследяване на паролата • Атаки на повторенията • Постоянни регистрации
  • 9. Споделен хостинг • Публично разкриване на сорс код <?php header('Content-Type: text/plain'); readfile($_GET['file']); ?> SetEnv DB_USER "myuser" SetEnv DB_PASS "mypass" httpd.conf чрез Include "/path/to/db.conf"
  • 10. Споделен хостинг • Публично разкриване на сорс код <?php header('Content-Type: text/plain'); readfile($_GET['file']); ?> SetEnv DB_USER "myuser" SetEnv DB_PASS "mypass" httpd.conf чрез Include "/path/to/db.conf"