Hướng dẫn thực hành khai thác lỗ hổng phần mềm.docx

T đ ng v y ta ch c n ch nh s a liên k t này ư?

This preview shows page 45 - 50 out of 76 pages.

t đ ng v y ta ch c n ch nh s a liên k t này ươ ẽ ạ ế ế là có th đi u khi n lu ng th c thi vào hàm cat_flag. B c 3: T o mã khai thác: ướ Xem ch ng trình exit đ c liên k t th nào: ươ ượ ế ế --gdb-peda$ x/10i exit 45
Image of page 45

Subscribe to view the full document.

--0x8048370 <[email protected]>: jmp DWORD PTR ds:0x804a018 46
Image of page 46
Ta th y ngay đ u hàm exit đã g i jump đ n giá tr n m đ a ch ế 0x804a018 ch c n thay đ i giá tr ô nh này thành đ a ch c a cat_flag là ta có th l y đ c flag. ể ấ ượ Tìm đ a ch c a cat_flag: --gdb-peda$ print cat_flag --$1 = {<text variable, no debug info>} 0x804849b <cat_flag> Giá tr ô 0x804a018 ch khác vs đ a ch hàm cat_flag 2 byte sau nh v y ư ta ch c n dùng “%hn” ghi 1 l n là đ . Mã khai thác: python -c 'print "\x18\xa0\x04\x08" + "%33943x%4$hn"' 18. Formatstring-write-command M c tiêu : i i thi u dùng k thu t format string đ ghi lên bi n quan ế tr ng. Mô t : Ch ng trình m c l h ng format string. Ng i ch i s ph i ươ ườ ơ s d ng k thu t ghi b ng l i format string đ ghi lên m t bi n quan ế tr ng. Các b c th c hi n ướ : B c 1: Phân tích mã ngu n. ướ 47
Image of page 47

Subscribe to view the full document.

Hình 2.37 Mã ngu n Formatstring-write-command Ch ng trình sau khi nh n chu i buff vào sau đó xu t chu i buff ra ươ (m c l i format string). Sau đó s th c thi câu l nh bi n toàn c c. ế B c 2: L p k ch b n khai thác: ướ Sau khi m c l i format string ch ng trình s ch y l nh là bi n toàn ươ ế c c cmd ta s ghi lên bi n này. ế B c 3: T o mã khai thác: ướ đây ta ch c n ghi bi n cmd thành “sh\x00” là ta s có flag t ng t ế ươ bài overwrite-short-command. đây ta c n ghi 3 byte và byte sau b ng 0, sh\x00 encode sang hex s là 736800 nh ng vì ghi 1 l n 4 byte và đây ư là h th ng little-endian nên giá tr ta c n ghi là 0x00006873. Đ d dàng tôi đ t đ a ch c n ghi đ u chu i (đi u này không khuy n khích ế vì n u đ a ch có NULL BYTE s làm cho chu i b đ t) sau đó ghi ra ế 48
Image of page 48
màn hình 0x00006873-4 kí t (4 ký t là đ a ch c n đi đè ta đã đ t tr c đó) sau đó s d ng %n. ướ (python -c 'print "\x40\xa0\x04\x08" + "%26735x%4$n"'; echo "cat flag") 19. Formatstring-leak-flag-in-mem-stack M c tiêu : Gi i thi u k thu t leak thông tin memory b ng format string. Mô t : Ch ng trình đ c flag lên trên stack memory sau đó m c l i ươ format string. Ng i ch i s đ c b nh stack này đ l y FLAG. ườ ơ ể ấ Các b c th c hi n ướ : B c 1: Phân tích mã ngu n. ướ Hình 2.38 Mã ngu n Formatstring-leak-flag-in-mem-stack
Image of page 49

Subscribe to view the full document.

Image of page 50
  • Fall '19

{[ snackBarMessage ]}

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern