Database-enabled web technology Security
Instructor: C ¸a˘ grı C ¸¨
- ltekin
c.coltekin@rug.nl
Database-enabled web technology Security Instructor: C a gr C - - PowerPoint PPT Presentation
Database-enabled web technology Security Instructor: C a gr C oltekin c.coltekin@rug.nl Information science/Informatiekunde Fall 2011/12 Security in Web applications Web, Databases & Security http://xkcd.com/327/ C . C
c.coltekin@rug.nl
Security in Web applications
C ¸. C ¸¨
Databases & Web 1/27
Previously in this course . . .
C ¸. C ¸¨
Databases & Web 2/27
Previously in this course . . .
C ¸. C ¸¨
Databases & Web 3/27
Previously in this course . . .
C ¸. C ¸¨
Databases & Web 4/27
Previously in this course . . .
C ¸. C ¸¨
Databases & Web 5/27
Previously in this course . . .
C ¸. C ¸¨
Databases & Web 6/27
Previously in this course . . .
C ¸. C ¸¨
Databases & Web 7/27
Previously in this course . . .
◮ a way to manage a user session for ensuring each execution of
◮ a way to keep state during the life time of the application.
◮ A session ID passed back-and-forth between the client an d the
◮ A server-side storage for session data. C ¸. C ¸¨
Databases & Web 8/27
Previously in this course . . .
C ¸. C ¸¨
Databases & Web 9/27
Previously in this course . . .
C ¸. C ¸¨
Databases & Web 10/27
Overview
C ¸. C ¸¨
Databases & Web 11/27
Web-based application security
C ¸. C ¸¨
Databases & Web 12/27
Web-based application security
C ¸. C ¸¨
Databases & Web 13/27
Web-based application security
C ¸. C ¸¨
Databases & Web 14/27
Injection
C ¸. C ¸¨
Databases & Web 15/27
Injection
1 <?php 2 if (! isset($_REQUEST[’send ’])) { 3 ?> 4 <form action=" <?php echo "${_SERVER[’PHP_SELF ’]}";?>" method="post"> 5 E-mail: <input type="text" name="email"><br > 6 <input type="submit" name="send"> 7 </form > 8 <?php 9 } else { 10 system(’mail -s "confirmation mail" ’ . 11 $_REQUEST[’email ’] . 12 ’ < confirmation_text ’ ); 13 echo ’Your confirmation mail is sent!’; 14 } 15 ?>
C ¸. C ¸¨
Databases & Web 16/27
Injection
1 <?php 2 if (! isset($_REQUEST[’send ’])) { 3 ?> 4 <form action=" <?php echo "${_SERVER[’PHP_SELF ’]}";?>" method="post"> 5 E-mail: <input type="text" name="email"><br > 6 <input type="submit" name="send"> 7 </form > 8 <?php 9 } else { 10 system(’mail -s "confirmation mail" ’ . 11 $_REQUEST[’email ’] . 12 ’ < confirmation_text ’ ); 13 echo ’Your confirmation mail is sent!’; 14 } 15 ?>
C ¸. C ¸¨
Databases & Web 16/27
Injection
1 <?php 2 if (! isset($_REQUEST[’send ’])) { 3 ?> 4 <form action=" <?php echo "${_SERVER[’PHP_SELF ’]}";?>" method="post"> 5 E-mail: <input type="text" name="email"><br > 6 <input type="submit" name="send"> 7 </form > 8 <?php 9 } else { 10 system(’mail -s "confirmation mail" ’ . 11 $_REQUEST[’email ’] . 12 ’ < confirmation_text ’ ); 13 echo ’Your confirmation mail is sent!’; 14 } 15 ?>
C ¸. C ¸¨
Databases & Web 16/27
Injection
C ¸. C ¸¨
Databases & Web 17/27
Injection
C ¸. C ¸¨
Databases & Web 17/27
Injection
C ¸. C ¸¨
Databases & Web 17/27
Injection
C ¸. C ¸¨
Databases & Web 17/27
Injection
http://news.bbc.co.uk/2/hi/americas/8206305.stm (2009-09-18) C ¸. C ¸¨
Databases & Web 18/27
Injection
http://news.bbc.co.uk/2/hi/americas/8206305.stm (2009-09-18)
C ¸. C ¸¨
Databases & Web 18/27
Cross-site scripting
C ¸. C ¸¨
Databases & Web 19/27
Cross-site scripting
C ¸. C ¸¨
Databases & Web 20/27
Cross-site scripting
C ¸. C ¸¨
Databases & Web 20/27
Cross-site scripting
C ¸. C ¸¨
Databases & Web 20/27
Cross-site scripting
C ¸. C ¸¨
Databases & Web 20/27
Cross-site scripting
C ¸. C ¸¨
Databases & Web 20/27
Cross-site scripting
C ¸. C ¸¨
Databases & Web 21/27
Cross-site scripting
C ¸. C ¸¨
Databases & Web 22/27
Cross-site scripting
C ¸. C ¸¨
Databases & Web 22/27
Cross-site scripting
C ¸. C ¸¨
Databases & Web 22/27
Cross-site scripting
C ¸. C ¸¨
Databases & Web 22/27
Cross-site scripting
C ¸. C ¸¨
Databases & Web 22/27
Cross-site scripting
C ¸. C ¸¨
Databases & Web 22/27
Authorization/authentication
C ¸. C ¸¨
Databases & Web 23/27
Authorization/authentication
C ¸. C ¸¨
Databases & Web 24/27
Authorization/authentication
http://www.wired.com/threatlevel/2009/01/professed-twitt/ C ¸. C ¸¨
Databases & Web 25/27
Authorization/authentication
http://www.wired.com/threatlevel/2009/01/professed-twitt/
C ¸. C ¸¨
Databases & Web 25/27
Security problems: wrapping up
C ¸. C ¸¨
Databases & Web 26/27
Summary & next week
◮ Session hijacking/fixation ◮ Injection attacks ◮ Cross-site scripting ◮ Authentication/authorization problems C ¸. C ¸¨
Databases & Web 27/27
Summary & next week
◮ Session hijacking/fixation ◮ Injection attacks ◮ Cross-site scripting ◮ Authentication/authorization problems
C ¸. C ¸¨
Databases & Web 27/27
Appendix
C ¸. C ¸¨
Databases & Web 28/27
Appendix
C ¸. C ¸¨
Databases & Web 29/27