Prevent your app from being hacked by

Jean-KévinDu62

Sylvain Combraque

Developer at les-tilleuls.coop

Security auditor free time

API Platform contributor

@Darkweak

@Darkweak_dev

Les-tilleuls.coop

Self-managed since 2011

35 people, 2000% in 8 years

jobs@les-tilleuls.coop

"You should use Wordpress, it's secure"

Back to the past

mysql_connect

PDO::Query

SELECT *

FROM table

WHERE id = $id

Need to fetch data from database ?

ORM (such as CakePHP ORM)

Better use

Prepared requests

Need to define a url with identifier ?

/category.php?id=1

/category?id=1

Url rewrite is better

/category/1

Cool my app is now secure

Not really

Going further with hacker attack

Prevent your app from bruteforce attack

Login example

Login example

Login example

My reaction

Fail regex example

Form security

"God created CSRF"

Symfony

PWA / SPA

On form load

Request

Generate

Send

API

CSRF Token

Client

On form submit

Submit

Verification

Return

API

CSRF Token

Response

Summary

  • ORM (or prepared requests)
  • URL rewriting
  • Fail2ban
  • CSRF

But if a hacker succeed to connect to the server...

Dockerize your app

Will be closed to container itself

Can't expand to system or other containers

Dockerize your app

Define ACL in your containers

Link fail2ban to containers

Link fail2ban to containers

Link fail2ban to containers

Are you developing

real-time apps and push data to clients ?

Websocket ?

You have to recode the security

Doesn't use TLS cert by default

Duplex connection

Custom protocol

Use server sent events

MERCURE

What else ?

(Not Nespresso)

Improve basic PHP security

with Symfony's security component

  • security-core
  • security-http
  • security-csrf
  • security-guard

R.U.D.Y Attack​

or

DDoS Attack​​ ?

Be secure from 

Use free and simple service

Do you allow user to upload files and to display them ?

Webshell exploit

Main points to counter this exploit

File integrity

Limit extensions

No encoded payload into this

No escaped characters

What about Man In The Middle (MITM) ?

Then protect your local network

And your devices

Any tools to test your app/network

SQLMap

Fuzz

Nmap

Hydra

Slowhttptest

MSFConsole

"Best exploits are humans"

Mr Robot

Wants to know more on containerized services management

Questions

deck

By darkweak

deck

  • 405