{GCC-18/09/24}
Introduction aux attaques sur le WEB
Drahoxx

2
Quelques failles : SQLi, LFI, XSS, idor

1
Les bases du web : Client/Serveur, Reverse-Proxy, Backend/Frontend, GET/POST, etc.
3
WU :
Web par Mika
4
Les challenges de Mika !
Drahoxx
Le principe du Client/Serveur
# LES BASES DU WEB

Drahoxx












Le principe du Client/Serveur
# LES BASES DU WEB

Drahoxx












FRONT - END
BACK - END
Le principe du Client/Serveur
# LES BASES DU WEB

Drahoxx



http://abc.lan/
Le "simple"
Le principe du Client/Serveur
# LES BASES DU WEB

Drahoxx



http://abc.lan/

Le proxifié
Le principe du Client/Serveur
# LES BASES DU WEB

Drahoxx



http://abc.lan/user

Le complet

Décodage
Requête SQL
Résultat SQL
Réencodage
Les requêtes GET et POST
# LES BASES DU WEB

Drahoxx
GET


"C'est la méthode la plus courante pour demander une ressource. Une requête GET est sans effet sur la ressource, il doit être possible de répéter la requête sans effet." ~ Wikipédia
# LES BASES DU WEB

Drahoxx
GET
https://www.google.com/search?channel=fs&client=ubuntu-sn&q=test
Protocol : HTTPS
Host : google.com
Endpoint : /search
Parameters :
- channel=fs
- client=ubuntu-sn
- q=test
Les requêtes GET et POST
Les requêtes GET et POST
# LES BASES DU WEB

Drahoxx
POST
"Cette méthode est utilisée pour transmettre des données en vue d'un traitement à une ressource (le plus souvent depuis un formulaire HTML). " ~ Wikipédia


# LES BASES DU WEB

Drahoxx
POST
http://192.168.0.2/login
Protocol : HTTP
Host : 192.168.0.2
Endpoint : /login
Parameters :
- username=abc
- password=Sup3r...
Les requêtes GET et POST
-> username=abc
-> password=Sup3rP@sswd
# LES BASES DU WEB

Drahoxx
Les requêtes GET et POST



Quelques failles WEB...
# LES BASES DU WEB

Drahoxx
SQLi


http://abc.lan/user


Décodage
Requête SQL
Résultat SQL
Réencodage

Injection dans une requête SQL (SQLi = SQL injection)
Quelques failles WEB...
# LES BASES DU WEB

Drahoxx
SQLi
result = cur.execute(f"SELECT uid FROM users WHERE username='{rq_username}' and password='{rq_passwd}';").fetchone()



Quelques failles WEB...
# LES BASES DU WEB

Drahoxx
SQLi
"SELECT uid FROM users WHERE username='{rq_username}' and password='{rq_passwd}';"
"SELECT uid FROM users WHERE username='Toto' and password='Sup3rP@ssW0rd';"
Quelques failles WEB...
# LES BASES DU WEB

Drahoxx
SQLi
rq_username = "Toto" rq_passwd = "Sup4rP@ssw0rd"
"SELECT uid FROM users WHERE username='Toto' AND password='Sup3rP@ssW0rd';"
Quelques failles WEB...
# LES BASES DU WEB

Drahoxx
SQLi
rq_username = "' OR 1=1-- -" rq_passwd = "aaa"
"SELECT uid FROM users WHERE username='' OR 1=1-- -' AND password='aaa';"
"SELECT uid FROM users WHERE username='' OR 1=1-- -' AND password='aaa';"
Quelques failles WEB...
# LES BASES DU WEB

Drahoxx
iDOR
https://moodle.univ-ubs.fr/course/view.php?id=2550
Modification d'un paramètre numérique pour réaliser une actions.
https://gcc-ensibs.fr/users/reset_password/133 https://gcc-ensibs.fr/users/reset_password/1 <- reset admin
Quelques failles WEB...
# LES BASES DU WEB

Drahoxx
X SS
Cross-site Scripting, envoyer du code executable en front-end à d'autres utilisateurs






- Redirection - Vol de cookies - Suppression compte - ...
Quelques failles WEB...
# LES BASES DU WEB

Drahoxx
XSS


Code normal

Code injecté
Quelques failles WEB...
# LES BASES DU WEB

Drahoxx
FI
Local-File Inclusion, accéder à des fichiers arbitraires






Quelques failles WEB...
# LES BASES DU WEB

Drahoxx
LFI
https://cmde.cyber-range.lan/index.php?file=login.php


https://cmde.cyber-range.lan/index.php?file=../../../../etc/passwd

# LES BASES DU WEB

Drahoxx
Des questions ?
Place à Mika
Code
By Léo Chaigneau (Drahoxx)
Code
- 347