Sửa lỗi (Fixing the Pr ob 'em )

Một phần của tài liệu THỰC tập cơ sở CHUYÊN NGHÀNH AN TOÀN PHẦN mềm NGHIÊN cứu lỗ HỔNG FORMAT STRING (FORMAT STRING VULNERABILITY LAB) (Trang 26 - 28)

ch đưa ra lỗi do chỉ c ó đối số msg là một định dạng trong hàm printf

ký tự chuỗi và đối số bổ sung nào. Cảnh báo này được nâng lên do Ig) trong đoạn mã sau: [1’

ên dị ất kỳ

votd m /prìr tf(char *nsg)

pr "The address of tht '

ttne has a format st pr

pr Thtí .ntf(msg);

.ntf("The value of the

Điều : này xảy ra do y input từ • người dùng.

khi lấ

sử dụng không đúng

gunent: 0x%.8x\n", (unstgned) &msg);

msg ’ a ring V ilnerabiltty ta 0x%.8x\n", target); cách và không chỉ định các mã định dạng trong ỗ hổng này, chúng tôi chỉ cầ 1 thay Để khắc phục

dịch l li chương trìnr một lần nữa để kiểm tra xem hế nó bằng printf (“% s”, msg) và biênsự cố đã thực sự được khắc phục chưa. Phần

nhiều

sau cho thấy chương trình đã sửa đ hơn cung cấp bất kỳ cảnh báo nào:

ổi [1

và biên

]_____dịch lại nó theo cách tương tự, không

[10/18x^.8 8x^.8 [10/1 Ẳc [10/1 8x^.8: [10/1

719]seed@VM:~$ nc -u 127.0.0.1 9690 < iiput

[10/17/19]seed@VM:~/Lab8$ gcc -2 execstack -0 server server.c

ĩ 10/17/19]seed@VM:~/Lab8$ sudo ./server The aldress of the secret: 0x080487cO

The aidress of the 'target' variable: 0x0804a )40

The Vỉlue of the 'target' variable (betore): )X11223344 The aidress oT the 'msg' argument: 0xbffff0aO

8<%.8x%.8<%.8>%.8xí.8x%?8x%.8x%.ítx%.8x%.8 (%.8x%.8x%.8x%.8x%.8x%.8x%.8x%.8x%.

8x%.8 <%.8x%.8 <%.%r

The V ỉlue of the 'target' variable (íitter): 0(11223344 The aldress of the 'msg' argument: 0xbffff0aO

. 8 <%. 8x%. 8:<%. 8>%. 8x%. 8x%?8x%. 8x%. íìx% . 8x%. 8 (%. 8x%. 8x%. 8x%. 8x%. 8x%. 8x%. 8x%. 8x%.

8x%.8 <%.8x%.8:<%.%.8x

The Vỉlue of the 'target' variable (atter): 0(11223344

[1]

Do đe, bản sửa lỗi đ ã giúp khắc phục lỗ h lổng chuỗ

Một phần của tài liệu THỰC tập cơ sở CHUYÊN NGHÀNH AN TOÀN PHẦN mềm NGHIÊN cứu lỗ HỔNG FORMAT STRING (FORMAT STRING VULNERABILITY LAB) (Trang 26 - 28)

Tải bản đầy đủ (DOCX)

(29 trang)
w