
OWASP ServerlessGoat: a serverless application demonstrating common serverless security flaws
Thank you for using OWASP ServerlessGoat! This serverless application demonstrates common serverless security flaws as described in the Serverless Security Top 10 Weaknesses guide https://github.com/puresec/sas-top-10.
ServerlessGoat was created for the following educational purposes:
You can find more information about WebGoat at: https://www.owasp.org/index.php/OWASP_Serverless_Goat
WARNING 1: This application contains vulnerabilities. Use it only for training purposes.
WARNING 2: This program is for educational purposes only. Do not attempt these techniques without authorization from application owners.
NOTE: The application was developed in such way that should not put your AWS account at risk. The vulnerabilities that were introduced are contained within the boundaries of this specific application. Nevertheless, users are not encouraged to deploy the application in production environments.
ServerlessGoat is a simple AWS Lambda application, which serves as a MS-Word .doc file to plain text converter service. It receives a URL to a .doc file as input, and will return the text inside the document back to the API caller. The application is packaged and published for deployment through the AWS Serverless Application Repository. Steps for deployment:
The full walkthrough of the lessons (under development) can be found in the LESSONS.md file
The following security issues exist in the application:
document_url parameter value containing Linux OS commands. E.g. ; ls -LFdocument_url is not defined as a 'required' parameter in API gateway and can be ommittednode-uuidhttps://i92uw6vw73.execute-api.us-east-1.amazonaws.com/Prod/api/convert?document_url=https%3A%2F%2Fi92uw6vw73.execute-api.us-east-1.amazonaws.com%2FProd%2Fapi%2Fconvert%3Fdocument_url...
ServerlessGoat was initially created and contributed to OWASP by Yuri Shapira & Ory Segal, PureSec.