BAO MAT WEB

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/99

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 1:53 PM on 4/2/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai

No analytics yet

Send a link to your students to track their progress

100 Terms

1
New cards
can thiệp vào các truy vấn
SQL Injection (SQLi) - Kỹ thuật tấn công cho phép hacker ___ mà ứng dụng gửi tới cơ sở dữ liệu (Database) do không kiểm tra kỹ dữ liệu đầu vào và nối chuỗi trực tiếp.
2
New cards
cơ sở dữ liệu
SQL Injection (SQLi) - Kỹ thuật tấn công cho phép hacker can thiệp vào các truy vấn mà ứng dụng gửi tới ___ (Database) do không kiểm tra kỹ dữ liệu đầu vào và nối chuỗi trực tiếp.
3
New cards
không kiểm tra kỹ dữ liệu đầu vào và nối chuỗi trực tiếp
SQL Injection (SQLi) - Kỹ thuật tấn công cho phép hacker can thiệp vào các truy vấn mà ứng dụng gửi tới cơ sở dữ liệu (Database) do ____
4
New cards
or '1'='1
SQL Injection (SQLi) - Nhập vào ô Password payload _ để làm câu lệnh SQL luôn đúng (True), giúp đăng nhập mà không cần mật khẩu (Authentication Bypass).
5
New cards
câu lệnh SQL luôn đúng
SQL Injection (SQLi) - Nhập vào ô Password payload ' or '1'='1 để làm __ (True), giúp đăng nhập mà không cần mật khẩu (Authentication Bypass).
6
New cards
đăng nhập mà không cần mật khẩu
SQL Injection (SQLi) - Nhập vào ô Password payload ' or '1'='1 để làm câu lệnh SQL luôn đúng (True), giúp ___ (Authentication Bypass).
7
New cards
Prepared Statements
SQL Injection (SQLi) - Sử dụng ___(truy vấn có tham số) để tách biệt dữ liệu người dùng khỏi câu lệnh SQL
8
New cards
tách biệt dữ liệu người dùng
SQL Injection (SQLi) - Sử dụng Prepared Statements (truy vấn có tham số) để __khỏi câu lệnh SQL.
9
New cards
khỏi câu lệnh SQL
SQL Injection (SQLi) - Sử dụng Prepared Statements (truy vấn có tham số) để tách biệt dữ liệu người dùng ___
10
New cards
Cross-Site Scripting
XSS
11
New cards
chèn mã JavaScript độc hại
Cross-Site Scripting (XSS) - Xảy ra khi ứng dụng cho phép ___ vào trang web để thực thi trên trình duyệt của người dùng khác nhằm đánh cắp cookie hoặc session
12
New cards
thực thi trên trình duyệt của người dùng khác
Cross-Site Scripting (XSS) - Xảy ra khi ứng dụng cho phép chèn mã JavaScript độc hại vào trang web để ___ nhằm đánh cắp cookie hoặc session
13
New cards
đánh cắp cookie hoặc session
Cross-Site Scripting (XSS) - Xảy ra khi ứng dụng cho phép chèn mã JavaScript độc hại vào trang web để thực thi trên trình duyệt của người dùng khác nhằm ___
14
New cards
Cross-Site Scripting (XSS) - Chèn đoạn mã __ vào ô tìm kiếm (Reflected) hoặc bài viết blog (Stored).
15
New cards
ô tìm kiếm (Reflected)
Cross-Site Scripting (XSS) - Chèn đoạn mã vào ___ hoặc bài viết blog (Stored).
16
New cards
bài viết blog (Stored)
Cross-Site Scripting (XSS) - Chèn đoạn mã vào ô tìm kiếm (Reflected) hoặc ___.
17
New cards
lọc dữ liệu đầu vào
Cross-Site Scripting (XSS) - Thực hiện ___ (Input Validation) và mã hóa dữ liệu đầu ra (Output Encoding) trước khi hiển thị lên trình duyệt.
18
New cards
mã hóa dữ liệu đầu ra
Cross-Site Scripting (XSS) - Thực hiện lọc dữ liệu đầu vào (Input Validation) và ____(Output Encoding) trước khi hiển thị lên trình duyệt.
19
New cards
cơ sở dữ liệu hoặc tệp
Stored XSS: Mã độc được lưu trữ trong ___ và sẽ được thực thi khi người dùng khác truy cập trang bị nhiễm.
20
New cards
người dùng khác truy cập trang bị nhiễm
Stored XSS: Mã độc được lưu trữ trong cơ sở dữ liệu hoặc tệp và sẽ được thực thi khi____.
21
New cards
thực thi ngay lập tức trong trình duyệt
Reflected XSS: Mã độc được gửi thông qua yêu cầu HTTP và ___ của người dùng.
22
New cards
yêu cầu HTTP
Reflected XSS: Mã độc được gửi thông qua __ và thực thi ngay lập tức trong trình duyệt của người dùng.
23
New cards
trên trình duyệt
DOM-Based XSS: Mã độc được thực thi ___, không tương tác với server, dựa trên cách JavaScript xử lý DOM.
24
New cards
JavaScript xử lý DOM
DOM-Based XSS: Mã độc được thực thi trên trình duyệt, không tương tác với server, dựa trên cách__.
25
New cards
tương tác với server
DOM-Based XSS: Mã độc được thực thi trên trình duyệt, không ___, dựa trên cách JavaScript xử lý DOM.
26
New cards
thay mặt người dùng trên một trang web mà người dùng đã đăng nhập
Cross-Site Request Forgery (CSRF) - Kẻ tấn công thực hiện các hành động trái phép ___ bằng cách lợi dụng sự tin cậy của máy chủ đối với trình duyệt.
27
New cards
lợi dụng sự tin cậy của máy chủ đối với trình duyệt
Cross-Site Request Forgery (CSRF) - Kẻ tấn công thực hiện các hành động trái phép thay mặt người dùng trên một trang web mà người dùng đã đăng nhập bằng cách ___.
28
New cards
click vào đường link lạ
Cross-Site Request Forgery (CSRF) - Tạo một trang HTML giả mạo có form tự động gửi yêu cầu đổi mật khẩu tới máy chủ khi nạn nhân ___.
29
New cards
CSRF Token
Cross-Site Request Forgery (CSRF) - Sử dụng ___ duy nhất cho mỗi phiên làm việc để xác thực yêu cầu.
30
New cards
xác thực yêu cầu
Cross-Site Request Forgery (CSRF) - Sử dụng CSRF Token duy nhất cho mỗi phiên làm việc để ___.
31
New cards

không xác thực quyền truy cập

Insecure Direct ObjectReferences (IDOR/BOLA) - IDOR xảy ra khi ứng dụng __________ đối với các tài nguyên được tham chiếu trực tiếp qua tham số hoặc ID trong URL.

32
New cards

tham chiếu trực tiếp

Insecure Direct ObjectReferences (IDOR/BOLA) - IDOR xảy ra khi ứng dụng không xác thực quyền truy cập đối với các tài nguyên được __________ qua tham số hoặc ID trong URL.

33
New cards

tham số hoặc ID trong URL

Insecure Direct ObjectReferences (IDOR/BOLA) - IDOR xảy ra khi ứng dụng không xác thực quyền truy cập đối với các tài nguyên được tham chiếu trực tiếp qua __________.

34
New cards

xem hoặc sửa đổi thông tin cá nhân của người dùng khác

Insecure Direct ObjectReferences (IDOR/BOLA) - Trong kịch bản IDOR, kẻ tấn công thay đổi giá trị uid=1 thành uid=2 trên URL để __________.

35
New cards

Kiểm tra quyền hạn trên server

Insecure Direct ObjectReferences (IDOR/BOLA) - Một biện pháp khắc phục IDOR là thực hiện __________ để xác minh người dùng hiện tại chỉ được truy cập tài nguyên của chính họ.

36
New cards

sử dụng mã UUID ngẫu nhiên

Insecure Direct ObjectReferences (IDOR/BOLA) - Để ngăn chặn việc kẻ tấn công đoán được ID tài nguyên, ứng dụng có thể __________ thay cho các ID tăng dần thông thường.

37
New cards

từng thuộc tính của đối tượng

Broken Object PropertyLevel Authorization (BOPLA) - BOPLA xảy ra khi API không thực thi đủ quyền kiểm soát trên __________, dẫn đến lộ dữ liệu hoặc thay đổi trái phép.

38
New cards

Mass Assignment

Broken Object PropertyLevel Authorization (BOPLA) - Việc API cho phép người dùng thay đổi các thuộc tính không được phép thông qua các tham số đầu vào được gọi là __________.

39
New cards

nâng quyền hoặc thay đổi số dư

Broken Object PropertyLevel Authorization (BOPLA) - Kẻ tấn công đính kèm thêm các trường như role: "admin" hoặc balance: 1000 vào yêu cầu để __________.

40
New cards

Allowlist

Broken Object PropertyLevel Authorization (BOPLA) - Để khắc phục BOPLA, lập trình viên nên sử dụng __________ để chỉ định rõ ràng các thuộc tính nào được phép cập nhật.

41
New cards

Hạn chế dữ liệu trả về

Broken Object PropertyLevel Authorization (BOPLA) - Ngoài việc kiểm soát đầu vào, API cần __________ để tránh vô tình tiết lộ thông tin nhạy cảm trong phản hồi (Response).

42
New cards

chặn cập nhật các thuộc tính nhạy cảm

Broken Object PropertyLevel Authorization (BOPLA) - Việc sử dụng danh sách cho phép (Allowlist) giúp __________ như role, isAdmin hoặc accountBalance.

43
New cards

CPU, RAM, số lượng request

Unrestricted Resource Consumption( API6) - xảy ra khi API không giới hạn các tài nguyên như __________, dẫn đến treo hệ thống.

44
New cards

DDoS hoặc cạn kiệt tài nguyên

Unrestricted Resource Consumption( API6) - Việc thiếu các biện pháp kiểm soát tài nguyên sẽ dẫn đến nguy cơ bị __________ máy chủ.

45
New cards

spam hàng loạt yêu cầu

Unrestricted Resource Consumption( API6) - Kẻ tấn công có thể sử dụng script để __________ đăng ký hoặc đăng nhập liên tục nhằm làm tê liệt hệ thống.

46
New cards

Rate Limiting

Unrestricted Resource Consumption( API6) - Biện pháp khắc phục phổ biến nhất là áp dụng __________, giúp giới hạn số lượng request mà một IP/User có thể gửi trong một phút.

47
New cards

giới hạn số lượng tài nguyên

Unrestricted Resource Consumption( API6) - Để tránh việc một tài khoản chiếm dụng quá nhiều bộ nhớ, hệ thống cần __________ được tạo cho mỗi user.

48
New cards

đăng ký tài khoản hoặc đăng nhập

Unrestricted Resource Consumption( API6) - Một kịch bản tấn công điển hình là spam liên tục vào các tính năng tiêu tốn tài nguyên như __________.

49
New cards
thực hiện các yêu cầu HTTP
SSRF là lỗ hổng mà hacker ép máy chủ __________ đến các URL tùy ý thay vì các yêu cầu hợp lệ.
50
New cards

dịch vụ nội bộ hoặc metadata

Server-Side Request Forgery(SSRF) - Hacker thường lợi dụng SSRF để truy cập các __________ của nhà cung cấp Cloud (như AWS) vốn bị chặn từ bên ngoài.

51
New cards

Server-Side Request Forgery(SSRF) - http://169.254.169.254

Trong kịch bản tấn công Cloud, kẻ tấn công thường sử dụng địa chỉ IP __________ để truy cập metadata của máy chủ.

52
New cards

tải ảnh từ link

Server-Side Request Forgery(SSRF) - SSRF thường xuất hiện ở các API có tính năng __________, nơi người dùng có thể yêu cầu máy chủ lấy dữ liệu từ một URL bất kỳ.

53
New cards

đánh cắp Access Key

Server-Side Request Forgery(SSRF) - Mục đích cuối cùng của việc ép máy chủ truy cập metadata thường là nhằm __________ và chiếm quyền điều khiển máy chủ.

54
New cards

Allowlist các tên miền tin cậy

Server-Side Request Forgery(SSRF) - Biện pháp khắc phục hàng đầu là tạo __________ để máy chủ chỉ được phép gửi yêu cầu đến các địa chỉ an toàn.

55
New cards

IP nội bộ và giao thức file:

Server-Side Request Forgery(SSRF) - Để bảo vệ hệ thống, lập trình viên cần cấu hình để chặn hoàn toàn truy cập đến các __________ từ phía server.

56
New cards

gắn cứng (hardcode)

Improper Credential Usage (M1) - Lỗ hổng M1 xảy ra khi lập trình viên __________ thông tin nhạy cảm như API Key, Password trực tiếp vào mã nguồn.

57
New cards

API Key, Password

Improper Credential Usage (M1) - Các thông tin nhạy cảm như __________ không bao giờ được phép để lộ trong mã nguồn ứng dụng.

58
New cards

JADX-GUI

Improper Credential Usage (M1) - Để tìm kiếm các thông tin nhạy cảm trong ứng dụng di động, hacker thường sử dụng công cụ __________ để dịch ngược mã nguồn.

59
New cards

dịch ngược file .apk

Improper Credential Usage (M1) - Kẻ tấn công có thể thực hiện __________ để tìm kiếm các biến bí mật được lưu trữ bên trong file thực thi của ứng dụng.

60
New cards

API_KEY, SECRET

Improper Credential Usage (M1) - Trong quá trình dịch ngược, hacker sẽ quét mã nguồn để tìm các từ khóa đặc trưng như __________.

61
New cards

Không lưu trực tiếp API Key trên App

Improper Credential Usage (M1) - Một biện pháp khắc phục cốt lõi là __________ mà phải chuyển việc quản lý khóa sang phía máy chủ.

62
New cards

kiến trúc BFF (Backend-For-Frontend)

Improper Credential Usage (M1) - Để bảo vệ các khóa nhạy cảm, ứng dụng nên sử dụng __________ để Backend thay mặt Frontend quản lý và gọi các API bên thứ ba.

63
New cards

văn bản thuần (Plaintext)

Insecure Data Storage (M9) - Lỗ hổng M9 xảy ra khi ứng dụng lưu trữ dữ liệu nhạy cảm (Token, mật khẩu) dưới dạng __________ thay vì mã hóa.

64
New cards

bộ nhớ trong của điện thoại

Insecure Data Storage (M9) - Nguy cơ mất an toàn dữ liệu nảy sinh khi các thông tin quan trọng được lưu trực tiếp vào __________ mà không có lớp bảo vệ.

65
New cards

ADB shell

Insecure Data Storage (M9) - Kẻ tấn công có thể truy cập trái phép vào bộ nhớ hệ thống của thiết bị thông qua công cụ __________ để tìm kiếm tệp tin.

66
New cards

shared_prefs

Insecure Data Storage (M9) - Trong kịch bản khai thác M9, hacker thường tìm đến thư mục __________ để đọc trộm các file XML chứa dữ liệu ứng dụng.

67
New cards

JWT Token

Insecure Data Storage (M9) - Việc để lộ __________ trong các file XML ở bộ nhớ máy có thể khiến nạn nhân bị chiếm quyền điều khiển phiên làm việc.

68
New cards

EncryptedSharedPreferences

Insecure Data Storage (M9) - Để tự động mã hóa dữ liệu trước khi lưu xuống bộ nhớ, lập trình viên cần sử dụng thư viện __________ thay vì các phương thức lưu trữ thông thường.

69
New cards

mã hóa dữ liệu

Insecure Data Storage (M9) - Biện pháp khắc phục quan trọng nhất của M9 là thực hiện __________ trước khi ghi bất kỳ thông tin nhạy cảm nào xuống bộ nhớ vật lý.

70
New cards
không mã hóa (HTTP)
Lỗ hổng M5 thường xảy ra khi ứng dụng truyền tải dữ liệu nhạy cảm qua mạng dưới dạng __________, khiến dữ liệu dễ bị đánh cắp.
71
New cards

triển khai SSL/TLS sai cách

Insecure Communication (M5) - Ngay cả khi dùng HTTPS, ứng dụng vẫn gặp lỗi M5 nếu __________ (ví dụ: chấp nhận mọi chứng chỉ giả mạo).

72
New cards

chứng chỉ giả mạo

Insecure Communication (M5) - Một ứng dụng thiếu an toàn sẽ vẫn kết nối bình thường dù server sử dụng __________, tạo điều kiện cho hacker tấn công.

73
New cards

OWASP ZAP

Insecure Communication (M5) - Hacker có thể sử dụng __________ làm Proxy để đánh chặn và xem nội dung các gói tin HTTPS đang được gửi đi từ App.

74
New cards

Man-in-the-Middle

Insecure Communication (M5) - Việc đánh chặn gói tin giữa thiết bị di động và Server để đọc trộm dữ liệu được gọi là tấn công __________ (tấn công xen giữa).

75
New cards

SSL Pinning (Ghim chứng chỉ)

Insecure Communication (M5) - Để ngăn chặn hoàn toàn các cuộc tấn công xen giữa, lập trình viên cần triển khai kỹ thuật __________.

76
New cards

Ghim chứng chỉ thật của Server

Insecure Communication (M5) - Kỹ thuật SSL Pinning hoạt động bằng cách __________ trực tiếp vào mã nguồn App, khiến App chỉ tin tưởng duy nhất Server đó.

77
New cards

xác thực và quản lý phiên

BROKEN AUTHENTICATION - Lỗ hổng này xảy ra khi các cơ chế __________ được triển khai không an toàn, cho phép chiếm quyền tài khoản.

78
New cards

giả mạo danh tính

BROKEN AUTHENTICATION -Việc triển khai xác thực yếu không chỉ làm mất tài khoản mà còn giúp kẻ tấn công __________ người dùng hợp lệ.

79
New cards

Brute-force

BROKEN AUTHENTICATION -Kẻ tấn công sử dụng công cụ để thực hiện tấn công __________, tức là thử hàng loạt mật khẩu từ một danh sách có sẵn.

80
New cards

không giới hạn số lần thử sai

BROKEN AUTHENTICATION -Cuộc tấn công dò mật khẩu tự động thường thành công do hệ thống __________ của người dùng.

81
New cards

khóa tài khoản

BROKEN AUTHENTICATION -Một biện pháp khắc phục quan trọng là giới hạn số lần đăng nhập và thực hiện __________ nếu vượt quá ngưỡng (ví dụ: 5 lần).

82
New cards

xác thực đa yếu tố (MFA/2FA)

BROKEN AUTHENTICATION -Ngoài mật khẩu phức tạp, việc áp dụng __________ là lớp phòng thủ cực kỳ hiệu quả để chống lại việc đánh cắp tài khoản.

83
New cards

HttpOnly và Secure

BROKEN AUTHENTICATION - Để quản lý phiên (Session) an toàn, các lập trình viên cần sử dụng các cờ bảo mật cho cookie như __________.

84
New cards

hủy session khi đăng xuất

BROKEN AUTHENTICATION - Một lỗ hổng quản lý phiên phổ biến là ứng dụng không thực hiện __________ , khiến phiên cũ vẫn có thể bị lợi dụng.

85
New cards
người dùng có đặc quyền thấp
Broken Function Level Authorization (BFLA): Xảy ra khi API không kiểm soát quyền truy cập đúng cách, dẫn đến việc __________ có thể thực hiện các chức năng của Admin.
86
New cards
xác thực đăng nhập
Broken Function Level Authorization (BFLA): Kịch bản tấn công thường xảy ra khi hệ thống chỉ __________ mà bỏ qua bước kiểm tra quyền hạn (Authorization).
87
New cards
endpoint quản trị
Broken Function Level Authorization (BFLA): Hacker có thể sử dụng token của tài khoản thường để gọi trực tiếp các __________ bị lộ hoặc dễ đoán.
88
New cards
RBAC
Broken Function Level Authorization (BFLA): Một cách khắc phục là kiểm tra quyền hạn ở API backend dựa trên vai trò, hay còn gọi là __________.
89
New cards
quyền cụ thể (PBAC)
Broken Function Level Authorization (BFLA): Ngoài kiểm tra theo vai trò, hệ thống có thể kiểm soát dựa trên __________ để đảm bảo tính chặt chẽ.
90
New cards
API Gateway
Broken Function Level Authorization (BFLA): Sử dụng __________ là giải pháp giúp kiểm soát quyền truy cập tập trung trước khi yêu cầu chạm đến các service nội bộ.
91
New cards
ẩn các endpoint nhạy cảm
Broken Function Level Authorization (BFLA): Một biện pháp phòng thủ bổ sung là __________ và thực hiện log lại các hành vi truy cập đáng ngờ.
92
New cards
kiểm tra quyền theo từng chức năng
Broken Function Level Authorization (BFLA): Để đảm bảo an toàn tối đa, lập trình viên cần thực hiện __________ thay vì chỉ kiểm tra ở cấp độ trang web/ứng dụng.
93
New cards
tần suất thực hiện các luồng nghiệp vụ
Unrestricted Access to Sensitive Business Flows - API6: Lỗ hổng xảy ra khi API không kiểm soát tốt quyền truy cập hoặc __________ quan trọng.
94
New cards
trục lợi
Unrestricted Access to Sensitive Business Flows - API6: Kẻ tấn công lợi dụng các quy trình như đổi điểm thưởng, hoàn tiền để __________ bất chính từ hệ thống.
95
New cards
Race Condition
Unrestricted Access to Sensitive Business Flows - API6: Kẻ tấn công có thể gửi nhiều yêu cầu đồng thời để khai thác lỗi __________, nhằm vượt qua bước kiểm tra số dư.
96
New cards
cơ sở dữ liệu
Unrestricted Access to Sensitive Business Flows - API6: Tấn công Race Condition giúp hacker nhận nhiều mã giảm giá hơn số điểm thực có trước khi __________ kịp cập nhật trạng thái.
97
New cards
Rate Limiting
Unrestricted Access to Sensitive Business Flows - API6: Một biện pháp khắc phục quan trọng để ngăn chặn spam yêu cầu vào các luồng nhạy cảm là áp dụng __________.
98
New cards
transaction hoặc locking
Unrestricted Access to Sensitive Business Flows - API6: Để xử lý đồng bộ và đảm bảo tính chính xác của dữ liệu khi có nhiều yêu cầu cùng lúc, cần sử dụng __________.
99
New cards
giám sát và phát hiện hành vi bất thường
Unrestricted Access to Sensitive Business Flows - API6: Bên cạnh việc ẩn các endpoint, hệ thống cần thực hiện __________ để kịp thời ngăn chặn các hành vi trục lợi.
100
New cards
kiểm tra số dư điểm
Unrestricted Access to Sensitive Business Flows - API6: Lỗ hổng thường xuất hiện khi API không __________ đúng cách hoặc không xử lý tốt việc trừ điểm ngay lập tức.

Explore top notes

note
Ap Human Georgaphy
Updated 1064d ago
0.0(0)
note
Summary: Arctic and Antartic
Updated 1225d ago
0.0(0)
note
Chp 15: Delivery
Updated 1183d ago
0.0(0)
note
Unit 4 - Chapter 16
Updated 916d ago
0.0(0)
note
Microbiomes
Updated 1336d ago
0.0(0)
note
IB PHYSICS Option D: Astrophysics
Updated 598d ago
0.0(0)
note
Ap Human Georgaphy
Updated 1064d ago
0.0(0)
note
Summary: Arctic and Antartic
Updated 1225d ago
0.0(0)
note
Chp 15: Delivery
Updated 1183d ago
0.0(0)
note
Unit 4 - Chapter 16
Updated 916d ago
0.0(0)
note
Microbiomes
Updated 1336d ago
0.0(0)
note
IB PHYSICS Option D: Astrophysics
Updated 598d ago
0.0(0)

Explore top flashcards

flashcards
HP - Muscle groups
28
Updated 782d ago
0.0(0)
flashcards
Cells and Cell Functions
32
Updated 1298d ago
0.0(0)
flashcards
Circulatory System
37
Updated 1059d ago
0.0(0)
flashcards
Geography 2
91
Updated 386d ago
0.0(0)
flashcards
EM E2: Infectious Disease
87
Updated 342d ago
0.0(0)
flashcards
Geo5 Final
132
Updated 1219d ago
0.0(0)
flashcards
HP - Muscle groups
28
Updated 782d ago
0.0(0)
flashcards
Cells and Cell Functions
32
Updated 1298d ago
0.0(0)
flashcards
Circulatory System
37
Updated 1059d ago
0.0(0)
flashcards
Geography 2
91
Updated 386d ago
0.0(0)
flashcards
EM E2: Infectious Disease
87
Updated 342d ago
0.0(0)
flashcards
Geo5 Final
132
Updated 1219d ago
0.0(0)