Your SlideShare is downloading. ×
0
Security without obscurity
Security without obscurity
Security without obscurity
Security without obscurity
Security without obscurity
Security without obscurity
Security without obscurity
Security without obscurity
Security without obscurity
Security without obscurity
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Security without obscurity

1,074

Published on

A presentation held in init Lab by baba iliica (Iliya Goranov). Topic is web security with some examples in PHP.

A presentation held in init Lab by baba iliica (Iliya Goranov). Topic is web security with some examples in PHP.

Published in: Technology, News & Politics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,074
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Security без Obscurity Илия Горанов
  • 2. Често допускани грешки• Никога не вярвайте на входни данниНа никакви входни данни! (вкл. HTTP headers)• Не използвайте Register Globals On• Изключете Error Reporting на Production Server-а• Пазете се от SQL injection• Пазете сесиите от крадене и фалшифициране• Не използвайте .conf, .inc и подобни разширения
  • 3. Малко криптография• Какво е хеш?• MD5 и SHA1• Какво е Salt?• Какво е Brute Force?• Какво е Rainbow Tables?• Какво е Challenge Response?
  • 4. Аутентикация и Ауторизация• Какво е аутентикация?• Какво е ауторизация?• Кога се прави аутентикация?• Как се прави аутентикация?• Кога се прави ауторизация?• Как се прави ауторизация?
  • 5. Видове аутентикация• Basic Realm Authentication<?phpif (!isset($_SERVER[PHP_AUTH_USER])) { header(WWW-Authenticate: Basic realm="My Realm"); header(HTTP/1.0 401 Unauthorized); echo Text to send if user hits Cancel button; exit;} else { echo "<p>Hello {$_SERVER[PHP_AUTH_USER]}.</p>"; echo "<p>You entered {$_SERVER[PHP_AUTH_PW]} as your password.</p>";}?>• Form based username/password authentication• Cert authentication – SSL/HTTPS
  • 6. Още малко криптография
  • 7. Малко примери?
  • 8. Пример 1 Ауторизация<?php$modules = array( 1 => Модул първи, 2 => Модул втори, 4 => Модул трети, 8 => Модул четвърти, 16 => Модул пети, 32 => Модул шести);echo <form method="post">."n";foreach ($modules as $k => $v) { echo <input type="checkbox" name="auth[]" value=".$k." /> .$v."<br />n";}echo <input type="submit" /></form>;$auth = (is_array($_POST[auth])) ? array_sum($_POST[auth]) : 0;echo Има достъп до:<br />;foreach ($modules as $k => $v) { if ($auth & $k) { echo $v . <br />; }}?>
  • 9. Пример 2 Единичен Log In• При аутентикацията запазваме ID на сесията в базата данни в поле предвидено за целта, в таблицата с потребителите;• При всяко обръщение се проверява, дали ID на текущата сесия съвпада с последното записано в базата. Ако не съвпада – Log Out.• Ако имаме екран, който не изисква reload продължително време, може да се постави един Java Script (с AJAX), който през определен интервал да проверява, дали текущата сесия продължава да е валидна (а и да поддържа сесията “жива”)
  • 10. Дискусия

×