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

#1
PHP / Tiempo de espera entre consultas sql
9 Mayo 2012, 07:20 AM
Veamos, tengo una página que estoy desarrollando que hace varias consultas a una base de datos tan solo con cargarla, funciona muy bien y todo pero tengo un temor al momento de subirla.

Alguien fácilmente podría comenzar un flood de gets y tirarme fácilmente el sitio, entonces lo que necesito es que haya un tiempo de espere antes de realizar las mismas consultas simultaneamente, por ejemplo:

Visito la página por primera vez y todo carga de inmediato.

Le doy f5 al siguiente segundo y deseo que me muestre una alerta o algo que diga que tiene que esperar unos segundos más.

Lo he intentado así:

<?php
function espera(){
sleep(5);
}
?>


Y luego insertar esta función más abajo:

register_shutdown_function('espera');

Pero de este modo lo único que logro es que la página quede 'cargando' 5 segundos, aunque sea la primera vez que se visita :(

Alguien me da una mano?
#2
A partir de este link:

http://es.wikipedia.org/wiki/Shellcode

Dan como ejemplo este código en C:

#include <stdio.h>

int main() {
  char *scode[2];
  scode[0] = "/bin/sh";
  scode[1] = NULL;
  execve (scode[0], scode, NULL);
}


Luego del debug de únicamente la funcion main se tiene esto:

80483a4:       55                      push   %ebp
80483a5:       89 e5                   mov    %esp,%ebp
80483a7:       83 e4 f0                and    $0xfffffff0,%esp
80483aa:       83 ec 20                sub    $0x20,%esp
80483ad:       c7 44 24 18 a0 84 04    movl   $0x80484a0,0x18(%esp)
80483b4:       08
80483b5:       c7 44 24 1c 00 00 00    movl   $0x0,0x1c(%esp)
80483bc:       00
80483bd:       8b 44 24 18             mov    0x18(%esp),%eax
80483c1:       c7 44 24 08 00 00 00    movl   $0x0,0x8(%esp)
80483c8:       00
80483c9:       8d 54 24 18             lea    0x18(%esp),%edx
80483cd:       89 54 24 04             mov    %edx,0x4(%esp)
80483d1:       89 04 24                mov    %eax,(%esp)
80483d4:       e8 ff fe ff ff          call   80482d8 <execve@plt>
80483d9:       c9                      leave  
80483da:       c3                      ret    
80483db:       90                      nop    


Y por último al "extraer" la shellcode queda así:

\x55\x89\xe5\x83\xe4\xf0\x83\xec\x20\xc7\x44\x24\x18\xa8\xf3\x0a\x08\xc7\x44\x24\x1c\x00\x00\x00\x00\x8b\x44\x24\x18\xc7\x44\x24\x08\x00\x00\x0\x00\x8d\x54\x24\x18\x89\x54\x24\x04\x89\x04\x24\xe8\x1b\xac\x00\x00\xc9\xc3\x90

Y al agregarla a algún script en C para compilar y probarla:

// shellcode.c
// compilar con gcc shellcode.c -o shellcode
void main()
{
((void(*)(void))
{
"\x55\x89\xe5\x83\xe4\xf0\x83\xec\x20\xc7"
"\x44\x24\x18\xa8\xf3\x0a\x08\xc7\x44\x24"
"\x1c\x00\x00\x00\x00\x8b\x44\x24\x18\xc7"
"\x44\x24\x08\x00\x00\x00\x00\x8d\x54\x24"
"\x18\x89\x54\x24\x04\x89\x04\x24\xe8\x1b"
"\xac\x00\x00\xc9\xc3\x90"
}
)();
}


Al momento de hacer ./shellcode arroja una violación de segmento y no se ejecuta sh :(

Al menos en la Wikipedia parece permitir la posibilidad de crear una shellcode desde un binario programado en C, pero leyendo otra documentación me parece que únicamente se logra crear en lenguajes de bajo nivel como asm.

Entonces amigos, es posible crear una shellcode desde un programa binario en C?, o únicamente se pude obtener de archivos asm?
#3
GNU/Linux / UTF-7 en un navegador web
15 Enero 2012, 06:20 AM
Uso ubuntu 11.04, realmente necesito un navegador que me permita seleccionar un encoding en utf-7 :(

Opera (la última versión) parece soportarlo, pero es imposible seleccionarlo porque aparece como deshabilitado.

Supongo que tengo que instalar algo, locales?, algún paquete especial?, he buscado como loco en google.

Con aptitude search utf7 / utf-7 / encoding, etc, y nada de nada.

Alguien sabe algo? :(
#4
A lo que me refiero es si no queda alguna especie de log en el servidor que esta corriendo SSH con mi ip real o cualquier dato mio.

Otra pregunta, solo se pude abrir un puerto a la vez con este método?
#5
Hola,

Verán, esta es la situación, hace como un mes entre a una vps y conseguí acceso de root con un exploit ya que el kernel es de hace un par de años, nunca hice un deface en ningún sitio y tampoco nada como instalar bots, realizar DoS o cualquier cosa muy grave, solo necesitaba espiar un poco la base de datos de un sitio alojado ahí.

Bien, ayer que volví a entrar note inmediatamente que había un backdoor corriendo en el servidor en el puerto 9999! y claro que no era mio, me conecte por ahí y encontré tantos scripts, otros backdoors y algunos documentos con permiso de root con información del servidor, es obvio que alguién también entro y consiguio el acceso.

El problema es que encontre páginas en portugues que creería que son para hace pishing bancario  :-X

El sujeto ha dejado tantas huellas y basura en el servidor que es seguro que alguien lo va a encontrar, ahora no sé que hacer y temo meterme en problemas por ese sujeto, qué es mejor???.

Borrar huellas y todos los logs y dejar abandonado el servidor??, o reportarlo a los administradores y contar lo que vi diciendo que solo me dedico a eso?, observar errores y reportar?.

Mi ip solo esta cubierta por una vpn, pero en caso de una petición para ver logs creo que estoy frito  :laugh:

Cual es el mejor camino de estos dos?, en el caso de que sea borrar huellas y abandonara el servidor, cual es el mejor script para hacerlo?  :huh:

Como datos adicionales, el servidor esta en EEUU, pero yo me encuentro en un país que no tiene leyes informáticas por el momento. , la vps es pequeña, tiene solo unos 15 sitios hospedados, ninguno de mayor importancia.
#6
Hacking / Comandos capados en servidor *nix
27 Octubre 2011, 01:26 AM
Saludos a todos, aquí voy con esta duda.

Me interesa el acceso a una web "A" en un servidor, al no encontrar métodos para acceder por esta, logre colar una phpshell en una web "B" del mismo servidor.

Hasta ahí todo bien, planeaba simplemente escalar privilegios o intentar moverme a ciegas al directorio de la web que me interesaba esperando encontrarme con algún directorio con permisos de escritura.

Pero aquí viene el problema, el servidor tiene capada la ejecución de comandos del sistema, ni siquiera puedo correr el "uname", o "id", no sirve ni el "ls", ni digamos ejecutar scripts.

Sin embargo tengo estos recursos:

*Algunos permisos de escritura y ejecución en varios directorios de la web B.

*Como derivado de lo anterior puedo crear tantos ficheros .php como desee y del mismo modo puedo accesarlos vía web browser.

* También logre colarme a una base de datos de la web "B", por lo cual puedo ejecutar consultas sql.

* Puedo listar archivos y directorios gracia a la phpshell (pero como dije no puedo listarlos por comandos como dir o ls)

* Safe-mode = OFF

Hasta donde sé no hay forma de correr comandos del sistema por sql (verdad?).

Y ya que no puedo ejecutar ni un solo comando nix me he quedado atorado.

Es posible codear algo en php que salte este limitante? ("system($cmd" no es una opción.), tal vez cifrando o algo parecido?.

O cualquier cosa de utilidad para esta problemática?, de conocer algo me podrían dar un pequeño rayo de orientación sobre como proseguir?  :rolleyes:

PD: Ya probé todas las funciones de php, exec, popen, system, passthru, sin resultados...