Giter VIP home page Giter VIP logo

moeinfatehi / file_upload_vulnerability_scenarios Goto Github PK

View Code? Open in Web Editor NEW
35.0 1.0 4.0 515 KB

This repository is a dockerized PHP application containing some file upload vulnerability challenges (scenarios).

Home Page: https://hub.docker.com/repository/docker/moeinfatehi/file_upload_vulnerabilities

Dockerfile 0.22% PHP 88.93% CSS 3.81% Hack 0.80% JavaScript 6.25%
application-security owasp owasp-top-10 owasp-top-ten appsecurity exploitation file-upload malicious-files penetration-testing php-shell

file_upload_vulnerability_scenarios's Introduction

Docker Image Size (latest by date) Docker Pulls

File Upload Vulnerability Scenarios (Challenges)

This repository is a dockerized PHP application containing some file upload vulnerability challenges (scenarios).

OWASP References:

  • Classification: Web Application Security Testing > 10-Business Logic Testing
  • WSTG: WSTG-BUSL-09

Bypass Techniques

The ideas behind challenges are:

  • Bypassing client-side file extension validations.
  • Bypassing client-side file size validations.
  • Injecting PHP code into a gif file
  • Run any extensions with the PHP engine (using .htaccess file)
  • Black-list extension validation bypass
  • White-list extension validation bypass
  • Double extension bypass
  • Server-side file size validation bypass
  • Server-side file extension validation bypass
  • Content-type validation bypass of file upload
  • Finding renamed file names and locations after upload process
  • Removing force download (using "Content-Disposition" header) to run the php file by use of htaccess

Quick Start Using Docker

Using docker hub (Quickest):

  1. To access the challenges, you need docker installed.
  2. Run this command to pull and run the image from docker hub:
    sudo docker run -d -p 9001:80 moeinfatehi/file_upload_vulnerabilities
  3. Access the challenges with this URL: http://localhost:9001

Using docker-compose:

  1. To access the challenges, you need docker and docker-compose installed.
  2. Clone the repository
    git clone https://github.com/moeinfatehi/file_upload_vulnerability_scenarios.git
  3. Open the main directory of the project (where docker-compose.yml file exists) and run: docker-compose up
  4. Access the challenges with this URL: http://localhost:9001

Attention

  • Do not host these challenges without docker on your main operating system and web server, because any of these challenges are critically dangerous ones, if any hacker can access these challenges on your host webserver, your main OS can be attacked in different ways.
  • Using docker-compose which is described above will not have these type of impacts.

Disclaimer

This project is for educational purposes ONLY. The usual disclaimer applies, especially the fact that I'm not liable for any damages caused by the direct or indirect use of the information or functionality provided by these programs. The author or any Internet provider bears NO responsibility for content or misuse of these programs or any derivatives thereof. By using these projects you accept the fact that any damage (data loss, system crash, system compromise, etc.) caused by the use of this program is not my responsibility.

Hack And Have Fun!

If you have any further questions, please don't hesitate to contact me via my twitter account.

file_upload_vulnerability_scenarios's People

Contributors

moeinfatehi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

file_upload_vulnerability_scenarios's Issues

Upload35

hi,我做到upload35关的时候卡住了,我坚信它是一个md5加密,但是我找不到它的路径and破解方法,希望能给一点提示 :)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.