Top 20

1 0x00h 686 pts
2 boris39 686 pts
3 thefinder 686 pts
4 neoxquick 667 pts
5 maf-ia 649 pts
6 eax 648 pts
7 nikokks 605 pts
8 benito255 596 pts
9 mego 579 pts
10 madbat2 570 pts
11 plucth 553 pts
12 Mart 540 pts
13 rostale 540 pts
14 Stupefy 521 pts
15 tehron 505 pts
16 LouisJ 492 pts
17 Kithyane 489 pts
18 egosum 464 pts
19 malose 419 pts
20 CoYoTe99 408 pts

Full ranking

Shoutbox

8 Oct - 10:01 am

Salut nikokks Ce problème n'est pas évident en effet. Une manière de faire est de trouver les formes les plus simples, et de les "effacer" de l'image avant de chercher les formes plus complexes ;)

4 Oct - 11:56 am

Salut a tous =) , je bug sur le problème 28 (forme analysis). Quelqu'un aurait il une piste ?

29 Sep - 5:38 pm

Coucou oui, tu peux m'envoyer un mail si tu veux. Le plus simple, ce serait d'avoir un package pour python 3. J'ai essayé et ça n'a pas marché!

17 Sep - 11:51 am

Salut thefinder, ça faisait longtemps ! Oula ça en fait des problèmes :'( Le premier challenge ? La somme de deux nombres ?

23 Jul - 2:13 am

Coucou, j'ai essayé de reprendre avec python. J'ai plusieurs soucis. 1) Il faut rajouter headers={'Content-Type': 'application/x-www-form-urlencoded'} avec un requests.session(). 2) Je n'ai pas réponse du serveur si je soumet une réponse au premier challenge. J'essaye finir en python les 3 dernières épreuves qui me reste. :)

6 Nov - 8:17 am

Bonjour, un léger problème sur l'épreuve 10 : Une fois réussie, le champ "points earned" indique 72 au lieu de 7 En revanche sur le site le nombre de points comptabilisés est bien 7 Merci pour ce site génial !

21 Oct - 9:48 pm

Équation du challenge 52 corrigée, merci

16 Oct - 8:43 am

Bonjour, il y a aussi un problème d'affichage "invalid equation" dans le challenge 52. Merci

14 Oct - 8:57 pm

Barbapapou l'équation du challenge 29 a été corrigée

4 Oct - 10:30 am

Bonjour, il y a un problème avec l'affichage d'une équation dans le challenge 29

Connection
Password forgotten

Support usx

You like µContest ?
Support us by voting (fun and difficulty) for µContest on WeChall :)
If you have not already, take the opportunity to link your Wechall
account to µContest in order to be able to vote !

Thank you

Interface details (Version 2)

In order to validate a challenge, you have to get the variables necessary to its resolution, and send back the answer(s) to the website. This page describes the interface and the communication protocol with the website.
In the case you don't want to take care of the interface, you can use the µContest library, available in C/C++, Python and Java.

Recover the variables of a challenge

First step, you must connect to the website to recover the variables. In order to do that, you have to get the page : http://www.microcontest.com/contests/i/contest.php, with i the ID of the challenge you want to validate.
For example, for the challenge Ave Caesar I, you have the get the page http://www.microcontest.com/contests/4/contest.php.
In this case, you can obtain for instance :

Nombre_variables=2
[txt_crypte]
Longueur=50
Valeur=QMLYRCJGCPBSAFCKGLBCDCPEGDJYLRQMLAFCDAFYQQCBCJGJJC
[key]
Valeur=24

Every challenge page are formatted the same way :
- A first line : Nombre_variables=x with x the number of variables contained in the page.
- An enumeration of the variables given, beginning by the name of the variable between brackets : [name]. The following lines are :

  • The length of the data, preceded by Longueur=. This parameter is optionnal but necessary when the data contains null caracters.
  • The data of the variable, preceded by Valeur=.

Every line are ended by a <br/> (without space).


Important

This is not enough to simply get this page to be able to solve the challenge. You must pass in POST parameters these information :

  • username : Your username
  • password : Your password, hashed in SHA1
  • ID : The ID of the challenge
  • contestlogin=1 : A variable taking the value 1
  • version=2 : Enables you to activate the version 2 of the protocol described in this page. The version 1 has no interest anymore and is no more documented.

The website will send back in the header of the page a cookie : a 'PHPSESSID' that you will have to use when you send your answer back to the server. If you don't, it will be ignored.

Possible errors

Instead of the variables page, you can obtain a page containing :

  • Erreur : Bruteforce interdit, veuillez patienter au minimum 20 secondes entre deux tentatives. : This means that you tried to get the variables twice in less than 20 seconds.
  • Erreur authentification : Cet utilisateur n'existe pas : The user doesn't exist.
  • Erreur authentification : Mot de passe incorrect : The password is wrong.
  • Erreur authentification : Votre compte n'est pas encore activé : The account has not been activated yet.

Send back your solution to the website

Once you have processed the variables given by the website and solved the challenge, you can send back your solution to the website.
To do that, you have to perform a POST request to the page : http://www.microcontest.com/contests/i/validation.php, with i the ID of the challenge you want to validate.
The variables sent to the website are passed in the POST parameters, parameters taking the same name than the variables. No more information is required, except for the connection parameter (PHPSESSID) given by the contest.php page. So you do not have to send you username and password again.
In the previous example, we should send to the page http://www.microcontest.com/contests/4/validation.php the parameter :

  • txt_clair
Note that if you have several parameters to send back, you have to separate them by some '&', like this : "anwser1=blabla&answer2=4"
Once you sent the request, you can obtain the following page :

success:0
timeout:0
already:0
points:0
error:...

success will be equal to 1 if the solution(s) is(are) correct, 0 otherwise.
timeout will be equal to 1 if you reach the timeout of 4 seconds to solve the challenge.
already will be equal to 1 if you have already validated the challenge, 0 otherwise.
points will appear only if it is the first time you validate correctly the challenge, so if you have success:1 timeout:0 already:0.
error will appear if there is(are) an(some) error(s).

Therefore, it is possible to validate the challenge several times, even if the points are given just once.


Example

This page contains an example of a communication between a program developped to solve the challenge Sum of two numbers and the website.
There are 4 packets :

  • connection to contest.php
  • response by the website
  • sending the solution to validation.php
  • response by the site.
Every entry in the headers are not necessary (the Accept: */* for instance), but what is important is the transmission of the cookie PHPSESSID.