1. Trang chủ
  2. » Công Nghệ Thông Tin

TÌM HIỂU VỀ CAPTCHAR VÀ PHƯƠNG PHÁP TẠO CAPTCHAR PTIT

17 1,4K 16

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 17
Dung lượng 358,69 KB
File đính kèm BaoCaoCaptchar_codeCaptchar.rar (800 KB)

Nội dung

I.TỔNG QUAN VỀ CAPTCHA 1. Khái niệm về CAPTCHA.CAPTCHA: viết tắt của cụm từ Completely Automated Public Turing test to tell Computers and Humans Apart, là hình ảnh chứa xác nhận bị bóp méo, gây khó nhận biết với máy móc nhưng đơn giản với con người, nhằm giúp phân biệt đối tượng đang truy cập là người hay máy. Những hình ảnh này có thể là kí tự, chữ số, hình ảnh về động vật, biển bảo giao thông, vân vân.CAPTCHA được đặt ra vào năm 2000 bởi Luis von Ahn, Manuel Blum, Nicholas Hopper and John Langford của đại học Carnegie Mellon.CAPTCHA được tạo ra nhằm ngăn chặn các ứng dụng có thể thực hiện một cách tự động trên trình duyệt web của người dùng. Mã CAPTCHA thường được sử dụng trên các trang đăng kí tài khoản, lấy ý kiến trên blog, các trang bình chọn,…nhằm giảm lượng spam ảo.II.PHÂN LOẠI CAPTCHA.Có rất nhiều loại CAPTCHA khác nhau, tùy thuộc vào mức độ phức tạp của hình ảnh. Sau đây là 5 loại mã CAPTCHA phổ biến nhất. 1. The Standard Distorted Word CAPTCHA with an Audio Option(Chuẩn Captch bị bóp méo với một lựa chọn âm thanh): xuất phát từ các công ty CAPTCHA phổ biến trên mạng, reCAPTCHA. Nó khá tin cậy, nhưng một số hình ảnh bị bóp méo hơi khó để giải quyết. Nếu quá khó để nhập đúng mã CAPTCHA thì nó cho phép “reCAPTCHA” để tạo một hình ảnh mới. Hoặc một tùy chọn bằng âm thanh đề phòng trường hợp nhập mã không khả quan. 2. Picture Identification CAPTCHA(Mã CAPTCHA xác thực bằng hình ảnh): loại mã này yêu cầu người dùng lựa chọn hình ảnh sao cho phù hợp với câu hỏi được yêu cầu. Việc xác thực bằng hình ảnh khá dễ dàng so với xác thực bằng “The Standard Distorted Word CAPTCHA with an Audio Option”. 3. Math Solving CAPTCHA(Mã CAPTCHA xử lý toán học): Một hình ảnh chứa một phép toán số học yêu cầu người dùng tính toán và nhập kết quả để xác nhận. 4. 3D CAPTCHA(Mã CAPTCHA 3D): Loại CAPTCHA này rất khó đọc, là kẻ thù của robot. Có một số loại 3D CAPTCHA bao gốm cả hình ảnh và âm thanh. Chúng được gọi là “SuperCAPTCHA”. 5. Adinjected CAPTCHA(Mã CAPTCHA chèn quảng cáo): Đây là loại mã CAPTCHA đơn giản nhưng có chèn thêm thương hiệu vào cùng với mã CAPTCHA nhằng quảng cáo cho thương hiệu đó. III. CÁC ỨNG DỤNG CỦA CAPTCHA1. Preventing Comment Spam in Blogs(Ngăn chặn rác trong các trang Blogs thảo luận): Hầu hết các trang Blog đã quen với các chương trình gửi ý kiến không có thực, thường dùng với mục đích nâng cao thứ hạng trên các công cụ tìm kiếm của một số trang web. Nó được gọi là các bình luân

Trang 1

BỘ THÔNG TIN VÀ TRUYỀN THÔNG

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

✍ ✍

BÁO CÁO

MÔN : AN TOÀN ỨNG DỤNG WEB

ĐỀ TÀI:TÌM HIỂU VỀ CAPTCHAR VÀ PHƯƠNG

PHÁP TẠO CAPTCHAR

Trang 2

MỤC LỤC

I

I TỔNG QUAN VỀ CAPTCHA

1 Khái niệm về CAPTCHA.

- CAPTCHA: viết tắt của cụm từ Completely Automated Public Turing test to tell Computers and Humans Apart, là hình ảnh chứa xác nhận bị bóp méo, gây khó nhận biết với máy móc nhưng đơn giản với con người, nhằm giúp phân biệt đối tượng đang truy cập là người hay máy Những hình ảnh này có thể là kí tự, chữ số, hình ảnh về động vật, biển bảo giao thông, vân vân

- CAPTCHA được đặt ra vào năm 2000 bởi Luis von Ahn, Manuel Blum, Nicholas Hopper and John Langford của đại học Carnegie Mellon

- CAPTCHA được tạo ra nhằm ngăn chặn các ứng dụng có thể thực hiện một cách tự động trên trình duyệt web của người dùng Mã CAPTCHA thường được sử dụng trên các trang đăng kí tài khoản, lấy ý kiến trên blog, các trang bình chọn,…nhằm giảm lượng spam ảo

II PHÂN LOẠI CAPTCHA.

Có rất nhiều loại CAPTCHA khác nhau, tùy thuộc vào mức độ phức tạp của hình ảnh Sau đây là 5 loại mã CAPTCHA phổ biến nhất

Trang 3

1 The Standard Distorted Word CAPTCHA with an Audio

Option(Chuẩn Captch bị bóp méo với một lựa chọn âm thanh): xuất phát từ các công ty CAPTCHA phổ biến trên mạng, reCAPTCHA Nó khá tin cậy, nhưng một số hình ảnh bị bóp méo hơi khó để giải quyết Nếu quá khó để nhập đúng mã CAPTCHA thì nó cho phép “reCAPTCHA” để tạo một hình ảnh mới Hoặc một tùy chọn bằng âm thanh đề phòng trường hợp nhập mã không khả quan

2 Picture Identification CAPTCHA(Mã CAPTCHA xác thực bằng hình ảnh): loại mã này yêu cầu người dùng lựa chọn hình ảnh sao cho phù hợp với câu hỏi được yêu cầu Việc xác thực bằng hình ảnh khá dễ dàng so với xác thực bằng “The Standard Distorted Word CAPTCHA with an Audio Option”

Trang 4

3 Math Solving CAPTCHA(Mã CAPTCHA xử lý toán học): Một hình ảnh chứa một phép toán số học yêu cầu người dùng tính toán và nhập kết quả để xác nhận

Trang 5

4 3D CAPTCHA(Mã CAPTCHA 3D): Loại CAPTCHA này rất khó

đọc, là kẻ thù của robot Có một số loại 3D CAPTCHA bao gốm cả hình ảnh và âm thanh Chúng được gọi là “Super-CAPTCHA”

5 Ad-injected CAPTCHA(Mã CAPTCHA chèn quảng cáo): Đây là loại

mã CAPTCHA đơn giản nhưng có chèn thêm thương hiệu vào cùng với

mã CAPTCHA nhằng quảng cáo cho thương hiệu đó

Trang 6

III CÁC ỨNG DỤNG CỦA CAPTCHA

1 Preventing Comment Spam in Blogs(Ngăn chặn rác trong các trang

Blogs thảo luận): Hầu hết các trang Blog đã quen với các chương trình gửi

ý kiến không có thực, thường dùng với mục đích nâng cao thứ hạng trên các công cụ tìm kiếm của một số trang web Nó được gọi là các bình luân rác Bằng cách sử dụng CAPTCHA, chỉ có con người mới có thể bình luận vào trong một Blog Không yêu cầu người dùng phải đăng nhập trước khi

họ đăng bình luận, và không có bình luận chính đáng nào bị bỏ qua

2 Protecting Website Registration(Bảo vệ đăng kí Website): Một vài

công ty(Yahoo!, Microsoft, vân vân) cung cấp dịch vụ email miễn phí Một vài năm trước, hầu hết các dịch vụ này phải chịu một loại hình tấn công:

“bots” sẽ đăng kí hàng nghìn tài khoản email mỗi phút Và giải pháp cho vấn đề này là sử dụng CAPTCHA để đảm bảo rằng chỉ có con người mới đăng kí được email Nói chung, các dịch vụ miễn phí nên được bảo về với một CAPTCHA để ngăn chặn lạm dụng bời kịch bản đăng kí tự động

Trang 7

3 Protecting Email Addresses From Scrapers(Bảo vệ địa chỉ email khỏi

kẻ thu thập): Những kẻ gửi thư giác thu thập địa chỉ email trên các trâng web CAPTCHA cung cấp một cơ chế hiệu quả để ẩn địa chỉ email của bạn đọc tự Web Ý tưởng là yêu cầu người dùng nhập mã CAPTCHA trước khi hiển thị địa chỉ email của bạn

4 Online Polls(Bình chọn trức tuyến): Vào tháng 11 năm 1999,

http://www.slashdot.org tổ chức một cuộc bình chọn trực tiếp trường đại học có ngành khoa học máy tính tôt nhất(một câu hỏi nguy hiểm trên web) Giống như các trường hợp bình chọn online, địa chỉ IP của người bình chọn được ghi lại để đảm bảo người bỏ phiếu bỏ nhiều hơn 1 lần Tuy nhiên, sinh viên đại học Carnegie Mellon(CMU) tìm thấy một cách để nhét phiếu bình chọn sử dụng chương trình bình chọn cho CMU hàng ngàn lần Điểm CMU tăng nhanh chóng Ngày hôm sau, học sinh tại MIT lại viết chương trình riêng của họ và cuộc bình chọn đã trở thành cuộc thi giữa 2

“bot” MIT đã hoàn thành với 21.156 phiếu bầu, CMU với 21.032 phiếu bầu và mỗi trường khác chỉ có ít hơn 1.000 phiếu bầu Do vậy, sử dụng mã CAPTCHA trong bình chọn trực tuyến giúp giảm hẳn trường hợp phiếu ảo

từ “bot”

5 Preventing Dictionary Attacks(Ngăn chặn tấn công từ điển):

CAPTCHA cũng có thể được sử dụng để ngăn chặn cuộc tấn công từ điển trong các hệ thống mật khẩu Ý tưởng rất đơn giản: ngăn chặn một chương trình có thể tự động điền toàn bộ không gian của mật khẩu bằng cách yêu cầu nó giải quyết một CAPTCHA sau khi đăng nhập một số lần không thành công Điều này hiệu quả hơn so với các phương pháp khóa tài khoản khi người dùng nhập sai một số lần, hạn chế tình trạng kẻ tấn công có thể khóa tài khoản của nạ nhân theo ý muốn

6 Search Engine Bots(Công cụ tìm kiếm Bot): CAPTCHA được sử dụng

để ngăn chặn việc tìm kiếm một trang web khó hơn, xuất phát từ yêu cầu của chủ trang web

Trang 8

7 Worms and Spam(Sâu và thư rác): CAPTCHA cũng cung cấp một giải

pháp hợp lý đối phó với sâu email và thư rác

IV TRIỂN KHAI CAPTCHA

Nếu trang web của bạn cần được bảo về khỏi sự lạm dụng, thì bạn nên sử dụng CAPTCHA Có rất nhiều cách triển khai CAPTCHA, một số cách tốt hơn so với người khác Sau đây là các hướng dẫn được khuyến khích cho bất kỳ mã CAPTCHA nào:

1 Accessibility(Khả năng tiếp cận): CAPTCHA phải được truy cập.

CAPTCHA chỉ dựa trên văn bản đọc hoặc các nhiệm vụ trực quan- ngăn chặn người dùng khiếm thị tiếp cận với các nguồn tài nguyên được bảo vệ Bất kỳ một CAPTCHA nào cũng nên cho phép người khiếm thị có thể xác nhận được mã Ví dụ như cho phép người dùng lực chọn xác nhận bằng âm thanh

2 Hình ảnh an ninh: Hình ảnh CAPTCHA của văn bản nên bị bóp méo

một cách ngẫu nhiên trước khi được trình bày cho người sử dụng Nhiều CAPTCHA sử dụng văn bản không bị biến dạng hay văn bản bị bóp méo

ít, dễ bị tấn công bỏi các công cụ tự động

3 Script Secure: Xây dụng mã CAPTCHA an toàn không dễ dàng Ngoài

ra để làm những hình ảnh có thể đọc được bằng máy tính, hệ thống phải đảm bảo rằng không có cách nào dễ dàng xung quanh việc tấn công nó

4 Security Even After Wide-Spread Adoption: Có rất nhiều CAPTCHA

không an toàn khi có nhiều trang web cùng sử dụng chúng Khi một trang

bị vượt qua mã CAPTCHA, thì các trang khác cũng sẽ bị kéo theo Điều này tạo động lực cho kẻ tấn công cố gắng khai thác lỗ hổng CAPTCHA

5 Should I make Own CAPTCHA: Tự làm CAPTCHA là một ý tưởng

tồi, nó dễ gây ra lỗ hổng và dễ thất bại Cách tốt nhất là bạn nên sử dụng các dịch vụ được cung cấp sẵn như “re CAPTCHA”

V CÁC CÁCH THỨC TẤN CÔNG CAPTCHA.

Trang 9

Tính khả dụng của CAPTCHA trước tiên được đánh giá qua khả năng

chống lại các cuộc tấn công tự động Tuy nhiên, rất nhiều hệ thống CAPTCHA đã bị phá vỡ một cách tương đối dễ dàng Chẳng hạn như dịch

vụ Microsoft CAPTCHA dựa trên những đoạn văn bản được sử dụng để bảo vệ các dịch vụ trực tuyến của Microsoft Dịch vụ này được đưa vào sử dụng từ năm 2002, nhưng tới năm 2008 đã bị giải bởi Je Yan và El Ahmad của đại học Newcastel (Anh) Đến năm 2011, các nhà khoa học thuộc trường đại học Stanford (Mỹ) cũng đã giải thành công 13 trong số 15 cơ chến CAPTCHA phổ biến nhất được sử dụng

Điều đáng chú ý là, để giải được các cơ chế CAPTCHA, tin tặc nhiều khi không cần bỏ công nghiên cứu, phát triển các phần mềm nhận dạng tiên tiến mà có thể qua mặt quá trình sinh và kiểm tra phức tạp trên bằng nhiều cách khác nhau, trong đó có hai loại phổ biến nhất là tấn công vào máy khách và tấn công vào máy chủ

1 Tấn công máy khách.

Do có nhiều lập trình viên thực hiện việc sinh, lưu trữ và kiểm tra CAPTCHA tại máy khách (điều này đi ngược các nguyên tắc thiết kế an toàn cho các hệ thống phân tán và ứng dụng web) nên tin tặc có thể truy xuất lời giải CAPTCHA Một số cách tấn công máy khách phổ biến gồm:

- Tấn công vào các trường ẩn và vùng lưu trữ trên máy khách: các trường

ẩn và vùng lưu trữ trên máy khách luôn được coi là không an toàn để truyền nhận thông tin giữa máy chủ và máy khách Những giải pháp sử dụng JavaScript và các trường ẩn để kiểm tra CAPTCHA ở phía máy khách sẽ không mang lại giá trị bảo vệ nào và có thể bị tin tặc tấn công một cách dễ dàng

- Tấn công lựa chọn giá trị chuỗi CAPTCHA: Một số website đặt các hàm sinh CAPTCHA ở phía máy khách và các thành phần kiểm tra trên máy chủ Tuy nhiên, ngay cả những giải pháp CAPTCHA không sử

Trang 10

dụng mã lệnh trên máy khách cũng không phải đã an toàn 100% Tin tặc vẫn có thể tấn công CAPTCHA phía máy chủ

2 Tấn công máy chủ.

- Tấn công bằng bảng Rainbow cho CAPTCHA: Việc sinh các hình ảnh ngẫu nhiên là một phần quan trọng của một hệ thống CAPTCHA an toàn Hầu hết các website hiện đang dùng một số hữu hạn các giá trị CAPTCHA và mỗi giá trị đó được gán một mã định danh Mã định danh đó được gửi tới máy khách như một trường ẩn, hay một phần của URL khi nhận hình ảnh CAPTCHA Với những website sử dụng mã định danh CAPTCHA tĩnh, phần lớn các hình ảnh CAPTCHA có thể được tải xuống, xử lý bằng các phần mềm OCR hay xử lý thủ công để tạo nên một bảng Rainbow Khi máy chủ trả về một mã định danh CAPTCHA đã được giải, thì lời giải sẽ được tìm thấy ngay trong bảng

và được gửi lên để vượt qua mặt công đoạn kiểm tra Ngược lại, máy khách cũng có thể gửi liên tiếp các yêu cầu CAPTCHA cho đến khi một hình ảnh với mã định danh đã biết được trả về Với những website

sử dụng mã định danh CAPTCHA động cho một số hình ảnh hữu hạn, tin tặc vẫn có thể lập các bảng Rainbow dựa trên giá trị băm (MD5 hay SHA1) của hình ảnh Khi nhận một hình ảnh CAPTCHA mới, chúng sẽ tính giá trị băm rồi dùng nó để tìm lời giải tương ứng với giá trị băm đó

từ bảng dữ liệu có sẵn

- Tấn công lựa chọn CAPTCHA với mã định danh nhất định: Trong một

số giải pháp, máy chủ trả về mã định danh CAPTCHA cho máy khách, nhưng không lưu mã định danh hay lời giải tương ứng trong phiên HTTP Khi máy khách gửi tin lên, máy chủ mới trích xuất mã định danh từ trong đó và dùng nó để tìm kiếm lời giải tương ứng Tin tặc có thể lợi dụng điều đó để nhận dạng một hình ảnh CAPTCHA duy nhất, lưu lại mã định danh và lời giải rồi gửi những thông tin đó trong hàng loạt yêu cầu kiểm tra khác nhau Một biến thể khác của kiểu tấn công

Trang 11

này là vét cạn (thử nhiều lần liên tiếp) trong cùng phiên làm việc Khi đoạn mã sinh hình ảnh CAPTCHA mới và thiết lập lời giải trong phiên HTTP làm việc độc lập với đoạn mã kiểm tra CAPTCHA, đoạn mã kiểm tra CAPTCHA không xoá lời giải trong phiên HTTP, tin tặc có thể gửi đi, gửi lại các câu trả lời khác nhau cho cùng một hình ảnh để

dò ra câu trả lời đúng

- Tấn công CAPTCHA tích lũy: Một số giải pháp CAPTCHA tích lũy các lời giải hay mã định danh CAPTCHA trong phiên HTTP Điều đó

có nghĩa là với mỗi yêu cầu nhận hình ảnh CAPTCHA mới, những giá trị cũ vẫn được giữ lại và lời giải hay mã định danh của CAPTCHA mới được thêm vào phiên HTTP Tin tặc có thể lợi dụng cách làm này

để nhận dạng thủ công một hình ảnh CAPTCHA cho một phiên HTTP, sau đó dùng lại lời giải/mã định danh đó cùng với Session ID cho nhiều lần gửi thông tin lên máy chủ

- Tấn công bằng cách dùng phần mềm nhận dạng: Không phải giải pháp CAPTCHA nào cũng xử lý đủ tốt để ngăn chặn các phần mềm OCR Giải pháp CAPTCHA có thể bị qua mặt bởi những phần mềm nhận dạng tiên tiến Hơn thế nữa, tin tặc có thể sử dụng đồng thời nhiều phần mềm OCR khác nhau để tấn công: hình ảnh CAPTCHA được sao chép

về để cho các cơ chế nhận dạng khác nhau xử lý đồng thời Nếu cách triển khai CAPTCHA có lỗ hổng để tấn công vét cạn có thể khai thác trong cùng phiên làm việc, thì việc sử dụng nhiều phần mềm CAPTCHA khác nhau có thể giảm đáng kể số lần cần thử, để tìm ra lời giải đúng cho một phiên HTTP

- Tấn công bằng cách sử dụng con người để nhận dạng: Từng có giả định rằng, tin tặc có thể sử dụng các website có nội dung xấu để chuyển yêu cầu nhận dạng CAPTCHA từ các website nghiêm túc sang, qua đó lợi dụng những người muốn truy cập nội dung không lành mạnh này để giải mã thay cho các máy gửi spam Tuy nhiên, cách làm đó không đảm bảo duy trì dịch vụ liên tục và lại quá phức tạp Bên cạnh đó cũng tồn

Trang 12

tại một loại hình dịch vụ nhận dạng bằng cách sử dụng lao động giá rẻ

ở một số nước châu Á thông qua trang web kolotibablo.com Trang này cung cấp API để khách hàng của họ có thể gửi các hình ảnh CAPTCHA theo thời gian thực cho mình và nhận về giá trị do những nhân công giá rẻ này nhận diện Họ cho biết có khoảng 500-1000 nhân công làm việc trực tuyến trên toàn thế giới và con số này vẫn đang tiếp tục tăng lên

VI HẠN CHẾ CỦA CAPTCHA VÀ CÁC PHUONG THỨC THAY THẾ

- Việc hoàn thành một CAPTCHA không phải là một công việc dễ dàng Nhiều người cho rằng, nên ngừng sử dụng CAPTCHA vì chúng gây khó khăn cho những người có thị lực kém, rối loạn khả năng đọc (dyslexia) hay có những chứng bệnh đặc biệt khác Việc chuyển trách nhiệm từ chủ sở hữu các website sang những người dùng (những người góp phần tạo nên giá trị của website) không phải là cách tốt nhất Xét

từ khía cạnh pháp lý, việc sử dụng CAPTCHA có thể khiến chủ sở hữu website bị người dùng kiện và một số nơi đã có quy định về vấn đề này

Vì thế, trong Dự án mở về bảo mật ứng dụng web (OWASP) cũng khuyên, nên thận trọng khi quyết định sử dụng CAPTCHA Bên cạnh

đó, những giải pháp CAPTCHA sử dụng âm thanh (audio captcha) cũng có nhiều vấn đề hạn chế liên quan đến ngôn ngữ và cũng không

an toàn hơn so với các CAPTCHA sử dụng hình ảnh (phần mềm DeCAPTCHA của các nhà nghiên cứu ở đại học Stanford có khả năng nhận dạng thành công 75% audio captcha của eBay)

- Những thất bại trong việc tìm kiếm các giải pháp CAPTCHA tiện lợi cho người dùng, khiến chúng ta cần xem xét một cách nghiêm túc việc

sử dụng CAPTCHA và tìm kiếm những hướng đi mới Dù các hệ thống

Trang 13

trí tuệ nhân tạo có rất nhiều tiến bộ nhưng phần lớn các cơ chế chống spam vẫn rất thô sơ Trong khi đó, những nghiên cứu phá vỡ CAPTCHA xuất hiện ngày một nhiều và tin tặc thì chủ yếu tập trung khai thác những lỗ hổng trong lôgic ứng dụng thay vì cố gắng nhận dạng tự động, điều này khiến hy vọng việc sử dụng CAPTCHA sẽ thúc đẩy công nghệ nhận dạng trở nên khó khăn Dưới đây là một số gợi ý

- Sử dụng các giải pháp Akismet, Mollom và SBlam! để phân tích dữ liệu do máy khách gửi lên, từ đó có thể tự động phát hiện spam Mollom đôi khi vẫn sử dụng CAPTCHA, nhưng chỉ trong trường hợp

hệ thống không thể xác định chắc chắn Các website cũng có thể phát triển hệ thống riêng dựa trên các giải pháp lựa chọn phù hợp

- Năm 2007, Phil Haack đề xuất một phương pháp thông minh để phát hiện những máy gửi spam đó là thêm một trường ẩn vào web form Các phần mềm tự động sẽ tương tác với mã HTML gốc chứ không phân tích kết quả của chúng, do đó không phát hiện việc người dùng không nhìn thấy trường ẩn Nếu có dữ liệu trong trường ẩn, thì máy chủ có thể chắc chắn rằng dữ liệu gửi tới không phải là do người dùng thực cung cấp Phương pháp này có thể được phức tạp hóa bằng cách dùng JavaScript và băm dữ liệu Các biện pháp làm rối đó có độ an toàn không quá cao, nhưng chúng ta có thể giả định rằng những máy gửi spam tự động sẽ không đủ tinh vi để nhập đúng thông tin Ngoài ra, có thể dùng JavaScript để tự động điền vào các trường ẩn, sau đó máy chủ

sẽ kiểm tra xem có khớp không Việc kiểm tra thêm thời gian và dữ liệu phiên có thể phát hiện ra những lần gửi dữ liệu tự động

Ngày đăng: 24/11/2016, 10:39

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w