Mau LVTN 1

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 40

BỘ GIÁO DỤC VÀ ĐÀO TẠO

TRƯỜNG ĐẠI HỌC CẦN THƠ


TRƯỜNG CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

NIÊN LUÂN CƠ SỞ
NGÀNH TRUYỀN THÔNG VÀ MẠNG MÁY TÍNH
Đề tài
TẤN CÔNG TRÀN BỘ ĐỆM
(Buffer Overflow Attack)

Giảng viên hướng dẫn: Sinh viên thực hiện:


ThS. TRẦN DUY QUANG PHAN DUY TƯỜNG
MSSV: B2013512
KHÓA 46

Cần Thơ, 12/2023

BỘ GIÁO DỤC VÀ ĐÀO TẠO


GVHD: TS.GVC Nguyễn Vă n A SVTH: Võ Thanh B

1
TRƯỜNG ĐẠI HỌC CẦN THƠ
MỤC LỤC
LỜ I CẢ M ƠN................................................................................................................................................................................................ 5
TÓ M TẮ T...................................................................................................................................................................................................... 6
CHƯƠNG 1: GIỚ I THIỆ U........................................................................................................................................................................ 1
1.1. Lý do chọ n đề tà i.............................................................................................................................................................................. 1
1.2. Mụ c tiêu củ a đề tà i...........................................................................................................................................................................1
1.3.Đố i tượ ng nghiên cứ u..................................................................................................................................................................... 1
1.4.Phạ m vi nghiên cứ u..........................................................................................................................................................................2
1.5.Phương phá p nghiên cứ u.............................................................................................................................................................. 2
1.6.Ý nghĩa khoa họ c và thự c tiễn củ a đề tà i.................................................................................................................................2
1.6.1.Ý Nghĩa Khoa Họ c:......................................................................................................................................................................... 2
1.6.2.Ý Nghĩa Thự c Tiễn:....................................................................................................................................................................... 3
CHƯƠNG 2 : CƠ SỞ LÝ THUYẾ T........................................................................................................................................................ 5
2.1. Buffer overflow attack là gì......................................................................................................................................................... 5
2.2 Cơ sở lý thuyết liên quan đến buffer overflow attacks:...................................................................................................6
2.2.1.Buffer:................................................................................................................................................................................................. 6
2.2.2.Overflow:.......................................................................................................................................................................................... 7
2.2.3.Stack Overflow và Heap Overflow:........................................................................................................................................7
2.2.4.Return Address (Địa chỉ Quay Về):........................................................................................................................................7
2.2.5.Shellcode:.......................................................................................................................................................................................... 7
2.2.6.ASLR (Address Space Layout Randomization):...............................................................................................................7
2.2.7.DEP (Data Execution Prevention):.........................................................................................................................................8
CHƯƠNG 3: PHƯƠNG PHÁ P THỰ C HIỆ N......................................................................................................................................8
3.1.Xá c định Lỗ Hổ ng:............................................................................................................................................................................. 8
3.2.Xâ y Dự ng Payload:............................................................................................................................................................................ 8
3.3.Xá c Định Điểm Tiếp Xú c:................................................................................................................................................................8
3.4.Chuẩ n Bị Dữ Liệu Tấ n Cô ng:.........................................................................................................................................................8
3.5.Chèn Payload và o Dữ Liệu Đầ u Và o:.........................................................................................................................................9
3.6.Thự c Hiện Tấ n Cô ng:....................................................................................................................................................................... 9
3.7.Kiểm Tra Hiệu Quả và Thu Thậ p Kết Quả :.............................................................................................................................9
CHƯƠNG 4: KẾ T QUẢ THỰ C NGHIỆ M..........................................................................................................................................10
4.1.Ret2win.............................................................................................................................................................................................. 10
4.1.1.Bướ c 1............................................................................................................................................................................................. 10
4.1.2.Bướ c 2............................................................................................................................................................................................. 10
4.1.3.Bướ c 3............................................................................................................................................................................................. 12
4.1.4.Bướ c 4............................................................................................................................................................................................. 14
4.1.5.Bướ c 5............................................................................................................................................................................................. 14
4.1.6.Bướ c 6............................................................................................................................................................................................. 15
4.2.Callme.................................................................................................................................................................................................. 16
4.2.1.Bướ c 1............................................................................................................................................................................................. 16
4.2.2.Bướ c 2............................................................................................................................................................................................. 16
4.2.3.Bướ c 3............................................................................................................................................................................................. 17
4.2.4.Bướ c 4............................................................................................................................................................................................. 18
4.2.5.Bướ c 5............................................................................................................................................................................................. 19
4.2.6.Bướ c 6............................................................................................................................................................................................. 21
4.2.7.Bướ c 7............................................................................................................................................................................................. 22
4.2.8.Bướ c 8............................................................................................................................................................................................. 22
4.3.Write4................................................................................................................................................................................................. 23
4.3.1.Bướ c 1............................................................................................................................................................................................. 23
4.3.2.Bướ c 2............................................................................................................................................................................................. 23
4.3.3.Bướ c 3............................................................................................................................................................................................. 23
4.3.4.Bướ c 4............................................................................................................................................................................................. 25
4.3.5.Bướ c 5............................................................................................................................................................................................. 28
4.3.6.Bướ c 6............................................................................................................................................................................................. 29
4.3.7.Bướ c 7............................................................................................................................................................................................. 30
GVHD: TS.GVC Nguyễn Vă n A SVTH: Võ Thanh B

1
CHƯƠNG 5: KẾ T LUẬ N VÀ HƯỚ NG PHÁ T TRIỂ N...................................................................................................................32
5.1.Kết Luậ n............................................................................................................................................................................................. 32
5.2.Hướ ng Phá t Triển :........................................................................................................................................................................ 33
TÀ I LIỆ U THAM KHẢ O.........................................................................................................................................................................34

MỤ C LỤ C HÌNH Ả NH
HÌnh 1 : Sơ đồ bộ nhớ chương trình...................................................................................................5
HÌnh 2 : Thu thập thông tin tệp nhị phân và chạy chương trình ........................................10
HÌnh 3 : Kích hoạt radare2..................................................................................................................11
HÌnh 4 : Main.............................................................................................................................................11
HÌnh 5 : Sym.ret2win.............................................................................................................................11
HÌnh 6 : Sym.pwnme...............................................................................................................................11
HÌnh 7 : Sym.pwnme...............................................................................................................................11
HÌnh 8 : Truy cập gdb.............................................................................................................................12
HÌnh 9 : Mẫu 50 byte..............................................................................................................................12
HÌnh 10 : chạy chương trình ret2win.............................................................................................13
HÌnh 11 : Nội dung thanh ghi RSP....................................................................................................13
HÌnh 12 : Phần bù....................................................................................................................................14
HÌnh 13 : Sử dụng công cụ ROPgadget...........................................................................................14
HÌnh 14 : Địa chỉ ret..............................................................................................................................14
HÌnh 15 : tạo tập lệnh exploit.py và nội dung tập lệnh............................................................15
HÌnh 16 : chạy tập lệnh và kết quả..................................................................................................15
HÌnh 17 : Thông tin tệp nhị phân callme........................................................................................16
HÌnh 18 : Truy cập radare2 ...............................................................................................................17
HÌnh 19 : chương trình callme..........................................................................................................17
HÌnh 20 : Truy cập radare2................................................................................................................18
HÌnh 21 : Hàm pwnme..........................................................................................................................19
HÌnh 22 : chạy chương trình callme................................................................................................20
HÌnh 23 : Lỗi gây tràn............................................................................................................................20
HÌnh 24 : phần bù ...................................................................................................................................21
HÌnh 25 : ROPgadgets..........................................................................................................................21
HÌnh 26 : tạo tập lệnh exploit.py và nội dung tập lệnh.............................................................22
HÌnh 27 : kết quả.....................................................................................................................................22
HÌnh 28 : Thu thập thông tin tệp nhị phân write4....................................................................23
HÌnh 29 : chương trình write4...........................................................................................................23
HÌnh 30 : radare2 write4......................................................................................................................24
HÌnh 31 : Sym.usefulFunction............................................................................................................24
HÌnh 32 : Sym.imp.print_file...............................................................................................................25
HÌnh 33 : ROPgadget.............................................................................................................................25
HÌnh 34 : readelf write4........................................................................................................................26
HÌnh 35 : Đầu ra của lệnh....................................................................................................................26
HÌnh 36 : Đầu ra của lệnh...................................................................................................................27
HÌnh 37 : data write4.............................................................................................................................27
HÌnh 38 : Gdb write4..............................................................................................................................28
GVHD: TS.GVC Nguyễn Vă n A SVTH: Võ Thanh B

1
HÌnh 39 : chạy chương trình write4................................................................................................28
HÌnh 40 : RSP............................................................................................................................................29
HÌnh 41 : Phần bù...................................................................................................................................29
HÌnh 42 : tạo tập lệnh exploit.py và nội dung tập lệnh............................................................30
HÌnh 43 : tạo tập lệnh exploit.py và nội dung tập lệnh.............................................................30
HÌnh 44 : Kết quả....................................................................................................................................31

LỜI CẢM ƠN

Để hoà n thà nh đượ c bà i niên luậ n nà y, em xin châ n thà nh cả m ơn sâ u sắ c


đến thầ y Trầ n Duy Quang ngườ i đã trự c tiếp giả ng dạ y và hướ ng dẫ n em thự c
hiện bà i niên luậ n nà y bằ ng tấ t cả lò ng nhiệt tình và sự quan tâ m sâ u sắ c.

Trong quá trình thự c hiện bà i niên luậ n nà y, do hiểu biết cò n nhiều hạ n chế
nên bà i là m khó trá nh khỏ i nhữ ng thiếu só t. Em rấ t mong nhậ n đượ c nhữ ng lờ i
gó p ý củ a quý thầ y cô để bà i tiểu luậ n ngà y cà ng hoà n thiện hơn.

Em xin châ n thà nh cả m ơn!

GVHD: TS.GVC Nguyễn Vă n A SVTH: Võ Thanh B

1
TÓM TẮT
Xá c định lỗ hổ ng tấ n cô ng buffer overflow bắ t đầ u bằ ng việc xá c định mộ t
lỗ hổ ng trong phầ n mềm hoặ c hệ thố ng, thườ ng liên quan đến việc khô ng kiểm
soá t đượ c dữ liệu đầ u và o.
Xâ y dự ng Payload ngườ i tấ n cô ng phả i xâ y dự ng mộ t payload chứ a mã độ c
hạ i hoặ c cá c hà nh độ ng khô ng mong muố n mà ngườ i tấ n cô ng muố n chú ng thự c
hiện trên hệ thố ng mụ c tiêu.
Chuẩ n bị dữ liệu tấ n cô ng tạ o ra dữ liệu đầ u và o mà sẽ đượ c sử dụ ng để tậ n
dụ ng lỗ hổ ng buffer overflow. Điều nà y thườ ng liên quan đến việc tạ o ra mộ t
lượ ng dữ liệu lớ n hơn kích thướ c củ a buffer.
Chèn Payload và o dữ liệu đầ u và o chèn payload và o dữ liệu đầ u và o đã
đượ c chuẩ n bị. Payload nà y thườ ng chứ a mã má y (shellcode) để thự c hiện cá c
hà nh độ ng độ c hạ i.
Thự c hiện tấ n cô ng gử i dữ liệu đầ u và o đã đượ c tấ n cô ng đến ứ ng dụ ng
hoặ c hệ thố ng mụ c tiêu và chờ xem liệu buffer overflow attack có thà nh cô ng hay
khô ng.
Kiểm tra hiệu quả và thu thậ p kết quả kiểm tra xem payload củ a bạ n có
thự c sự đượ c thự c hiện khô ng và thu thậ p thô ng tin về việc tấ n cô ng, chẳ ng hạ n
như thô ng tin về hệ thố ng hoặ c quyền truy cậ p mớ i có đượ c.
Đề tà i : Tấ n cô ng trà n bộ đệm
——————————————————————————————————

CHƯƠNG 1: GIỚI THIỆU

1.1. Lý do chọn đề tài.


Buffer overflow attack là mộ t trong nhữ ng mô hình tấ n cô ng phổ biến và
có nguy cơ cao đố i vớ i nhiều hệ thố ng. Nắ m vữ ng về cá ch thứ c tấ n cô ng nà y giú p
hiểu rõ hơn về mộ t trong nhữ ng thá ch thứ c lớ n nhấ t mà cá c hệ thố ng phả i đố i
mặ t.
Nghiên cứ u về buffer overflow attack có thể giú p bả o mậ t viên, nhà phâ n
tích mã độ c hạ i và nhà phá t triển phầ n mềm hiểu sâ u về cá ch tấ n cô ng nà y để
phá t triển cá c biện phá p bả o vệ hiệu quả và giú p ngườ i họ c và nghiên cứ u phá t
triển kỹ nă ng trong lĩnh vự c an ninh mạ ng và bả o mậ t ứ ng dụ ng.
Buffer overflow là mộ t trong nhữ ng kỹ thuậ t thườ ng đượ c sử dụ ng trong
kiểm thử bả o mậ t để kiểm tra tính bả o mậ t củ a mộ t hệ thố ng hoặ c ứ ng dụ ng.
Nắ m vữ ng về cá ch thứ c tấ n cô ng giú p ngườ i ta hiểu rõ hơn về cá ch ngă n chặ n và
phò ng trá nh.
1.2. Mục tiêu của đề tài.
Hiểu rõ về cá ch hoạ t độ ng củ a buffer overflow attack, cá ch kẻ tấ n cô ng có
thể tậ n dụ ng lỗ hổ ng bả o mậ t để thự c hiện mã độ c hạ i và kiểm soá t hệ thố ng.Nắ m
vữ ng cá c phương phá p phò ng trá nh và ngă n chặ n buffer overflow attacks. Điều
nà y có thể bao gồ m việc tìm hiểu về cá c biện phá p an ninh như DEP, ASLR, và kỹ
thuậ t mã hó a.
Phá t triển cô ng cụ kiểm thử bả o mậ t xâ y dự ng hoặ c cả i tiến cá c cô ng cụ
kiểm thử bả o mậ t để phá t hiện và ngă n chặ n buffer overflow attacks trong quá
trình kiểm thử hệ thố ng.Đề xuấ t biện phá p bả o mậ t mớ i dự a trên nhữ ng kiến
thứ c đã thu thậ p, đề xuấ t nhữ ng biện phá p bả o mậ t mớ i hoặ c cả i tiến để ngă n
chặ n buffer overflow attacks.

1.3.Đối tượng nghiên cứu.

Buffer overflow attack

GVHD: TS. TRẦ N DUY QUANG SVTH: PHAN DUY TƯỜ NG

1
Đề tà i : Tấ n cô ng trà n bộ đệm
——————————————————————————————————

1.4.Phạm vi nghiên cứu.

Phâ n tích cơ chế tấ n cô ng hiểu rõ về cá ch hoạ t độ ng củ a buffer overflow


attack, cá ch kẻ tấ n cô ng có thể tậ n dụ ng lỗ hổ ng bả o mậ t để thự c hiện mã độ c hạ i
và kiểm soá t hệ thố ng.

Nghiên cứ u về bả o mậ t hệ thố ng nắ m vữ ng cá c phương phá p phò ng trá nh


và ngă n chặ n buffer overflow attacks.

1.5.Phương pháp nghiên cứu

Hiểu rõ về cơ chế tấ n cô ng đọ c và nghiên cứ u về cá ch buffer overflow


attack hoạ t độ ng. Nắ m vữ ng về cá c khá i niệm như stack overflow, heap overflow,
và cá c biến thể khá c củ a tấ n cô ng.

Phâ n tích mã nguồ n kiểm tra ứ ng dụ ng mụ c tiêu nghiên cứ u mã nguồ n


củ a ứ ng dụ ng để xá c định cá c lỗ hổ ng có thể dẫ n đến buffer overflow. Phâ n tích
cá c hà m và biến tìm hiểu về cá ch hà m và biến đượ c xử lý trong mã nguồ n để xá c
định điểm yếu có thể bị tậ n dụ ng.

Thự c hiện kiểm thử để kiểm tra cá c kịch bả n tấ n cô ng buffer overflow mà


cá c cô ng cụ tự độ ng có thể bỏ qua. Xá c định và đá nh giá lỗ hổ ng nếu có lỗ hổ ng ,
xá c định mứ c độ nghiêm trọ ng và khả nă ng tậ n dụ ng.

Phâ n tích cơ chế bả o vệ nghiên cứ u về cá ch cá c cơ chế bả o vệ như DEP,


ASLR đượ c triển khai để ngă n chặ n buffer overflow attacks. Đá nh giá hiệu suấ t
củ a cá c cơ chế bả o vệ đá nh giá hiệu suấ t và độ hiệu quả củ a cá c cơ chế bả o vệ
hiện tạ i.

1.6.Ý nghĩa khoa học và thực tiễn của đề tài.

1.6.1.Ý Nghĩa Khoa Học:


Hiểu rõ hơn về an ninh mạ ng và phâ n tích mã độ c hạ i nghiên cứ u về
buffer overflow attacks giú p nâ ng cao kiến thứ c về an ninh mạ ng và cá ch tấ n cô ng
có thể đượ c thự c hiện thô ng qua cá c lỗ hổ ng bả o mậ t trong mã nguồ n.

GVHD: TS. TRẦ N DUY QUANG SVTH: PHAN DUY TƯỜ NG

2
Đề tà i : Tấ n cô ng trà n bộ đệm
——————————————————————————————————

Phá t triển kỹ nă ng nghiên cứ u và phâ n tích cho phép cá c nghiên cứ u viên


và họ c viên phá t triển kỹ nă ng nghiên cứ u, phâ n tích mã độ c hạ i, và kiểm thử bả o
mậ t, là nhữ ng kỹ nă ng quan trọ ng trong lĩnh vự c an ninh mạ ng.
Cả i tiến biện phá p bả o mậ t hiện tạ i dự a trên nhữ ng kiến thứ c mớ i, nghiên
cứ u nà y có thể dẫ n đến việc cả i tiến hoặ c đề xuấ t cá c biện phá p bả o mậ t mớ i để
ngă n chặ n buffer overflow attacks.
Kiến thứ c nền tả ng cho cá c nghiên cứ u tiếp theo nghiên cứ u về buffer
overflow attacks có thể tạ o ra kiến thứ c nền tả ng cho cá c nghiên cứ u tiếp theo
trong lĩnh vự c an ninh mạ ng và phâ n tích mã độ c hạ i.
1.6.2.Ý Nghĩa Thực Tiễn:
Nâ ng cao tính bả o mậ t củ a hệ thố ng và ứ ng dụ ng hiểu rõ về buffer
overflow attacks giú p cả i thiện tính bả o mậ t củ a hệ thố ng và ứ ng dụ ng, giả m nguy
cơ bị tấ n cô ng thô ng qua cá c lỗ hổ ng nà y.
Phá t triển biện phá p ngă n chặ n và phò ng trá nh dự a trên kết quả nghiên
cứ u, có thể phá t triển cá c biện phá p ngă n chặ n và phò ng trá nh buffer overflow
attacks, giú p bả o vệ thô ng tin và hệ thố ng.

GVHD: TS. TRẦ N DUY QUANG SVTH: PHAN DUY TƯỜ NG

3
Đề tà i : Tấ n cô ng trà n bộ đệm
——————————————————————————————————

GVHD: TS. TRẦ N DUY QUANG SVTH: PHAN DUY TƯỜ NG

4
Đề tà i : Tấ n cô ng trà n bộ đệm
——————————————————————————————————

CHƯƠNG 2 : CƠ SỞ LÝ THUYẾT

2.1. Buffer overflow attack là gì.

Buffer overflow attack là mộ t hình thứ c tấ n cô ng mạ ng mà kẻ tấ n cô ng cố


gắ ng trà n (overflow) dữ liệu và o bộ nhớ đệm (buffer) củ a mộ t chương trình hoặ c
hệ thố ng để là m cho nó thự c hiện cá c hà nh độ ng khô ng mong muố n hoặ c chạ y mã
độ c hạ i. Điều nà y thườ ng xả y ra khi mộ t chương trình khô ng kiểm soá t đượ c
lượ ng dữ liệu đầ u và o mà nó xử lý, và kẻ tấ n cô ng tậ n dụ ng điều nà y để trà n qua
giớ i hạ n củ a buffer và thự c hiện cá c hà nh độ ng khô ng an toà n.

HÌnh 1: Sơ đồ bộ nhớ chương trình

-Text segment (Phâ n đoạ n vă n bả n ) : lưu trữ mã thự c thi củ a chương


trình. Khố i bộ nhớ nà y thườ ng chỉ đọ c

-Data segment (Phâ n đoạ n dữ liệu) : lưu trữ cá c biến tĩnh/toà n cụ c đượ c
ngườ i lậ p trình khở i tạ o.

GVHD: TS. TRẦ N DUY QUANG SVTH: PHAN DUY TƯỜ NG

5
Đề tà i : Tấ n cô ng trà n bộ đệm
——————————————————————————————————

-BSS segment (Phâ n đoạ n BSS) :lưu trữ cá c biến tĩnh/toà n cụ c chưa đượ c
khở i tạ o. Phâ n đoạ n nà y sẽ đượ c hệ điều hà nh lấ p đầ y bằ ng cá c số 0, vì vậ y tấ t cả
cá c biến chưa đượ c khở i tạ o đều đượ c khở i tạ o bằ ng số 0.

-Heap : Heap đượ c sử dụ ng để cung cấ p khô ng gian cho việc cấ p phá t bộ


nhớ độ ng. Khu vự c nà y đượ c quả n lý bở i malloc, calloc, realloc, free, v.v.

-Stack : đượ c sử dụ ng để lưu trữ cá c biến cụ c bộ đượ c xá c định bên trong


hà m, cũ ng như lưu trữ dữ liệu liên quan đến lệnh gọ i hà m, chẳ ng hạ n như địa chỉ
trả về, đố i số , v.v . Chú ng tô i sẽ cung cấ p thêm chi tiết về phâ n đoạ n nà y sau.

Cơ chế hoạ t độ ng củ a buffer overflow attack thườ ng liên quan đến việc gử i
mộ t lượ ng dữ liệu lớ n hơn kích thướ c đượ c dự kiến củ a buffer đến chương trình.
Khi dữ liệu nà y đượ c ghi và o buffer, nó có thể trà n ra cá c vù ng bộ nhớ khá c, có
thể là cá c địa chỉ quay về (return addresses) hoặ c cá c biến khá c trong bộ nhớ . Kẻ
tấ n cô ng có thể kiểm soá t đượ c chương trình bằ ng cá ch chèn mã độ c hạ i và thay
đổ i quá trình thự c thi củ a nó .

Buffer overflow attacks có thể dẫ n đến nhiều hậ u quả nghiêm trọ ng, bao
gồ m việc thự c hiện mã độ c hạ i, kiểm soá t hệ thố ng, thự c hiện tấ n cô ng từ chố i
dịch vụ (DoS), hoặ c thậ m chí là kiểm soá t toà n bộ má y chủ . Để ngă n chặ n buffer
overflow attacks, cá c biện phá p như kiểm tra giớ i hạ n dữ liệu đầ u và o, sử dụ ng
ngô n ngữ lậ p trình an toà n, và triển khai cá c cơ chế bả o vệ như Data Execution
Prevention (DEP) và Address Space Layout Randomization (ASLR) thườ ng đượ c
á p dụ ng.

2.2 Cơ sở lý thuyết liên quan đến buffer overflow attacks:

2.2.1.Buffer:

Là mộ t vù ng bộ nhớ đượ c cấ p phá t để lưu trữ dữ liệu tạ m thờ i. Có thể là


mả ng, chuỗ i, hoặ c bấ t kỳ cấ u trú c dữ liệu nà o khá c.

GVHD: TS. TRẦ N DUY QUANG SVTH: PHAN DUY TƯỜ NG

6
Đề tà i : Tấ n cô ng trà n bộ đệm
——————————————————————————————————

2.2.2.Overflow:

Khi lượ ng dữ liệu đượ c ghi và o buffer vượ t quá dung lượ ng mà nó đượ c
cấ p phá t, xả y ra hiện tượ ng overflow, và dữ liệu có thể trà n ra cá c vù ng bộ nhớ
lâ n cậ n.

2.2.3.Stack Overflow và Heap Overflow:

Stack Overflow: Xả y ra khi mộ t chương trình ghi quá nhiều dữ liệu và o


stack (ngă n xếp), thườ ng thô ng qua cá c biến địa phương, địa chỉ quay về, hoặ c
cá c giá trị lưu trữ trên ngă n xếp.

Heap Overflow: Xả y ra khi dữ liệu đượ c ghi và o vù ng nhớ đượ c cấ p phá t


độ ng (heap), thườ ng thô ng qua cá c hà m như ‘malloc’ hoặ c ‘calloc’.

2.2.4.Return Address (Địa chỉ Quay Về):

Là mộ t giá trị trỏ đến vị trí trong bộ nhớ mà chương trình sẽ quay về sau
khi kết thú c mộ t hà m. Khi bị thay đổ i bở i buffer overflow, nó có thể dẫ n đến thay
đổ i luồ ng thự c thi củ a chương trình.

2.2.5.Shellcode:

Là mã má y nhỏ , thườ ng đượ c thiết kế để thự c hiện cá c chứ c nă ng độ c hạ i.


Khi buffer overflow attack thà nh cô ng, shellcode thườ ng đượ c chèn và o vù ng nhớ
và sau đó đượ c thự c thi để kiểm soá t chương trình.

2.2.6.ASLR (Address Space Layout Randomization):

Mộ t kỹ thuậ t bả o mậ t để ngă n chặ n buffer overflow attacks bằ ng cá ch ngẫ u


nhiên đặ t vị trí củ a cá c phầ n quan trọ ng trong bộ nhớ , như địa chỉ quay về và cá c
vù ng nhớ chứ a shellcode.

GVHD: TS. TRẦ N DUY QUANG SVTH: PHAN DUY TƯỜ NG

7
Đề tà i : Tấ n cô ng trà n bộ đệm
——————————————————————————————————

2.2.7.DEP (Data Execution Prevention):

Mộ t kỹ thuậ t bả o mậ t đượ c thiết kế để ngă n chặ n việc thự c thi mã từ vù ng


bộ nhớ chỉ chứ a dữ liệu, ngă n chặ n buffer overflow attacks có thể sử dụ ng vù ng
bộ nhớ đú ng mụ c đích.

CHƯƠNG 3: PHƯƠNG PHÁP THỰC HIỆN

3.1.Xác định Lỗ Hổng:

Tìm kiếm và xá c định hệ thố ng có lỗ hổ ng buffer overflow. Điều nà y


thườ ng liên quan đến việc phâ n tích mã nguồ n hoặ c thự c hiện kiểm thử bả o mậ t.

3.2.Xây Dựng Payload:

Phá t triển mã shellcode hoặ c payload chứ a cá c hà nh độ ng độ c hạ i mà bạ n


muố n thự c hiện trên hệ thố ng mụ c tiêu. Điều nà y có thể bao gồ m việc kiểm soá t
chương trình, thự c hiện cá c hà m độ c hạ i, hoặ c mở cổ ng kết nố i để tạ o mộ t lố i và o
từ xa.

3.3.Xác Định Điểm Tiếp Xúc:

Xá c định nơi mà buffer overflow có thể xả y ra, ví dụ như thô ng qua đầ u và o


từ ngườ i dù ng, dữ liệu từ mạ ng, hoặ c tương tá c vớ i tệp tin.

3.4.Chuẩn Bị Dữ Liệu Tấn Công:

Tạ o ra dữ liệu đầ u và o mà bạ n sẽ sử dụ ng để tậ n dụ ng buffer overflow.


Điều nà y thườ ng liên quan đến việc tạ o ra mộ t lượ ng dữ liệu lớ n hơn kích thướ c
củ a buffer để khi ghi và o, nó sẽ trà n ra cá c vù ng nhớ lâ n cậ n.

GVHD: TS. TRẦ N DUY QUANG SVTH: PHAN DUY TƯỜ NG

8
Đề tà i : Tấ n cô ng trà n bộ đệm
——————————————————————————————————

3.5.Chèn Payload vào Dữ Liệu Đầu Vào:

Chèn payload củ a bạ n và o dữ liệu đầ u và o mà bạ n đã chuẩ n bị. Payload nà y


thườ ng chứ a mã má y (shellcode) để thự c hiện cá c hà nh độ ng độ c hạ i.

3.6.Thực Hiện Tấn Công:

Gử i dữ liệu đầ u và o đã đượ c tấ n cô ng đến ứ ng dụ ng hoặ c hệ thố ng mụ c


tiêu và chờ xem liệu buffer overflow attack có thà nh cô ng hay khô ng.

3.7.Kiểm Tra Hiệu Quả và Thu Thập Kết Quả:

Kiểm tra xem payload củ a bạ n có thự c sự đượ c thự c hiện khô ng, và thu
thậ p thô ng tin về việc tấ n cô ng, chẳ ng hạ n như thô ng tin về hệ thố ng hoặ c quyền
truy cậ p mớ i có đượ c.

GVHD: TS. TRẦ N DUY QUANG SVTH: PHAN DUY TƯỜ NG

9
Đề tà i : Tấ n cô ng trà n bộ đệm
——————————————————————————————————

CHƯƠNG 4: KẾT QUẢ THỰC NGHIỆM

4.1.Ret2win
4.1.1.Bước 1
- Thu thậ p thêm thô ng tin về tệp nhị phâ n.

- Chạ y chương trình và xem hoạ t độ ng củ a chương trình.

HÌnh 2: Thu thập thông tin tệp nhị phân và chạy chương trình .

4.1.2.Bước 2

- Kích hoạ t radare2.

- Biết địa chỉ cá c chứ c nă ng củ a chương trình : main , sym.pwnme,


sym.ret2win.

GVHD: TS. TRẦ N DUY QUANG SVTH: PHAN DUY TƯỜ NG

10
Đề tà i : Tấ n cô ng trà n bộ đệm
——————————————————————————————————

HÌnh 3: Kích hoạt radare2

HÌnh 4: Main

GVHD: TS. TRẦ N DUY QUANG SVTH: PHAN DUY TƯỜ NG

11
Đề tà i : Tấ n cô ng trà n bộ đệm

HÌnh 5: Sym.ret2win

HÌnh 6: Sym.pwnme.

- Có thể thấ y ở hà m nà y họ đang tạ o mộ t bộ đệm có kích thướ c 0x20 (32 ở


dạ ng thậ p phâ n)

HÌnh 7: Sym.pwnme.

GVHD: TS. TRẦ N DUY QUANG SVTH: PHAN DUY TƯỜ NG

11
Đề tà i : Tấ n cô ng trà n bộ đệm

- Hà m đọ c họ yêu cầ u ngườ i dù ng nhậ p mộ t số thô ng tin và ghi và o bộ


đệm, vấ n đề ở đâ y là họ viết 0x38 byte (56 ở dạ ng thậ p phâ n)

- Đầ u và o tiêu chuẩ n và o bộ đệm và rõ rà ng, 56 lớ n hơn 32 khiến đâ y trở


thà nh tình huố ng trà n bộ đệm thô ng thườ ng.

4.1.3.Bước 3

- Truy cậ p gdb.

HÌnh 8: Truy cập gdb.

- Tạ o mộ t mẫ u có 50 byte.

HÌnh 9: Mẫu 50 byte.

- Chạ y chương trình ret2win.

GVHD: TS. TRẦ N DUY QUANG SVTH: PHAN DUY TƯỜ NG

12
Đề tà i : Tấ n cô ng trà n bộ đệm

HÌnh 10 : chạy chương trình ret2win.

- Kiểm tra nộ i dung củ a RSP.

HÌnh 11: Nội dung thanh ghi RSP

- Nộ i dung thanh ghi RSP : 0x7fffffffde18("AA0AAFAAbA").

GVHD: TS. TRẦ N DUY QUANG SVTH: PHAN DUY TƯỜ NG

13
Đề tà i : Tấ n cô ng trà n bộ đệm

- Xá c định phầ n bù .

HÌnh 12: Phần bù

- Phầ n bù là 40 byte.

4.1.4.Bước 4

- Sử dụ ng cô ng cụ ROPgadget để tìm đú ng địa chỉ củ a ret

HÌnh 13: Sử dụng công cụ ROPgadget

HÌnh 14 : Địa chỉ ret

- Địa chỉ ret : 0x000000000040053e

4.1.5.Bước 5

- Tạ o tậ p lệnh expliot.py và nộ i dung củ a tậ p lệnh

GVHD: TS. TRẦ N DUY QUANG SVTH: PHAN DUY TƯỜ NG

14
Đề tà i : Tấ n cô ng trà n bộ đệm

HÌnh 15 : tạo tập lệnh exploit.py và nội dung tập lệnh

4.1.6.Bước 6

- Chạ y tậ p lệnh, đâ y là kết quả

HÌnh 16 : chạy tập lệnh và kết quả

GVHD: TS. TRẦ N DUY QUANG SVTH: PHAN DUY TƯỜ NG

15
Đề tà i : Tấ n cô ng trà n bộ đệm

4.2.Callme

4.2.1.Bước 1

- Thu thậ p thêm thô ng tin về tệp nhị phâ n

HÌnh 17: Thông tin tệp nhị phân callme

4.2.2.Bước 2

- Truy cậ p radare2 và chạ y lệnh sau:

GVHD: TS. TRẦ N DUY QUANG SVTH: PHAN DUY TƯỜ NG

16
Đề tà i : Tấ n cô ng trà n bộ đệm

HÌnh 18 : Truy cập radare2

- Có thể thấ y rằ ng cờ canary cho phép thự c hiện cá c cuộ c tấ n cô ng trà n bộ


đệm

4.2.3.Bước 3

- chạ y chương trình và xem hoạ t độ ng củ a củ a chương trình

HÌnh 19 : chương trình callme

GVHD: TS. TRẦ N DUY QUANG SVTH: PHAN DUY TƯỜ NG

17
Đề tà i : Tấ n cô ng trà n bộ đệm

4.2.4.Bước 4

- Xem nhị phâ n trong radare2

HÌnh 20 : Truy cập radare2

- Bâ y giờ chú ng ta có địa chỉ cho từ ng hà m (callme_one, callme_two và


callme_third). Để có thể khai thá c, trướ c tiên chú ng ta cầ n hiểu phầ n bù lỗ i trà n
bộ đệm và chú ng ta cũ ng cầ n mộ t cá ch để chuyển cá c đố i số cho cá c hà m, để là m
đượ c điều đó , chú ng ta cầ n tiện ích ROP vớ i ba cử a sổ đă ng ký theo sau là mộ t ret.
bắ t đầ u bằ ng cá ch tìm phầ n bù trà n bộ đệm

- Sau khi phâ n tích callme trên radare2, phá t hiện ra rằ ng bộ đệm đượ c
khở i tạ o trong hà m pwnme. Ngoà i ra, đầ u và o đượ c yêu cầ u cho ngườ i dù ng
trong chứ c nă ng nà y và đượ c thêm và o bộ đệm

GVHD: TS. TRẦ N DUY QUANG SVTH: PHAN DUY TƯỜ NG

18
Đề tà i : Tấ n cô ng trà n bộ đệm

- Hà m pwnme.

HÌnh 21 : Hàm pwnme

- Đâ y là nơi chú ng ta nhậ n dữ liệu đầ u và o từ ngườ i dù ng. Cũ ng có thể thấ y


ở hà m nà y họ đang tạ o mộ t bộ đệm có kích thướ c 0x20 (32 ở dạ ng thậ p phâ n)
và sau đó vớ i hà m đọ c họ yêu cầ u ngườ i dù ng nhậ p mộ t số thô ng tin và ghi và o
bộ đệm, vấ n đề ở đâ y là họ ghi 0x200 byte (512 ở dạ ng thậ p phâ n) từ đầ u và o
tiêu chuẩ n và o bộ đệm và rõ rà ng, 512 lớ n hơn 32 khiến đâ y trở thà nh tình
huố ng trà n bộ đệm thô ng thườ ng.

4.2.5.Bước 5

- Truy cậ p gdb

- Tạ o mộ t mẫ u có 50 byte

- Chạ y chương trình

- Chèn mẫ u đã tạ o trướ c đó là m đầ u và o cho chương trình

GVHD: TS. TRẦ N DUY QUANG SVTH: PHAN DUY TƯỜ NG

19
Đề tà i : Tấ n cô ng trà n bộ đệm

HÌnh 22: chạy chương trình callme

- Nó trà n ra gâ y ra lỗ i phâ n đoạ n (như bạ n có thể thấ y trong hình 23)

HÌnh 23: Lỗi gây tràn

GVHD: TS. TRẦ N DUY QUANG SVTH: PHAN DUY TƯỜ NG

20
Đề tà i : Tấ n cô ng trà n bộ đệm

- Nhìn và o hình ả nh có thể tìm thấ y thanh ghi RSP : 0x7fffffffde18


(“AA0AAFAAbA”)

- Chú ng ta đã có nộ i dung củ a thanh ghi RSP, chú ng ta phả i là m để có thể


tìm đượ c phầ n bù .

HÌnh 24: phần bù

4.2.6.Bước 6

- Chú ng ta cầ n sử dụ ng cá c thanh ghi để truyền đố i số cho cá c hà m nên


chú ng ta cầ n sử dụ ng tổ chứ c ROP để bậ t ba thanh ghi và sau đó là m mộ t ret.

- chú ng ta phả i lưu ý để có thể chọ n tiện ích ROP chính xá c là ESP phả i
đượ c di chuyển cá c thá p có địa chỉ cao hơn trong tiện ích ROP, vì vậ y bằ ng cá ch
nhìn và o ngă n xếp

- tìm kiếm ROPgadgets bằ ng pop và ret.

HÌnh 25 : ROPgadgets

GVHD: TS. TRẦ N DUY QUANG SVTH: PHAN DUY TƯỜ NG

21
Đề tà i : Tấ n cô ng trà n bộ đệm

- Có thể thấ y ở kết quả ở trên, chú ng ta có pop rdi ; pop rsi ; pop rdx ; ret
tiện ích ROP trong địa chỉ: “ 0x000000000040093c “

4.2.7.Bước 7

- Tạ o tậ p lệnh expliot.py và nộ i dung củ a tậ p lệnh

HÌnh 26: tạo tập lệnh exploit.py và nội dung tập lệnh

4.2.8.Bước 8

- Chạ y tậ p lệnh, đâ y là kết quả

HÌnh 27: kết quả

GVHD: TS. TRẦ N DUY QUANG SVTH: PHAN DUY TƯỜ NG

22
Đề tà i : Tấ n cô ng trà n bộ đệm

4.3.Write4

4.3.1.Bước 1

- Thu thậ p thêm thô ng tin về tệp nhị phâ n.

HÌnh 28 : Thu thập thông tin tệp nhị phân write4

4.3.2.Bước 2

- Chương trình và xem hoạ t độ ng.

HÌnh 29: chương trình write4

4.3.3.Bước 3

- Xem nhị phâ n trong radare2

GVHD: TS. TRẦ N DUY QUANG SVTH: PHAN DUY TƯỜ NG

23
Đề tà i : Tấ n cô ng trà n bộ đệm

HÌnh 30: radare2 write4

- Chú ng tô i có mộ t số thô ng tin quan trọ ng. Cụ thể hiện nay chú ng ta đã
biết địa chỉ cá c chứ c nă ng củ a chương trình usefulFunction ,imp.pwnme,main.

- Sym. usefulFunction.

HÌnh 31 : Sym.usefulFunction

- Có thể thấ y, trong địa chỉ 0x00400620, chú ng ta có lệnh gọ i hà m


print_file . Tuy nhiên, đâ y là mụ c PLT nên để đả m bả o chú ng ta có địa chỉ chính

GVHD: TS. TRẦ N DUY QUANG SVTH: PHAN DUY TƯỜ NG

24
Đề tà i : Tấ n cô ng trà n bộ đệm

xá c, tìm hiểu sâ u hơn mộ t chú t. Có thể thấ y, địa chỉ chính xá c trên thự c tế là :
0x00400510 .

HÌnh 32 : Sym.imp.print_file

4.3.4.Bước 4

- Sử dụ ng cô ng cụ ROPgadget

HÌnh 33 : ROPgadget

- Có thể thấ y, chú ng ta có mộ t độ ng thá i có thể chính xá c là nhữ ng gì chú ng


ta cầ n: mov qword ptr [r14], r15 ; ret trong địa chỉ 0x0000000000400628 .

- Bâ y giờ chú ng ta có tiện ích ROP cho phép chú ng tô i lưu trữ chuỗ i trong
sổ đă ng ký. Bâ y giờ chú ng ta cầ n mộ t nơi (mộ t địa chỉ) để lưu trữ chuỗ i.Để là m
như vậ y sử dụ ng lệnh sau:

GVHD: TS. TRẦ N DUY QUANG SVTH: PHAN DUY TƯỜ NG

25
Đề tà i : Tấ n cô ng trà n bộ đệm

HÌnh 34: readelf write4

- Phầ n khá c củ a đầ u ra củ a lệnh:

HÌnh 35: Đầu ra của lệnh

GVHD: TS. TRẦ N DUY QUANG SVTH: PHAN DUY TƯỜ NG

26
Đề tà i : Tấ n cô ng trà n bộ đệm

HÌnh 36 : Đầu ra của lệnh

- Cô ng cụ readelf hiển thị thô ng tin liên quan đến tệp nhị phâ n , nó có thể
giú p chú ng ta tìm mộ t nơi để lưu trữ chuỗ i. Trong tiêu đề Phầ n, chú ng ta có danh
sá ch cá c phầ n đượ c trình bà y trong tệp nhị phâ n.Để chọ n mộ t cá i mà chú ng ta có
thể sử dụ ng, chú ng ta cầ n mộ t cá i cho phép chú ng ta viết và chú ng ta cầ n đả m bả o
rằ ng là m như vậ y sẽ khô ng là m hỏ ng bấ t cứ thứ gì có liên quan.

- Chú ng ta có mộ t mụ c .data có the flag W bậ t nên chú ng ta có thể viết lên


đó , chú ng ta chỉ cầ n biết liệu viết lên đó có là m hỏ ng gì khô ng.

HÌnh 37: data write4

- Bâ y giờ chú ng ta đã có mộ t nơi để viết chuỗ i củ a mình và o đó . Địa chỉ là :


0x00601028 .

- Bâ y giờ chú ng ta chuyển chuỗ i đó là m đố i số cho hà m print_file.Để là m


như vậ y, chú ng ta cầ n xem liệu có thể tìm thấ y mộ t tiện ích ROP tương tự như thế
nà y hay khô ng: pop rdi ; ret . Điều nà y sẽ cho phép chú ng ta chuyển rdi là m đố i
số cho hà m.

GVHD: TS. TRẦ N DUY QUANG SVTH: PHAN DUY TƯỜ NG

27
Đề tà i : Tấ n cô ng trà n bộ đệm

- Chú ng ta có pop rdi ; ret tiện ích ROP trong địa chỉ
0x0000000000400693 .

4.3.5.Bước 5

- Truy cậ p gdb

- Tạ o mộ t mẫ u có 50 byte

HÌnh 38: Gdb write4

- Chạ y chương trình

- Chèn mẫ u đã tạ o trướ c đó là m đầ u và o cho chương trình.

HÌnh 39: chạy chương trình write4

- Nó trà n ra gâ y ra lỗ i phâ n đoạ n (như bạ n có thể thấ y trong hình 40).

- Biết đượ c điều nà y, bâ y giờ chú ng ta phả i tìm phầ n bù cho lỗ i trà n.

- Để là m như vậ y tô i đã kiểm tra nộ i dung củ a RSP.

GVHD: TS. TRẦ N DUY QUANG SVTH: PHAN DUY TƯỜ NG

28
Đề tà i : Tấ n cô ng trà n bộ đệm

HÌnh 40 : RSP

- Nhìn và o hình ả nh có thể tìm thấ y thanh ghi RSP : 0x7fffffffde18


(“AA0AAFAAbA”)

- Tìm đượ c phầ n bù .

HÌnh 41 : Phần bù

- Phầ n bù là 40 byte.

4.3.6.Bước 6

- Tạ o tậ p lệnh expliot.py và nộ i dung củ a tậ p lệnh

GVHD: TS. TRẦ N DUY QUANG SVTH: PHAN DUY TƯỜ NG

29
Đề tà i : Tấ n cô ng trà n bộ đệm

HÌnh 42 : tạo tập lệnh exploit.py và nội dung tập lệnh

HÌnh 43: tạo tập lệnh exploit.py và nội dung tập lệnh

4.3.7.Bước 7

- Chạ y tậ p lệnh, đâ y là kết quả

GVHD: TS. TRẦ N DUY QUANG SVTH: PHAN DUY TƯỜ NG

30
Đề tà i : Tấ n cô ng trà n bộ đệm

HÌnh 44 : Kết quả

GVHD: TS. TRẦ N DUY QUANG SVTH: PHAN DUY TƯỜ NG

31
Đề tà i : Tấ n cô ng trà n bộ đệm

CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

5.1.Kết Luận

Trong quá trình nghiên cứ u về buffer overflow attack , em đã tậ p trung và o


việc hiểu rõ cơ chế và nguyên nhâ n gâ y ra lỗ hổ ng bả o mậ t nà y trong hệ thố ng và
ứ ng dụ ng phầ n mềm. Cá c kết quả đạ t đượ c trong nghiên cứ u nà y mang lạ i cá i
nhìn sâ u sắ c về nhữ ng mố i đe doạ và rủ i ro mà buffer overflow attack mang
lạ i.Em đã thà nh cô ng trong việc xá c định và khai thá c buffer overflow attack
trong mô i trườ ng kiểm thử , giú p chú ng tô i hiểu rõ hơn về cá ch tấ n cô ng nà y có
thể xả y ra và ả nh hưở ng đến hệ thố ng.

*Các loại tấn công và cách phòng chống:

1.Tấn công Buffer Overflow Cơ Bản

- Phương thức tấn công: Khi dữ liệu vượ t quá giớ i hạ n củ a bộ đệm, nó
có thể ghi đè lên vù ng nhớ lâ n cậ n.

- Phòng chống: Sử dụ ng toà n bộ trình lậ p ngô n ngữ như Rust, Ada


hoặ c Java hoặ c thự c hiện kiểm tra giớ i hạ n dữ liệu đầ u và o và đả m bả o kiểm soá t
bộ đệm luồ ng.

2. Shellcode Injection

- Phương thức tấn công: Ghi đè trên bộ đệm vớ i mã shellcode để thự c


thi cá c lệnh độ c hạ i.

- Phòng chống: Sử dụ ng kỹ thuậ t ASLR (Address Space Layout


Randomization), thự c hiện mã hó a bộ đệm, sử dụ ng chứ c nă ng canary (canary
values) để phá t hiện sự thay đổ i trong bộ đệm.

3. Return-to-Libc Attack

GVHD: TS. TRẦ N DUY QUANG SVTH: PHAN DUY TƯỜ NG

32
Đề tà i : Tấ n cô ng trà n bộ đệm

- Phương thức tấn công: Thay đổ i địa chỉ trở về (return address) để
thự c hiện cá c chứ c nă ng trong thư viện C chuẩ n.

- Phòng chống: Sử dụ ng kỹ thuậ t DEP (Data Execution Prevention) để


ngă n chặ n việc thự c thi mã từ vù ng dữ liệu, sử dụ ng cá c biện phá p như Control
Flow Integrity (CFI).

4. Heap Overflow

- Phương thức tấn công: Tấ n cô ng trà n bộ đệm trong vù ng nhớ heap


thay vì stack.

- Phòng chống: Sử dụ ng cá c hà m quả n lý bộ nhớ an toà n như ‘malloc’


và ‘free’, giữ cho việc quả n lý heap đượ c kiểm soá t, sử dụ ng kỹ thuậ t heap
canaries

5. Format String Attack

- Phương thức tấn công: Sử dụ ng chuỗ i định dạ ng khô ng an toà n để


đọ c hoặ c ghi dữ liệu trong bộ nhớ .

- Phòng chống: Sử dụ ng hà m in an toà n như ‘ printf ‘ vớ i cá c định dạ ng


đượ c xá c định trướ c, trá nh sử dụ ng chuỗ i định dạ ng ngườ i dù ng.

6. Integer Overflow

- Phương thức tấn công: Ghi giá trị vượ t quá phạ m vi cho kiểu dữ liệu
số nguyên.

- Phòng chống: Kiểm tra và xá c thự c giá trị dữ liệu đầ u và o, sử dụ ng


kiểu dữ liệu phù hợ p để đả m bả o khô ng xả y ra trà n số nguyên.
5.2.Hướng Phát Triển :

Mở rộ ng nghiên cứ u để á p dụ ng cá c biện phá p phò ng chố ng và o ứ ng dụ ng và


hệ thố ng thự c tế.

GVHD: TS. TRẦ N DUY QUANG SVTH: PHAN DUY TƯỜ NG

33
Đề tà i : Tấ n cô ng trà n bộ đệm

Tiếp tụ c theo dõ i và đá nh giá cá c phương phá p tấ n cô ng mớ i xuấ t hiện để cậ p


nhậ t biện phá p phò ng chố ng.

Nghiên cứ u chi tiết hơn về việc tích hợ p cô ng nghệ mớ i như machine learning
để phá t hiện và ngă n chặ n buffer overflow attack.

TÀI LIỆU THAM KHẢO

https://web.ecs.syr.edu/~wedu/seed/Book/book_sample_buffer.pdf

https://pwn.college/software-exploitation/return-oriented-programming

https://ropemporium.com/

https://www.kali.org/tools/

GVHD: TS. TRẦ N DUY QUANG SVTH: PHAN DUY TƯỜ NG

34

You might also like