Webhacking and Security

Blabla.

RSSIL 2012 – Recapitulatif rapide des épreuves Web

This article is in french, sorry for the non-french speakers :).

J’ai participé il y a quelques heures au CTF organisé par ACISSI à RSSIL avec l’équipe Big-Daddy, il y avait une bonne diversité d’épreuves (70 épreuves quand même, GG!), voilà un récapitulatif/write-up très rapide des épreuves web, le web étant mon domaine de prédilection, excusez-nous du manque d’images, cet article s’addresse principalement aux participants qui étaient là bas au final.

Web 1-1
Sûrement une dont j’ai le moins de souvenir, une injection SQL simple il me semble, il suffisait après de se logguer et récupérer le flag.

Web 1-2
On a passé énormément de temps sur celui-là pour pas grand chose, on a essayé de déobfusquer le code javascript, on a cherché des logs, en fait il suffisait de trouver un dossier /backup, tout simplement…

Web 1-3
Une injection SQL dans l’url, c’était quelque chose genre frame.php?p=f18m, il fallait modifier l’integer à l’intérieur, type f18 UNION SELECT… — -m, récupérer le mot de passe de snake.

Web 1-4
Même type d’épreuve que la 1-2, du guessing, il y avait une page de login qui redirigeait vers valider.php, il fallait trouver valider.php~ qui donnait le code source avec la key.

Web 1-5
Une instruction nous disait de trouver le menu caché, une page était pas affichée, il suffisait d’incrementer ?p déjà, ?p=8 nous donnait une page de login, une injection SQL était possible également dans la deuxième variable qui s’occupait d’afficher un menu au bas de la page, &m=m0m1m2…, il suffisait de faire &m=m0 UNION SELECT 1,2,3,4,5 — – récupérer encore une fois le login et pass et se logguer pour trouver la key.

Web 2-1
Une blind SQL injection dans la partie de login qui nous permettait de récupérer le mot de passe de codej en md5, cracké facilement qui, de mémoire donnait quelque chose genre “bleu59” qui était la clef pour valider.

Web 2-2
Un tableau avec des menus et colonnes aléatoires et des points de couleurs, il fallait donner la coordonnée exacte plusieurs fois en moins de x secondes. De notre côté on a codé un tool qui faisait un OCR sur les caractères puis choppait la bonne position de chaque points au final, code en python pour ses librairies qui s’y prêtent bien.

Web 2-3
Un captcha à valider 5x en 10 secondes, on a dû coder un tool en python pour le valider, ce tool lisait le captcha, le mettait en noir et blanc, tournait chaque caractères correctement, retirait le bruit et lisait les caractères un par un.

Web 2-4
Encore un captcha, cette fois plus complexe, beaucoup plus coloré, cependant que des chiffres… et 5x en 30 secondes, donc 6 secondes par validations? On a même pas codé de tool et on a fait ça à la main : ).

Web 2-5
C’était une page web, une injection SQL simple était présente dans la partie recherche du site, il nous permettait d’obtenir des logins et des mots de passes, les mots de passes étaient encryptés. La première étape était de deobfusquer le code javascript pour le comprendre un peu mieux et on s’est rendu compte qu’il suffisait juste de passer le pass crypté dans la fonction de cryptage pour le decrypter au final, donc on s’est loggué avec le login et le pass crypté, le javascript s’est occupé de nous donner le mot de passe d’origine qui était la key pour valider 🙂

Web 3-1
Un wordpress, c’est la seule épreuve qu’on a pas validée par manque de temps mais en gros il fallait passer le site sous scan grâce à WPscan, trouver un plugin qui se nomme “dbmanager” ou quelque chose du genre, accéder à wp-content/plugins/dbmanager/ et il y avait des backups dedans.

Web 3-2
Un site type officiel acceptait les cartes d’identités et lisait les informations qui étaient dessus, il suffisait juste de faire une injection SQL dans le nom, un simple PETE’ OR ‘1’=’1 a suffit à afficher toutes les requêtes, les premières entrées contenaient des logins avec des md5, certains étaient pas crackables, il y en a un finalement qui était possible, une fois loggué la clef était facilement trouvable.

Web 3-3
Une page était donnée avec comme indice “le temps est compté”, on a vite deviné que c’était une full blind sql injection, elle était dans le formulaire de contact sur la première page, on a vite fait de récupérer le login et mot de passe admin (admin/time) pour trouver le flag.

Web 3-4
Une page avec une inscription, une fois inscrit et loggué, le cookie de session était simplement du base64_encode(serialize()), on a vite fait passer notre utilisateur en tant qu’admin.

Web 3-5
Sûrement la plus drôle qu’on a résolu le plus rapidement étrangement, un seul indice “brainfuck”, en gros il y avait des liens de pages type ?p=2222222222247222265222241… on a dû trouver leur correspondance en brainfuck, par exemple 2 = +, etc… on s’est rendu compte après décryption du brainfuck obtenu que c’était une page php, il y avait une administration qui nous posait problème du coup on a include ../admin/.htpasswd, et bruteforce le mot de passe htpasswd, même si on pense qu’un ../admin/index.php/html aurait très bien fait l’affaire.

Petit mot de fin
Merci encore aux organisateurs de RSSIL, les épreuves n’ont pas été super compliquées en web mais il y avait de tout et ça couvrait pas mal de choses au final donc pourquoi pas, disons que j’ai été un peu déçu de ne rien avoir appris comparé à l’année passée… (PUT dans un serveur REST, injection nosql/mongodb, etc etc). L’organisation a été superbe, le net a marché 90% du temps, comparé à l’année passée où il bugguait 90% du temps :). On s’est bien amusés sur le web en tout cas! En espérant vous revoir une prochaine année, en attendant, je m’en vais dormir.

Rioru.

PS: Je m’occuperais peut-être de réécrire tout ça de façon plus clean quand j’aurais un peu de temps, le soucis c’est que je n’ai pas d’images du tout : / complètement oublié de prendre des screenshots.


Back in the business.

Hi, I’ve been quite quiet these days, I could even talk in years, it has been one year and a half since I didn’t post on this blog. As I’m planning to really get back seriously into security, I’m sure I’ll get some articles or write-up for you here. See you soon 😉


Hello World!

Hello and welcome in my web blog powered by wordpress.com.
I’ll make some updates about security news, tutorials & co. Specially on Web Hacking. I hope you’ll enjoy reading this blog.
And oh, sorry if I make some english mispell sometimes. I’m French.
; )

DDXhunter.