Jump to content
dancezar

RCE challenge

Recommended Posts

  • Active Members


<?php
$b=array("(",")","=","[","]","$","%","|","&","{","}","+","-","<",">",chr(47),chr(92),";","*");
$atrib=str_replace($b," ",urldecode($_REQUEST['a']));
$atrib="'".$atrib."'";
eval("
$"."var='Numele tau:'.".$atrib.";
");
echo $var;
?>

Aveti un cod vulnerabil , trebuie sa injectati in parametrul a= challenge.php?a=Dan astefel in cat sa se execute comanda LS sau DIR (daca sunteti pe windows).

Postati un print si trimiteti solutia prin PM.Clasamentul se v-a realiza la final in functie de cea mai scurta solutie(numarul de caractere).

Challenge-ul v-a dura pana maine:)

Proof:

rce.jpg

http://s27.postimg.org/n5zbnbqer/rce.jpg

Solvers:

1 . Bitmap

2 . mah_one

Daca nu reuseste nimeni diseara veti primi primul pont:)

Edited by danyweb09
Link to comment
Share on other sites

  • Active Members

Hint 1:

-Am uitat sa elimin 1 caracter din acea lista care poate executa comenzi.

Hint 2:

-Sa presupunem ca avem un tabel cu numele photo care are doua coloane id,table.

Daca vom incerca sa executam un query: select table from photo . Vom obtine o eroare cel putin la mysql .Cum reparam aceasta erroare?

Hint 3:

Hintul 2 are legatura cu hintul 1

Link to comment
Share on other sites

  • Active Members

Challenge closed.

Felicitari celor care au reusit sa il rezolve @mah_one.

Deci dupa cum arata lista aia nu avem voie sa folosim functii si nici sa executam alte instrutiuni .

Instructiunea care se evalueaza in acel cod PHP este:



$var='Numele tau:'.$atrib;

In primul rand trebuie sa iesim din argument ca sa putem executa alta intructiune deci injectia noastra pana acuma arata asa:


'.Instructiune.'

In hintul 1 am spus ca am uitat sa pun un caracter in acea lista care poate executa comenzi.

In hintul 2 am spus ca daca avem un tabel cu coloanele table si id , si executam urmatorul query: select table from photo.Vom obtine o eroare pentru ca , coloana table este un cuvant rezervat in Mysql , ca sa putem sa selectam coloana table fara ca sa apara eroarea o cuprindem intre `table`

Hintul 3 spune ca hintul 2 are legatura cu hintul unu . Deci `table` si un caracter ca lispeste din lista aia .

Si iata UBER injectia:


'.`ls`.'

`` este prescurtarea de la folosirea functiei shell_exec.

Puteti incerca :


echo `ls`;

Edited by danyweb09
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...