328 views
# BE Sécu du Web ## Intro Le but de cette page est de recenser les points de blocages et leurs solutions: en particulier les manques et les erreurs dans le sujet. ### Astuces VirtualBox ***Les profs sont des bouffons***, si sur vulnenac, vous avez pas de réseau regardez en haut à droite si vous êtes bien sur le bon wired connection 1 (qui a eth0 en addresse physique) ![](https://notes.ar-lacroix.fr/uploads/0e0d4ef5-629d-4037-8ac6-f74a6609fa47.png) ![](https://notes.ar-lacroix.fr/uploads/cfd28a21-a2ba-4496-a5f1-fc6795d0c103.png) Si c'est pas le cas il faut se log out et se log in en tant que root et une fois que c'est fait on peut changer la mac address (si vous volez le faire au cliquodrome c'est la seule manière) Une fois que c'est fait peu de chance que ça soit bien foutu et que vous ayez internet Pour rajouter une interface du côté de votre hôte : - Allez dans virtbox - *Possible de déposer un cierge à St Isidore de Séville 🤷‍♂️* - Ctrl + H - on clique sur create ![](https://notes.ar-lacroix.fr/uploads/feb85aed-f926-471c-96f2-7a818155ff8f.png) - on va ensuite mettre cette interface up : `sudo ip link set vboxnet0 up` - On l'utilise comme interface de notre VM ![](https://notes.ar-lacroix.fr/uploads/27335ed8-912d-40f9-9bf6-7e7bee4412d9.png) - On revient sur la machine et on run un `dhclient -v` pour récupérer un adresse --> à regarder avec un `ip a` - sur la machine hôte, `tcpdum -nli vboxnet0` permet de vérifier que le traffic pase bien ## Astuces Burp Si vous avez configuré une addresse 198.168.x.x et que le proxy ne la prend pas c'est que l'URL (`198.168.x.x/index.html` par exemple) ne colle pas à ce que le proxy attend comme une URL valide, dans ce cas vous pouvez aller dans votre `/etc/hosts` (`sudo vim /etc/hosts`) et rajouter ``` 192.168.x.x app.test ``` vous accèderez maintenant à `http://app.test/dvwa/login.php` plutôt que `192.168.x.x/dvwa/login.php` et le proxy sera content ! ## Extension non nommée :::success Si on vous dit d'utiliser une extension mais sans vous dire quoi je pense que c'est [***HTTP Header Live***](https://addons.mozilla.org/en-US/firefox/addon/http-header-live/) vu que le prof parle à la page 70 de *Live HTTP headers* ::: ### Astuces virtualisation sous Mac - On va bien se faire f***** pour ce BE (Quid novi ? Ça commence le jour où vous avez acheté votre PC :P). - Pour ceux qui ont un Mac et qui n'arrivent pas faire tourner leurs VMs, j'ai réussi à faire fonctionner une kali et à installer complètement une instance de DVWA (Val). ## UTILISATION D’UN PROXY LOCAL - BURP ### 3. Interception et modification Même si les screenshots indiquent que le prof fait la manip sur le formulaire 1, il faut bien utiliser le formulaire 2 qui contient les protections HTML. ## DVWA ### 4. HIGH L'attaque se fait en deux étapes: * La première consiste à envoyer le script php dans un format de fichier accepté par le _File Sender_. * L'exécution de la charge malveillante se fait en utilisant **une seconde faille ailleurs** sur le serveur. ## ON CRAQUE ! #### 4.4 Grep match ... #### m4ngl3m3 Attention, les modes de m4ngl3m3 sont indépendants et ne se superposent pas les uns sur les autres. Le mot de passe admin à générer à partir de m4ngl3m3 se base sur un mot pas très compliqué, pas la peine de lancer un bf avec rockyou... Si jamais ça bloque, passez à la suite on retrouve le mot de passe en clair plus loin :) ## SQLMAP ## INJECTION SQL – SEED LAB Ok du coup pour ça fut lancer la machine seedlabs et faire l'exo dessus (dans son navigateur) et aller à l'addresse `http://www.seedlabsqlinjection.com/` (si ça ne ressemble pas à ce que dit le sujet c'est normal ... le sujet a rarement grand chose à voir avec ce qu'on fait...) :::warning le firefox de la machine seedslab a un proxy "enac" par défaut à virer. ::: ![](https://notes.ar-lacroix.fr/uploads/95fdb1f3-47fa-4e51-a6bd-2bc8559a37d2.png) ![](https://notes.ar-lacroix.fr/uploads/7aae5fab-dd1b-4ca0-8666-d6dd6da765d2.png) ## XSS ### XSS reflected / le script perl de merde L'idée est de setup un apache sur votre propre machine d'attaque (oui on nous le dit nulle part :/) - Si vous lancez un serveur apache sur votre machine et que vous galérez à faire marcher le cgi-bin, vérifiez que vous avez pas SELinux d'activé par défaut (c'était le cas sur mon fedora). https://www.appsloveworld.com/perl/98/getting-internal-server-error-permission-denied-running-cgi-under-apache-on-cent Pour setup le serveur: - installer Apache2 - "sudo a2enmod cgi" pour activer le CGI sur le serveur Apache - "sudo nano /etc/apache2/sites-available/000-default.conf" et voilà la conf que j'ai utilisé: - <VirtualHost *:80> # The ServerName directive sets the request scheme, hostname and port that # the server uses to identify itself. This is used when creating # redirection URLs. In the context of virtual hosts, the ServerName # specifies what hostname must appear in the request's Host: header to # match this virtual host. For the default virtual host (this file) this # value is not decisive as it is used as a last resort host regardless. # However, you must set it for any further virtual host explicitly. #ServerName www.example.com ServerAdmin webmaster@localhost DocumentRoot /var/www/html # Available loglevels: trace8, ..., trace1, debug, info, notice, warn, # error, crit, alert, emerg. # It is also possible to configure the loglevel for particular # modules, e.g. #LogLevel info ssl:warn ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined # For most configuration files from conf-available/, which are # enabled or disabled at a global level, it is possible to # include a line for only one particular virtual host. For example the # following line enables the CGI configuration for this host only # after it has been globally disabled with "a2disconf". #Include conf-available/serve-cgi-bin.conf ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/ <Directory "/usr/lib/cgi-bin"> AllowOverride None Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch Require all granted </Directory> </VirtualHost> - systemctl restart apache2 - placer le script log.pl dans : /usr/lib/cgi-bin et ajouter les droits d'execution - mkdir /var/www/html/logs et changer les propriétaires pour y ajouter www-data:www-data (utilisateur linux correspondant au serveur apache) - ne pas oublier d'ajouter les droits d'écriture pour les fichiers du répertoire - c'est parti! ### XSS stockée (?) Perso je vois une XSS réfléchie évidente par contre la XSS stockée me saute pas aux yeux vu que c'est des prepared statements, si quelqu'un la trouve je suis preneur... ## CSRF - Ne pas oublier que vous pouvez exploiter un File Upload en mettant la sécurité à low pour pouvoir téléverser votre html malveillant (revenez en sécurité médium ou high après hein). ## VERS XSS - SEED LAB # Les proglèmes (et peut être qu'on peut les fixer)