SlideShare a Scribd company logo
1 of 48
Download to read offline
00111001000100010010110110
01011011010001000100010111
000ЭКСПЛОЙТЫ00100010001001
01111001001011010001010110
010111000101001ДМИТРИЙ1001
00010001001110100000100101
0001ЖУЧКОВ0100010001011000
10000000110110010001000100
10110110010010110100010001
<script>alert('xss')</script>
 EAX
 EBX
 ECX
 EDX
 EIP   – instruction pointer
 ESP   – stack pointer
MOV A,B




A             B
 SUB A,B
 ADD A,B
 DIV A,B
 AND A,B
 OR A,B
 XOR A,B
 et al.
PUSH A         POP A




                       ESP


         ...
void foo(int k, int j)
{                        push ebp;
                         mov ebp, esp;
    char buf[256];       sub esp, 256;
    ...
                         mov esp, ebp;
                         pop ebp;
}                        ret;

int main()
{
                         push   2;
                         push   1;
    foo(1, 2);           call   foo;
                         add    esp, 8;
}
foo:
        01   push   ebp;
        02   mov    ebp, esp;
        03   sub    esp, 256;
             ...
        10   mov    esp, ebp;
        11   pop    ebp;
        12   ret;

main:
             ...
EIP -> 20    push   2;
       21    push   1;
       22    call   foo [01];   Старый фрейм
       23    add    esp, 8;
                                EIP возврата
             ...
                                         ...
foo:
        01   push   ebp;
        02   mov    ebp, esp;
        03   sub    esp, 256;
             ...
        10   mov    esp, ebp;
        11   pop    ebp;
        12   ret;

main:
             ...
       20    push   2;
EIP -> 21    push   1;          Параметр 2
       22    call   foo [01];   Старый фрейм
       23    add    esp, 8;
                                EIP возврата
             ...
                                         ...
foo:
        01   push   ebp;
        02   mov    ebp, esp;
        03   sub    esp, 256;
             ...
        10   mov    esp, ebp;
        11   pop    ebp;
        12   ret;

main:
             ...                Параметр 1
       20    push   2;
       21    push   1;          Параметр 2
EIP -> 22    call   foo [01];   Старый фрейм
       23    add    esp, 8;
                                EIP возврата
             ...
                                         ...
foo:
EIP -> 01    push   ebp;
       02    mov    ebp, esp;
       03    sub    esp, 256;
             ...
        10   mov    esp, ebp;
        11   pop    ebp;
        12   ret;

main:                           EIP возврата [23]
             ...                Параметр 1
        20   push   2;
        21   push   1;          Параметр 2
        22   call   foo [01];   Старый фрейм
        23   add    esp, 8;
                                EIP возврата
             ...
                                         ...
foo:
       01    push   ebp;
EIP -> 02    mov    ebp, esp;
       03    sub    esp, 256;
             ...
        10   mov    esp, ebp;
        11   pop    ebp;
        12   ret;
                                Старый фрейм
main:                           EIP возврата [23]
             ...                Параметр 1
        20   push   2;
        21   push   1;          Параметр 2
        22   call   foo [01];   Старый фрейм
        23   add    esp, 8;
                                EIP возврата
             ...
                                         ...
foo:
       01    push   ebp;
       02    mov    ebp, esp;
EIP -> 03    sub    esp, 256;
             ...
        10   mov    esp, ebp;
        11   pop    ebp;
        12   ret;
                                Старый фрейм
main:                           EIP возврата [23]
             ...                Параметр 1
        20   push   2;
        21   push   1;          Параметр 2
        22   call   foo [01];   Старый фрейм
        23   add    esp, 8;
                                EIP возврата
             ...
                                         ...
foo:                             buf[256]
         01   push   ebp;
         02   mov    ebp, esp;
         03   sub    esp, 256;
EIP ->        ...
         10   mov    esp, ebp;
         11   pop    ebp;
         12   ret;
                                 Старый фрейм
main:                            EIP возврата [23]
              ...                Параметр 1
         20   push   2;
         21   push   1;          Параметр 2
         22   call   foo [01];   Старый фрейм
         23   add    esp, 8;
                                 EIP возврата
              ...
                                          ...
foo:                            buf[256]
        01   push   ebp;
        02   mov    ebp, esp;
        03   sub    esp, 256;
             ...
EIP -> 10    mov    esp, ebp;
       11    pop    ebp;
       12    ret;
                                Старый фрейм
main:                           EIP возврата [23]
             ...                Параметр 1
        20   push   2;
        21   push   1;          Параметр 2
        22   call   foo [01];   Старый фрейм
        23   add    esp, 8;
                                EIP возврата
             ...
                                         ...
foo:
        01   push   ebp;
        02   mov    ebp, esp;
        03   sub    esp, 256;
             ...
       10    mov    esp, ebp;
EIP -> 11    pop    ebp;
       12    ret;
                                Старый фрейм
main:                           EIP возврата [23]
             ...                Параметр 1
        20   push   2;
        21   push   1;          Параметр 2
        22   call   foo [01];   Старый фрейм
        23   add    esp, 8;
                                EIP возврата
             ...
                                         ...
foo:
        01   push   ebp;
        02   mov    ebp, esp;
        03   sub    esp, 256;
             ...
       10    mov    esp, ebp;
       11    pop    ebp;
EIP -> 12    ret;

main:                           EIP возврата [23]
             ...                Параметр 1
        20   push   2;
        21   push   1;          Параметр 2
        22   call   foo [01];   Старый фрейм
        23   add    esp, 8;
                                EIP возврата
             ...
                                         ...
foo:
        01   push   ebp;
        02   mov    ebp, esp;
        03   sub    esp, 256;
             ...
        10   mov    esp, ebp;
        11   pop    ebp;
        12   ret;

main:
             ...                Параметр 1
       20    push   2;
       21    push   1;          Параметр 2
       22    call   foo [01];   Старый фрейм
EIP -> 23    add    esp, 8;
                                EIP возврата
             ...
                                         ...
foo:
         01   push   ebp;
         02   mov    ebp, esp;
         03   sub    esp, 256;
              ...
         10   mov    esp, ebp;
         11   pop    ebp;
         12   ret;

main:
              ...
         20   push   2;
         21   push   1;
         22   call   foo [01];   Старый фрейм
         23   add    esp, 8;
                                 EIP возврата
EIP ->        ...
                                          ...
foo:                             buf[256]
         01   push   ebp;
         02   mov    ebp, esp;
         03   sub    esp, 256;
EIP ->        ...
         10   mov    esp, ebp;
         11   pop    ebp;
         12   ret;
                                 Старый фрейм
main:                            EIP возврата [23]
              ...                Параметр 1
         20   push   2;
         21   push   1;          Параметр 2
         22   call   foo [01];   Старый фрейм
         23   add    esp, 8;
                                 EIP возврата
                                          ...
foo:                             buf[256]
         01   push   ebp;
         02   mov    ebp, esp;
         03   sub    esp, 256;   «полезная нагрузка»
EIP ->        ...
         10   mov    esp, ebp;
         11   pop    ebp;
         12   ret;
                                 Старый фрейм
main:                            EIP возврата
              ...                Параметр 1
         20   push   2;
         21   push   1;          Параметр 2
         22   call   foo [01];   Старый фрейм
         23   add    esp, 8;
                                 EIP возврата
                                          ...
•
•
Exploits
Exploits

More Related Content

Viewers also liked

Viewers also liked (9)

каталог Slk 2010
каталог Slk 2010каталог Slk 2010
каталог Slk 2010
 
свободные остатки по шинам
свободные остатки по шинамсвободные остатки по шинам
свободные остатки по шинам
 
Replica slik литые
Replica slik литыеReplica slik литые
Replica slik литые
 
остатки зима
остатки зимаостатки зима
остатки зима
 
Grupa integer.pl
Grupa integer.plGrupa integer.pl
Grupa integer.pl
 
Tugas kelompok evaluasi pendidikan
Tugas kelompok evaluasi pendidikanTugas kelompok evaluasi pendidikan
Tugas kelompok evaluasi pendidikan
 
Educational Resources Presenatation
Educational Resources Presenatation Educational Resources Presenatation
Educational Resources Presenatation
 
Study IELTS 6
Study IELTS 6 Study IELTS 6
Study IELTS 6
 
Combinated energy presure
Combinated energy presureCombinated energy presure
Combinated energy presure
 

Exploits

  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 15.
  • 16.
  • 17.
  • 18.  EAX  EBX  ECX  EDX  EIP – instruction pointer  ESP – stack pointer
  • 19.
  • 21.  SUB A,B  ADD A,B  DIV A,B  AND A,B  OR A,B  XOR A,B  et al.
  • 22. PUSH A POP A ESP ...
  • 23.
  • 24. void foo(int k, int j) { push ebp; mov ebp, esp; char buf[256]; sub esp, 256; ... mov esp, ebp; pop ebp; } ret; int main() { push 2; push 1; foo(1, 2); call foo; add esp, 8; }
  • 25. foo: 01 push ebp; 02 mov ebp, esp; 03 sub esp, 256; ... 10 mov esp, ebp; 11 pop ebp; 12 ret; main: ... EIP -> 20 push 2; 21 push 1; 22 call foo [01]; Старый фрейм 23 add esp, 8; EIP возврата ... ...
  • 26. foo: 01 push ebp; 02 mov ebp, esp; 03 sub esp, 256; ... 10 mov esp, ebp; 11 pop ebp; 12 ret; main: ... 20 push 2; EIP -> 21 push 1; Параметр 2 22 call foo [01]; Старый фрейм 23 add esp, 8; EIP возврата ... ...
  • 27. foo: 01 push ebp; 02 mov ebp, esp; 03 sub esp, 256; ... 10 mov esp, ebp; 11 pop ebp; 12 ret; main: ... Параметр 1 20 push 2; 21 push 1; Параметр 2 EIP -> 22 call foo [01]; Старый фрейм 23 add esp, 8; EIP возврата ... ...
  • 28. foo: EIP -> 01 push ebp; 02 mov ebp, esp; 03 sub esp, 256; ... 10 mov esp, ebp; 11 pop ebp; 12 ret; main: EIP возврата [23] ... Параметр 1 20 push 2; 21 push 1; Параметр 2 22 call foo [01]; Старый фрейм 23 add esp, 8; EIP возврата ... ...
  • 29. foo: 01 push ebp; EIP -> 02 mov ebp, esp; 03 sub esp, 256; ... 10 mov esp, ebp; 11 pop ebp; 12 ret; Старый фрейм main: EIP возврата [23] ... Параметр 1 20 push 2; 21 push 1; Параметр 2 22 call foo [01]; Старый фрейм 23 add esp, 8; EIP возврата ... ...
  • 30. foo: 01 push ebp; 02 mov ebp, esp; EIP -> 03 sub esp, 256; ... 10 mov esp, ebp; 11 pop ebp; 12 ret; Старый фрейм main: EIP возврата [23] ... Параметр 1 20 push 2; 21 push 1; Параметр 2 22 call foo [01]; Старый фрейм 23 add esp, 8; EIP возврата ... ...
  • 31. foo: buf[256] 01 push ebp; 02 mov ebp, esp; 03 sub esp, 256; EIP -> ... 10 mov esp, ebp; 11 pop ebp; 12 ret; Старый фрейм main: EIP возврата [23] ... Параметр 1 20 push 2; 21 push 1; Параметр 2 22 call foo [01]; Старый фрейм 23 add esp, 8; EIP возврата ... ...
  • 32. foo: buf[256] 01 push ebp; 02 mov ebp, esp; 03 sub esp, 256; ... EIP -> 10 mov esp, ebp; 11 pop ebp; 12 ret; Старый фрейм main: EIP возврата [23] ... Параметр 1 20 push 2; 21 push 1; Параметр 2 22 call foo [01]; Старый фрейм 23 add esp, 8; EIP возврата ... ...
  • 33. foo: 01 push ebp; 02 mov ebp, esp; 03 sub esp, 256; ... 10 mov esp, ebp; EIP -> 11 pop ebp; 12 ret; Старый фрейм main: EIP возврата [23] ... Параметр 1 20 push 2; 21 push 1; Параметр 2 22 call foo [01]; Старый фрейм 23 add esp, 8; EIP возврата ... ...
  • 34. foo: 01 push ebp; 02 mov ebp, esp; 03 sub esp, 256; ... 10 mov esp, ebp; 11 pop ebp; EIP -> 12 ret; main: EIP возврата [23] ... Параметр 1 20 push 2; 21 push 1; Параметр 2 22 call foo [01]; Старый фрейм 23 add esp, 8; EIP возврата ... ...
  • 35. foo: 01 push ebp; 02 mov ebp, esp; 03 sub esp, 256; ... 10 mov esp, ebp; 11 pop ebp; 12 ret; main: ... Параметр 1 20 push 2; 21 push 1; Параметр 2 22 call foo [01]; Старый фрейм EIP -> 23 add esp, 8; EIP возврата ... ...
  • 36. foo: 01 push ebp; 02 mov ebp, esp; 03 sub esp, 256; ... 10 mov esp, ebp; 11 pop ebp; 12 ret; main: ... 20 push 2; 21 push 1; 22 call foo [01]; Старый фрейм 23 add esp, 8; EIP возврата EIP -> ... ...
  • 37. foo: buf[256] 01 push ebp; 02 mov ebp, esp; 03 sub esp, 256; EIP -> ... 10 mov esp, ebp; 11 pop ebp; 12 ret; Старый фрейм main: EIP возврата [23] ... Параметр 1 20 push 2; 21 push 1; Параметр 2 22 call foo [01]; Старый фрейм 23 add esp, 8; EIP возврата ...
  • 38. foo: buf[256] 01 push ebp; 02 mov ebp, esp; 03 sub esp, 256; «полезная нагрузка» EIP -> ... 10 mov esp, ebp; 11 pop ebp; 12 ret; Старый фрейм main: EIP возврата ... Параметр 1 20 push 2; 21 push 1; Параметр 2 22 call foo [01]; Старый фрейм 23 add esp, 8; EIP возврата ...
  • 39.
  • 40.
  • 41.
  • 42.
  • 43.
  • 44.
  • 45.