Pour récupérer le nombre de colomnes, on peut utiliser:
NULL représente une colomne (attribut vide), que l'on peut incrémenter jusqu'à obtenir le nombre de colomnes final.
Pour récupérer le type de la colomne (string, int..), on peut:
Si la colomne n'est compatible avec le type, on aura une erreur
On récupère le contenu de la colomne admin
.
Pour cela, on selectionne en premier l'id de la bd , ici on prend 1 par guess.
Et on lui donne en paramètre de password le char a
, étant le password que nous allons rentré dans la query "password"
de notre requête. On laisse la quote ouverte pour ne pas casser la requête dans laquelle on se situe.
On récupère le content :)
On remarque que lorsqu'on envoie une string, elle est encodée en base64 et passée dans un tool qui nous la rend en pdf
On récupère le .pdf, et lorsqu'on le string on récupère le nom du tool, ainsi que sa version
Une recherche assez simple et on se rend compte qu'il est possible de SSRF avec celui-ci
Je lance un petit serveur php avec:
php -S monip:8000
Pour lire le contenu du serv, je créer une payload que j'host sur mon serveur afin de récupérer le contenu de la page souhaitée:
J'encode en b64 et j'envoie au site cette requête, allant chercher sur mon serveur mon script contenant le localtion:file..
me permettant d'exiltrer le contenu de cette page.
Tadam :)