Mã PHP dễ bị tấn công GitHub

VulnerableApp-php là một Ứng dụng dễ bị tổn thương chứa các lỗ hổng dành riêng cho ngăn xếp công nghệ PHP. Nó là một phần của trang trại Ứng dụng dễ bị tổn thương do SasanLabs cung cấp. Ứng dụng dễ bị tổn thương này sử dụng các phương tiện do Owasp VulnerableApp-Facade cung cấp và nó chỉ phơi bày một loạt Api dễ bị tấn công bởi các cuộc tấn công khác nhau. Giao diện người dùng cho VulnerableApp-php được cung cấp bởi Owasp VulnerableApp-Facade

Cách chạy dự án

Vì VulnerableApp-php không cung cấp giao diện người dùng và dựa vào Owasp VulnerableApp-facade, do đó bạn cần khởi động nó bằng hướng dẫn.

Để xây dựng hình ảnh docker và sau đó sử dụng để kiểm tra hoạt động của ứng dụng

1. Build the docker image with command: docker buildx build --platform linux/amd64,linux/arm64,linux/ppc64le -t sasanlabs/owasp-vulnerableapp-php:latest . --push
2. Navigate to VulnerableApp-Facade and run it as described in VulnerableApp-Facade#simple-start

Tiếp xúc

Vui lòng nêu vấn đề về github để nâng cao/các vấn đề trong VulnerableApp-jsp hoặc gửi email tới karan. sasan@owasp. org liên quan đến các truy vấn, chúng tôi sẽ cố gắng giải quyết các vấn đề càng sớm càng tốt

Đây là một ứng dụng web có lỗ hổng cố ý. Có 3 bước để hoàn thành thử thách và nhiều cách để hoàn thành từng bước

  1. Bạn phải có quyền truy cập vào tài khoản của người dùng 1 hoặc người dùng 2 [có 2 cách]
  2. Tiếp theo, có quyền truy cập vào tài khoản quản trị viên [1 cách có thể]
  3. Cuối cùng, tìm cách thực hiện các lệnh tùy ý từ xa [4 cách có thể]

Tôi khuyên bạn nên thử và tìm mọi cách để tận dụng tối đa TUDO. Thưởng. Tạo một tập lệnh python kết hợp cả 3 bước lại với nhau để có một POC hoàn chỉnh

Ghi chú. Cuộc tấn công cho bước 2 có thể mất tới một phút để hoàn thành, vì các hành động của quản trị viên được mô phỏng bằng một công việc định kỳ mỗi phút trên máy mục tiêu

Cam kết này không thuộc về bất kỳ nhánh nào trên kho lưu trữ này và có thể thuộc về một nhánh bên ngoài kho lưu trữ

Bạn không thể thực hiện hành động đó vào lúc này

Bạn đã đăng nhập bằng tab hoặc cửa sổ khác. Tải lại để làm mới phiên của bạn. Bạn đã đăng xuất trong một tab hoặc cửa sổ khác. Tải lại để làm mới phiên của bạn

Một thẻ đã tồn tại với tên chi nhánh được cung cấp. Nhiều lệnh Git chấp nhận cả tên thẻ và tên nhánh, vì vậy việc tạo nhánh này có thể gây ra hành vi không mong muốn. Bạn có chắc chắn muốn tạo nhánh này không?

Cam kết này không thuộc về bất kỳ nhánh nào trên kho lưu trữ này và có thể thuộc về một nhánh bên ngoài kho lưu trữ

Bạn không thể thực hiện hành động đó vào lúc này

Bạn đã đăng nhập bằng tab hoặc cửa sổ khác. Tải lại để làm mới phiên của bạn. Bạn đã đăng xuất trong một tab hoặc cửa sổ khác. Tải lại để làm mới phiên của bạn

OWASP WebGoatPHP là cổng của OWASP WebGoat sang cơ sở dữ liệu PHP và MySQL/SQLite. Mục tiêu là tạo ra một môi trường giảng dạy tương tác về bảo mật ứng dụng web bằng cách cung cấp các bài học dưới dạng thử thách. Trong mỗi thử thách, người dùng phải khai thác lỗ hổng để thể hiện sự hiểu biết của mình

WebGoatPHP hỗ trợ bốn chế độ khác nhau. e chế độ đơn, chế độ hội thảo, chế độ cuộc thi và chế độ mã hóa an toàn

Đề xuất dự án

Đề xuất của dự án có thể được tìm thấy ở đây

Ảnh chụp màn hình

Chế độ một người dùng

  1. Danh sách tất cả các bài học và danh mục của chúng
  2. Để làm mới danh sách các bài học và danh mục [nếu một bài học/danh mục mới được thêm vào]
  3. Nội dung bài học
  4. Đặt lại bài học về trạng thái ban đầu
  5. Nhận gợi ý ngẫu nhiên của bài học
  6. Điều này sẽ hiển thị các tham số GET
  7. Thao tác này sẽ hiển thị COOKIES
  8. Nhận kế hoạch của bài học
  9. Điều này sẽ hiển thị các giải pháp của bài học

Chế độ hội thảo

Cài đặt

  • Sao chép repo git. git clone //github.com/shivamdixit/WebGoatPHP.git
  • Di chuyển nó vào thư mục gốc của tài liệu của bạn
  • Nhập cơ sở dữ liệu từ SQL/webgoat. php
  • Nhập chi tiết kết nối cơ sở dữ liệu của bạn trong app/config/application. php [Dòng 52]
  • Mở ứng dụng từ localhost
  • tên người dùng mặc định. mật khẩu cho chế độ một người dùng. guest:guest

Đóng góp

  • Ngã ba repo
  • Tạo chi nhánh của bạn
  • Cam kết thay đổi của bạn
  • Tạo yêu cầu kéo

Thêm một bài học/thử thách

Thêm một thử thách mới rất đơn giản. Tất cả các thử thách phải có trong thư mục 'thử thách' và phải mở rộng lớp 'BaseLesson'. Một mẫu được cung cấp trong template/SampleLesson. Tên của thư mục phải giống với tên của lớp trong chỉ mục. php. Bất kỳ nội dung tĩnh nào như hình ảnh, tập lệnh, v.v. phải được đặt bên trong thư mục con 'tĩnh' trong thư mục bài học

Có một số phương thức mà bài học của bạn cần triển khai như start[], getTitle[], getCategory[], reset[], v.v.

Khi bạn đã thêm bài học, hãy nhấp vào nút "Làm mới danh sách" ở đầu ứng dụng để hiển thị bài học của bạn trong danh sách

người đóng góp

  • Abbas Naderi
  • Johanna Curiel
  • Shivam Dixit
  • Prasham Gupta [Biểu tượng]

Thêm thông tin

https. //www. con ong vò vẽ. tổ chức/chỉ mục. php/WebGoatPHP

Tiếp xúc

Nếu bạn có bất kỳ câu hỏi nào, hãy tham gia thảo luận trên danh sách gửi thư của chúng tôi hoặc viết email tới. shivam. dixit[at]owasp. tổ chức

Chủ Đề