Jump to content

maycon

Membros
  • Content Count

    5
  • Joined

  • Last visited

Posts posted by maycon


  1. Olá @Baracat,

    Um dica para simplificar o parsing do IP é utilizand o sscanf():

    $ ./ip2int 192.168.0.1
    192.168.0.1 -> 3232235521

    Segue o código:

    #include <stdio.h>
    #include <string.h>
    
    int main(int argc, char **argv)
    {
    	if (argc != 2) {
    		printf ("Use: %s <IP>", argv[0]);
    		return 0;
    	}
    
    	unsigned int ip[4];
    
    	if (sscanf(argv[1], "%d.%d.%d.%d", &ip[0], &ip[1], &ip[2], &ip[3]) != 4) {
    		puts ("Invalid IP format (xxx.xxx.xxx.xxx).");
    		return -1;
    	}
    
    	printf ("%s -> %u", argv[1],
    			(ip[0] << 24) +
    			(ip[1] << 16) +
    			(ip[2] << 8) +
    			(ip[3])
    		);
    
    	return 0;
    }

     

    Porém já existem funções espeçificas para fazer o que estamos tentando fazer:

    https://www.tutorialspoint.com/unix_sockets/ip_address_functions.htm

    Abraços

    • l33t 1

  2. Olá @Iago Filipe

    A resposta simples seria "Sim", a resposta chata seria "depende".

    O que acontece é que devido as inúmeras proteções tanto em user-space quanto em kernel-space, tirar um RCE (por mais crucial que seja) depende muitas vezes da exploração de mais de uma vulnerabilidade.

    A dois anos atrás eu dei uma palestra em um evento privado (se o @Fernando Mercês não estava bêbado o suficiente ele vai lembrar haha) sobre a solução de um challenge cuja identificação da vulnerabilidade era algo razoavelmente simples, porém a exploração não era [tão] simples devido as proteções aplicadas existentes (PIE, ASLR e DEP). O challenge, slides da palestra e p0c (exploit) podem ser encontrados aqui.

    Caso tenha alguma dúvida estamos aqui pra ajudar. (-:

    Abaços.

    • Curtir 1
    • Haha 1

  3. Olá Matheus,

    Existem algoritmos para geração de permutação baseados em heap sem esse critério de ter que varrer toda sequência e validar o que faz parte da permutação ou não. O próprio Python possui essa implementação no itertools.permutation(), além do próprio std::next_permutation() da STL do C++.

    Com relação a geração da enézima (nth) permutação, também é possível encontrar algumas soluções para isso. Um exemplo pode ser visto aqui. Para outras soluções basta procurar por "nth/kth permutation algorithm" ou similar.

    Uma boa referência para se aprofundar nisso é o TAOCP Vol. 3 do Knuth. Lá você terá uma referência sólida e bem matemática sobre esses assuntos.

    Att,
    Maycon Vitali

    • Curtir 1
×
×
  • Create New...