Trang web ctf

Nội dung khóa học phần tắt. Phần học này giới thiệu các vấn đề an ninh thông tin trên môi trường mạng;

Chào mọi người, trong quá trình làm pentest thì hầu như ai cũng có những danh sách, đề mục mà mình sẽ theo đó để kiểm tra theo checklist pentest đó. Nếu bạn là một người mới bắt đầu, thì bạn có thể làm theo danh sách này của mình cho đến khi bạn tự xây dựng cho mình một danh sách của riêng bạn. Những mục đầu tiên ở đây được mình trích xuất từ ​​hướng dẫn kiểm tra của OWASP vì vậy nên mình tin rằng đây là một tài liệu đáng đọc để bạn có thể bắt đầu

ROBOTS. TXT TRONG DANH SÁCH KIỂM TRA PENTEST

Please read file robots. txt. Cá nhân mình thì chưa tìm được gì hay ho ở file này bao giờ. Tuy nhiên, bạn cũng không nên bỏ qua nó

OWASP WSTG-INFO-03

ĐẦU MÁY CHỦ

Để ý kỹ những gì được trả về ở Header của phản hồi. Những tiêu đề quan trọng như Máy chủ, X-Powered-by hay X-Generator có thể cho bạn biết phụ trợ được viết bằng gì, sử dụng loại proxy ngược nào. Bạn có thể sử dụng Burp Suite để xem những thông tin đã biết. Lệnh wget rút gọn này sẽ giúp bạn lưu lại thông tin của tiêu đề vào chỉ mục tệp. html

wget --save-headers http. //www. Địa điểm. com/

Trang web ctf

OWASP WSTG-INFO-08

BÁNH QUY

  • Một số cookie có thể chứa tên người dùng và/hoặc mật khẩu trong một định dạng được mã hóa. Để giải mã đơn giản khi bạn không biết, bạn có thể sử dụng "Gửi đến Bộ giải mã" của Burp Suite và nhấn "Giải mã thông minh". Best Practice thì cookie không được chứa bất kỳ dữ liệu nhạy cảm nào (Đúng rồi, tên người dùng cũng là dữ liệu nhạy cảm nhé. )
  • Nếu bạn nhìn thấy dòng BIG-IP trong cookie, máy chủ có thể đang ở phía sau bộ cân bằng tải
  • Hãy chắc chắn rằng cookie được cài đặt chỉ có http và an toàn

OWASP WSTG-SESS-02

Trang web ctf

HSTS

Kiểm tra xem máy chủ có cài đặt Strict-Transport-Security (HSTS). Tiêu đề này giúp đảm bảo rằng máy chủ luôn sử dụng https để có thể tránh bị một số kiểu tấn công như dải ssl

OWASP WSTG-CONF-07

Trang web ctf

TIÊU ĐỀ BẢO MẬT

Nếu ứng dụng web được khai thác trên internet, bạn có thể sử dụng SecurityHeaders. com để xem toàn bộ các tiêu đề bảo mật. Nếu không thì bạn cũng có thể xem thủ công bằng Công cụ dành cho nhà phát triển

  • X-Frame-Tùy chọn. CÙNG XUẤT XỨ
  • Bảo vệ X-XSS. 1;
  • X-Content-Type-Options. đánh hơi

Trang web ctf

MÃ SỐ SSL

Nếu ứng dụng web sử dụng HTTPS, hãy kiểm tra bảo mật cho TLS

  • mật mã yếu. Run command after, to retend any the ciphers any rate of A

nmap --script ssl-enum-ciphers -p 443 www. thí dụ. com

Trang web ctf

OWASP WSTG-CRYP-01

Trang web ctf

KIỂM TRA CÁC PHƯƠNG PHÁP HTTP

Để kiểm tra xem trang web đang hỗ trợ những phương thức nào, bạn có thể chạy lệnh sau. 99% thì mọi thứ đều ổn với các phương thức GET và POST. Không giới hạn sử dụng các phương thức khác. Một số phương thức được cho là nguy hiểm ví dụ như TRACE, PUT và DELETE

nmap -p 443 --script http-methods www. thí dụ. com

Trang web ctf

OWASP WSTG-CONF-06

KIỂM TRA XEM THỂ HIỆN BYPASS ACCESS CONTROL BẰNG METHOD HEAD HAY KHÔNG

Tìm kiếm một trang mà khi bạn truy cập thì bị chuyển hướng 302. Lúc này, sử dụng phương thức HEAD thay thế cho GET. Nếu bạn nhận được phản hồi là 200, thì có nghĩa là kiểm soát truy cập có gì đó không đúng lắm

OWASP WSTG-CONF-06

KIỂM TRA CHÍNH SÁCH MIỀN CHÉO

Kiểm tra chính sách cross domain bằng cách thêm crossdomain.xml vào cuối page. Nếu bạn nhận được một file XML có đoạn , đây cũng là một dấu hiệu của việc có gì đó đang toang. Bạn có thể xem thêm OWASP WSTG-CONF-08.

OWASP WSTG-CONF-08

Trang web ctf

BRUTE FORCE TÊN NGƯỜI DÙNG

  • Ban đầu, điền một (tên người dùng đúng + mật khẩu sai), để gợi ý kết quả trả về và thông báo lỗi nếu có. Tiếp theo đó điền một (tên người dùng sai + mật khẩu sai). Nếu bạn nhận được một thông báo lỗi khác với thông báo lỗi ở kết quả trả về vào lúc tức giận, bạn có thể brute-force để biết danh sách tên người dùng trong hệ thống. Ví dụ mình đăng ký trang web etsy. com bằng email desidero44@yahoo. com sau đó thử đăng nhập bằng mật khẩu sai,tiếp theo đó đăng nhập bằng email desidero55@yahoo. com chưa từng được đăng ký

Trang web ctf

"Thông báo mật khẩu sai" tức là tên người dùng đã đúng

Trang web ctf

"Thông báo email sai" Tức là email không tồn tại

  • Nếu có một trang có thể truy cập bằng trang tên người dùng. com/users/your_user_name thì bạn có thể kiểm tra bằng cách điền một tên người dùng khác. Bạn sẽ nhận được thông báo lỗi 403 bị cấm đối với người dùng hợp lệ và 404 nếu người dùng đó không tồn tại
  • Kiểm tra chức năng khôi phục mật khẩu cũng có thể có các kết quả khác nhau khi tên người dùng tồn tại hoặc không
  • Một cách khác nữa là tấn công thời gian. Phương thức này sẽ đo thời gian phản hồi của máy chủ. Nếu tên người dùng tồn tại thì máy chủ sẽ phản hồi lâu hơn

OWASP WSTG-IDNT-04

KIỂM TRA CHỨC NĂNG ĐĂNG KÝ TÀI KHOẢN

Bạn hãy kiểm tra và trả lời các câu hỏi sau. Because each website one other nhau nên ở đây không có câu trả lời đúng, sai. Bạn cần kiểm tra thật kỹ và đánh giá theo thứ tự xem thế nào là đáng kể, thế nào thì có thể bỏ qua

  1. Có phải ai cũng có thể đăng ký không?
  2. Chức năng đăng ký cần được phê duyệt bởi ai đó không hay chỉ cần đăng ký là được cấp tài khoản?
  3. Một người có thể đăng ký nhiều lần hay không?
  4. Người dùng có thể đăng ký với quyền khác không?
  5. Điều gì là yếu tố quyết định việc đăng ký thành công?
  6. Thông tin người dùng đã được kiểm tra chưa?
  7. Thông tin người dùng có dễ làm giả không?
  8. Thông tin người dùng có thể bị thay đổi trong quá trình gửi đi không?
  9. Một quản trị viên có thể thay đổi quản trị viên khác không hay chỉ tác động tới người dùng?
  10. Một quản trị viên có thể làm nhiều hơn những gì mà họ được phép không?
  11. Admin có thể tự hủy quyền của họ không?
  12. Khi một người dùng bị xóa thì những gì thuộc về họ sẽ được xử lý như thế nào?

OWASP WSTG-IDNT-02, OWASP WSTG-IDNT-03

Kiểm tra xác thực tra cứu

  • Tên đăng nhập và mật khẩu phải được truyền qua các kênh được mã hóa thành HTTPS. OWASP WSTG-ATHN-01

  • Tên đăng nhập và mật khẩu phải được gửi qua phương thức POST. Nếu sử dụng phương thức GET thì có thể được lưu lại vào bộ nhớ đệm do trình duyệt hoặc bị ghi vào nhật ký

  • Nếu ứng dụng web có phần đăng nhập, bạn có thể kiểm tra các tài khoản, mật khẩu mặc định

Trang web ctf

Sử dụng Burp để Brute Force một trang đăng nhập

OWASP WSTG-ATHN-02

KIỂM TRA MỘT SỐ CƠ CHẾ KHÓA

  • Sau khi tài khoản bị thử mật khẩu nhiều lần không đúng thì tài khoản đó nên được tự động khóa. Tuy nhiên, cần phải lưu ý vì nếu số lượng thử nghiệm quá ít, người dùng có thể thấy khó chịu vì đã khóa khi họ buộc phải quên mật khẩu. Nhưng nếu nó quá lớn thì lại có lợi cho hacker. Với mình thì 5 lần thử là hợp lý
  • Sau khi tài khoản của bạn bị khóa, hãy thử đăng nhập vào một máy tính khác và kiểm tra xem nó có bị khóa không
  • Nếu quá trình khôi phục mật khẩu có gửi email cho bạn thì hãy thử xem nguồn của nó xem có thông tin nào lạ không. Những mã thông báo đặt lại này phải làm ngẫu nhiên và không thể đoán được. Nếu chỉ là id người dùng hay bất cứ thứ gì dễ đoán thì có vẻ không an toàn lắm
  • Đường dẫn khôi phục mật khẩu thì nên có giới hạn tối đa một ngày sau đó sẽ hết hạn. Trong trường hợp bạn gửi yêu cầu nhiều lần thì chỉ lần cuối cùng mới có hiệu lực. Các đường dẫn trước đó nên được vô hiệu hóa bất kể là đã được sử dụng hay chưa

OWASP WSTG-ATHN-03

OWASP WSTG-ATHN-09

KIỂM TRA CHÍNH SÁCH ĐẶT VÀ SỬ DỤNG MẬT KHẨU

  • Ứng dụng nên đảm bảo rằng không cho phép người dùng đặt mật khẩu như asdasd hay 123456
  • Nếu ứng dụng có yêu cầu thay đổi mật khẩu sau một khoảng thời gian nhất định (ví dụ như ứng dụng Ngân hàng) thì người dùng không nên sử dụng 3 mật khẩu gần nhất. Bạn có thể kiểm tra phần này bằng cách thay đổi mật khẩu 3 lần, ở lần thứ 4 thì hãy sử dụng lại mật khẩu cũ của bạn
  • Mật khẩu không nên bao gồm tên đăng nhập

OWASP WSTG-ATHN-07

KIỂM TRÀ CHỨC NĂNG ĐĂNG XUẤT

  • Sau khi đăng xuất, hãy thử nhấn nút "quay lại" xem có gì lạ không. Nếu bạn nhìn thấy trang trước khi bạn xuất bản, hãy thử bấm vào một liên kết bất kỳ, nếu bạn có thể xem liên kết đó mà không cần xác thực thì có vẻ cơ chế xác thực đang toang, tuy nhiên cần cẩn thận xác định xem đó . If is cached, that not must be a error security
  • Sau khi đăng xuất, hãy thử gọi tới một api, truy cập một trang bằng mã thông báo/cookie cũ. Nếu vẫn truy cập được thì chức năng đăng xuất chỉ đơn giản là xóa cookie và mã thông báo chứ không bắt buộc nó hết hạn

OWASP WSTG-ATHN-06

OWASP WSTG-ATHN-08

KIỂM TRA CHỨC NĂNG KHÔI PHỤC MẬT KHẨU

  • Hãy chắc chắn rằng một người dùng chỉ được phép khôi phục lại mật khẩu của họ
  • Trong quá trình khôi phục mật khẩu, hãy thử chụp lại yêu cầu và kiểm tra xem trong yêu cầu có gửi lên tên người dùng, tên người dùng hay thứ gì đó định danh người dùng không, nếu có thì bạn hãy thử đổi thông tin định danh của người dùng khác. Trong một số trường hợp bạn có thể khôi phục lại mật khẩu của người khác theo cách này

OWASP WSTG-ATHN-09

DƯỚI KIỂM TRÀ LỖI

Nếu bạn tìm thấy một url hoặc một đoạn cookie chứa tên, đường dẫn đến một tệp bất kỳ trong hệ thống, hãy thử đổi tên tệp sang tên một tệp khác xem có đọc được không. Một số url đáng để thử như

http. //thí dụ. com/getUserProfile. jsp?item=ikki. html http. //thí dụ. com/chỉ mục. php?file=content http. //thí dụ. com/chính. cgi?home=index. htm

TẢI TỆP TỆP

  • Hãy chắc chắn rằng ứng dụng web chỉ tải lên những loại tệp được cho phép
  • Chức năng upload file nên giới hạn dung lượng file có thể tải lên
  • Tệp tải lên API không nên bị gọi đi gọi lại nhiều lần, nên có mã thông báo để kiểm tra, tránh trường hợp dẫn đến DDOS thông qua chức năng tải tệp lên
  • Kiểm tra xem bạn có thể chèn mã HTML vào XSS không được
  • Xem thêm OWAS WSTG-INPL-02

MÃ NGẪU NHIÊN

  • Kiểm tra xem web có lưu câu trả lời của captcha ở máy khách hay không
  • Kiểm tra xem captcha có thay đổi sau mỗi lần đăng nhập thất bại không
  • Kiểm tra xem captcha được sinh ra ở máy chủ hay máy khách, captcha an toàn là captcha được sinh ra và kiểm tra hoàn toàn ở phía bên máy chủ

SQL INJECTION

Thêm một đơn nhấp nháy vào một số vị trí id trong url, kiểm tra xem bạn có nhìn thấy lỗi nào không, nếu có thì hãy sử dụng sqlmap để kiểm tra kỹ năng hơn

Đọc thêm. Hướng dẫn sử dụng SQLMap

Chúc bạn thành công. Bài viết gốc. https. // vừa hackit. net/checklist-nhung-dieu-can-lam-khi-pentest-ung-dung-web-pentest-checklist. hav/ Bài viết tham khảo tại. https. //trung bình. com/@muratkaraoz/web-app-pentest-cheat-sheet-c17394af773