lec09 miscellaneous
play

Lec09: Miscellaneous Insu Yun 2 Scoreboard 3 NSA Codebreaker - PowerPoint PPT Presentation

1 Lec09: Miscellaneous Insu Yun 2 Scoreboard 3 NSA Codebreaker Challenges 4 Administrivia Due: Lab09 is out and its due on Nov 10 NSA Codebreaker Challenge Due: Dec 1 5 Discussion: Lab08 What's the most


  1. 1 Lec09: Miscellaneous Insu Yun

  2. 2 Scoreboard

  3. 3 NSA Codebreaker Challenges

  4. 4 Administrivia • Due: Lab09 is out and its due on Nov 10 • NSA Codebreaker Challenge → Due: Dec 1

  5. 5 Discussion: Lab08 • What's the most "annoying" bug or challenge? • What's the most "interesting" bug or challenge? • What's different between remote & local?

  6. 6 Discussion: passwd • What was the problem? • How did you solve?

  7. 7 Discussion: mini­shellshock • What was the problem? • How did you solve?

  8. 8 Discussion: mini­shellshock • CVE­2014­6277, CVE­2014­6278, CVE­2014­7169, CVE­2014­7186, and CVE­2014­7187 • specially crafted environment variable # Discussion: mini­shellshock CGI (Common Gateway Interface) • HTTP headers → Environment variable • If script is a bash script?

  9. 9 Discussion: obscure • What was the problem? • How did you solve?

  10. 10 Discussion: obscure • ARM • different calling convention • r0: first argument

  11. 11 Discussion: obscure __libc_csu_init (int argc, char **argv, char **envp) { const size_t size = __init_array_end - __init_array_start; for (size_t i = 0; i < size; i++) (*__init_array_start [i]) (argc, argv, envp); }

  12. 12 Disscussion: obscure .text:00008610 ADD R4, R4, #1 .text:00008614 LDR R3, [R5,#4]! .text:00008618 MOV R0, R7 // R0 = R7 .text:0000861C MOV R1, R8 .text:00008620 MOV R2, R9 .text:00008624 BLX R3 // EIP = R3 .text:00008628 CMP R4, R6 .text:0000862C BNE loc_8610 .text:00008630 LDMFD SP!, {R3-R9,PC} // R3...R9 & PC

  13. 13 Discussion: ieee754 • What was the problem? • How did you solve?

  14. 14 Discussion: diehard • What was the problem? • How did you solve?

  15. 15 Discussion: array • What was the problem? • How did you solve?

  16. 16 2kills • What was the problem? • How did you solve?

  17. 17 jmp­to­where2 • What was the problem? • How did you solve?

  18. 18 return­to­dl • What was the problem? • How did you solve?

  19. 19 return­to­dl • How GOT works? • make fake SYMTAB, STRTAB ...

  20. 20 2048_game • What was the problem? • How did you solve?

  21. 21 2048_game • How to calculate address?

  22. 22 2048_game • Using format string, arbitrary read! • Extract binary is also possible

  23. 23 Lab09: Miscellaneous • integer overflow • web • race condition • interesting exploit techniques

  24. 24 Today's Tutorial • In­class tutorial: • One shot exploit

  25. 25 Today's Totorial int main() { char buf[0x100]; printf("Give me something..."); fgets(buf, 2 * sizeof (buf), stdin); }

  26. 26 Today's Totorial • [...][printf plt][pop ret][__libc_start_main GOT][main]

  27. 27 Today's Totorial • calculate system based on leaked address • [...][system][XXXX][/bin/sh addr]

  28. 28 In­class Tutorial $ git git@clone tc.gtisc.gatech.edu:seclab-pub cs6265 or $ git pull $ cd cs6265/lab08 $ ./init.sh $ cd tut $ cat README

  29. Lec09: Miscellaneous Insu Yun

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend