securify hack workshop j-fall 2014

22
www.securify.nl Can you hack the bank? 23/09/14 Samen bouwen aan veilige software Workshop JFall 2014 Yorick Koster & David Vaartjes

Upload: securify

Post on 21-Jul-2015

70 views

Category:

Engineering


3 download

TRANSCRIPT

www.securify.nl

Can  you  hack  the  bank?

23/09/14

Samen  bouwen  aan  veilige  software

Workshop  J-­‐Fall  2014  -­‐  Yorick  Koster  &  David  Vaartjes

www.securify.nl

Wie  zijn  we?

www.securify.nl

Software  Security  Testing

mobile  &  web

www.securify.nl

Build  Security  In

www.securify.nl

Agile  Security  Testing

www.securify.nl

Bezoek  ons  ook  op

     J-­‐FALL      E-­‐crime      DroidCon5-­‐11-­‐2014 27-­‐11-­‐201423-­‐11-­‐2014

www.securify.nl

Lekken  in  web  applicaties

• Gebrekkige  autorisatie  • SQL  injectie  • Command  injectie  • Path  traversal  • Etc.

www.securify.nl

Ons  target  voor  vandaag!

www.securify.nl

Lekken  in  web  applicaties

www.securify.nl

Zwakke  autorisatie  -­‐  intro

• Authenticatie  -­‐  het  proces  van  het  vaststellen  van  een  identiteit  !

• Autorisatie  -­‐  het  verlenen  van  een  recht  (machtiging)

www.securify.nl

Zwakke  autorisatie  -­‐  intro

v"

www.securify.nl

Zwakke  autorisatie  -­‐  de  opdracht

• Kun  je  bij  gegevens  van  andere  klanten  komen?  !

• Kun  je  geld  stelen  van  andere  klanten?

http://mijn.sbank.nl/

www.securify.nl

SQL  injectie  -­‐  intro

Voornaam Achternaam E-mailadres

Henk de Vries [email protected]

Jaap Bakker [email protected]

Marlies Jansen [email protected]

!  SELECT * FROM personen WHERE Achternaam = 'Bakker';

Tabelnaam Veldnaam Zoekcriteria

!  Data (zoekcriteria) wordt gemixt met het commando (SQL) !  Wat als je zoekt op O'Reilly of ' OR '1' = '1 ?

Alles

www.securify.nl

SQL  injectie  -­‐  intro

SELECT&*&FROM&personen&WHERE&Achternaam&=&''&OR&'1'&=&'1';&&!  Geef&alles&terug&waar&de&Achternaam&leeg&is...&!  Of&wanneer&1&gelijk&is&aan&1&

www.securify.nl

SQL  injectie  -­‐  intro

www.securify.nl

SQL  injectie  -­‐  de  opdracht

Kun  je  onveilige  queries  manipuleren  en  misbruiken  ?

http://mijn.sbank.nl/

www.securify.nl

SQL  injectie  -­‐  bevindingen?

• rekeningnummer  in  de  URL  • Inloggen  met:  

• Tester1'  -­‐-­‐      •  '  OR  1=1  -­‐-­‐  

www.securify.nl

Command  injection  -­‐  intro

<?php echo shell_exec('cat '.$_GET['command']); ?>

Systeem'commando-

Invoer-

www.securify.nl

Command  injection  -­‐  de  opdracht

• Kun  je  systeem  commands  uitvoeren?  !

• Kun  je  gegevens  van  de  server  achterhalen?

http://mijn.sbank.nl/

www.securify.nl

Command  injection  -­‐  bevindingen?

• Statements  via  file  parameter  • ;  ls  -­‐l  includes  • ;  cat  includes/config.inc

www.securify.nl

Path  traversal  -­‐  intro

• Bestandsnamen  of  laden  samenstallen  met  gebruikersinvoer

String path = ‘/home/download/‘ . $filename . ‘.csv’;

www.securify.nl

Path  traversal  -­‐  de  opdracht

Kun  je  file  operaties  manipuleren  en  gevoelige  bestanden  lezen?

http://mijn.sbank.nl/