diff --git a/README.md b/README.md index 054be83ca..36103af4f 100644 --- a/README.md +++ b/README.md @@ -67,7 +67,7 @@ Disclaimer: You are about to install vulnerable mobile apps in your machine! ## Contributing -We encourage you to contribute to SecDevLabs! Please check out the [Contributing to SecDevLabs](/docs/CONTRIBUTING.md) section for guidelines on how to proceed! 🎉 +We encourage you to contribute to SecDevLabs! Please check out the [Contributing to SecDevLabs](docs/CONTRIBUTING.md) section for guidelines on how to proceed! 🎉 ## License diff --git a/owasp-top10-2021-apps/a1/tictactoe/deployments/docker-compose.yml b/owasp-top10-2021-apps/a1/tictactoe/deployments/docker-compose.yml index eed83d92d..14070dd22 100644 --- a/owasp-top10-2021-apps/a1/tictactoe/deployments/docker-compose.yml +++ b/owasp-top10-2021-apps/a1/tictactoe/deployments/docker-compose.yml @@ -3,14 +3,14 @@ version: '3' services: api: - container_name: a5_tictactoe + container_name: a1_tictactoe build: context: ../ dockerfile: deployments/Dockerfile ports: - "10005:10005" networks: - - a5net + - a1net env_file: - .dockers.env depends_on: @@ -29,10 +29,10 @@ services: env_file: - .dockers.env networks: - - a5net + - a1net networks: - a5net: + a1net: volumes: db_data: diff --git a/owasp-top10-2021-apps/a3/comment-killer/deployments/docker-compose.yml b/owasp-top10-2021-apps/a3/comment-killer/deployments/docker-compose.yml index f36d78218..b3361f385 100644 --- a/owasp-top10-2021-apps/a3/comment-killer/deployments/docker-compose.yml +++ b/owasp-top10-2021-apps/a3/comment-killer/deployments/docker-compose.yml @@ -1,11 +1,11 @@ version: "3.7" networks: - a7_net: + a3_net: services: app: - container_name: app-a7 + container_name: app-a3 build: context: ../ dockerfile: deployments/app.Dockerfile @@ -13,10 +13,10 @@ services: - "10007:3000" stdin_open: true networks: - - a7_net + - a3_net api: - container_name: api-a7 + container_name: api-a3 build: context: ../ dockerfile: deployments/api.Dockerfile @@ -24,4 +24,4 @@ services: - "10017:10017" command: "go run main.go" networks: - - a7_net + - a3_net diff --git a/owasp-top10-2021-apps/a3/copy-n-paste/README.md b/owasp-top10-2021-apps/a3/copy-n-paste/README.md index 6ef40a6bb..ae12c86b7 100644 --- a/owasp-top10-2021-apps/a3/copy-n-paste/README.md +++ b/owasp-top10-2021-apps/a3/copy-n-paste/README.md @@ -63,7 +63,7 @@ Now that you know the purpose of this app, what could go wrong? The following se #### Lack of input validation allows injection of SQL queries -After reviewing `NewUser()` , `CheckIfUserExists()` and `AuthenticateUser()` from [`db.go`](<(https://github.com/globocom/secDevLabs/blob/master/owasp-top10-2021-apps/a3/copy-n-paste/app/util/db.go#)>) file, it was possible to see that some input from users are concatenated with SQL queries, as shown in the following code snippets: +After reviewing `NewUser()` , `CheckIfUserExists()` and `AuthenticateUser()` from [`db.go`](https://github.com/globocom/secDevLabs/blob/master/owasp-top10-2021-apps/a3/copy-n-paste/app/util/db.go) file, it was possible to see that some input from users are concatenated with SQL queries, as shown in the following code snippets: ```go query := fmt.Sprint("select * from Users where username = '" + user + "'") diff --git a/owasp-top10-2021-apps/a3/copy-n-paste/deployments/a1inj.Dockerfile b/owasp-top10-2021-apps/a3/copy-n-paste/deployments/a3inj.Dockerfile similarity index 100% rename from owasp-top10-2021-apps/a3/copy-n-paste/deployments/a1inj.Dockerfile rename to owasp-top10-2021-apps/a3/copy-n-paste/deployments/a3inj.Dockerfile diff --git a/owasp-top10-2021-apps/a3/copy-n-paste/deployments/docker-compose.yml b/owasp-top10-2021-apps/a3/copy-n-paste/deployments/docker-compose.yml index fad1a8442..c772448de 100644 --- a/owasp-top10-2021-apps/a3/copy-n-paste/deployments/docker-compose.yml +++ b/owasp-top10-2021-apps/a3/copy-n-paste/deployments/docker-compose.yml @@ -1,20 +1,20 @@ version: '3.4' services: api: - container_name: a1_api + container_name: a3_api build: context: ../ - dockerfile: deployments/a1inj.Dockerfile + dockerfile: deployments/a3inj.Dockerfile ports: - "10001:10001" networks: - - a1net + - a3net command: "go run server.go" environment: MYSQL_ROOT_PASSWORD: root MYSQL_USER: user MYSQL_PASSWORD: pass - MYSQL_DATABASE: a1db + MYSQL_DATABASE: a3db depends_on: - mysqldb external_links: @@ -32,12 +32,12 @@ services: MYSQL_ROOT_PASSWORD: root MYSQL_USER: user MYSQL_PASSWORD: pass - MYSQL_DATABASE: a1db + MYSQL_DATABASE: a3db networks: - - a1net + - a3net networks: - a1net: + a3net: volumes: db_data: \ No newline at end of file diff --git a/owasp-top10-2021-apps/a3/gossip-world/deployments/docker-compose.yml b/owasp-top10-2021-apps/a3/gossip-world/deployments/docker-compose.yml index 2fb7adda3..597f2292c 100644 --- a/owasp-top10-2021-apps/a3/gossip-world/deployments/docker-compose.yml +++ b/owasp-top10-2021-apps/a3/gossip-world/deployments/docker-compose.yml @@ -1,7 +1,7 @@ version: "3.4" services: app: - container_name: app-a7 + container_name: app-a3 build: context: ../ dockerfile: deployments/Dockerfile @@ -11,35 +11,36 @@ services: - "../app/:/app" environment: SECRET_KEY: secretkey - MYSQL_ENDPOINT: mysqldb-a7 + MYSQL_ENDPOINT: mysqldb-a3 MYSQL_PASSWORD: pass MYSQL_USER: user - MYSQL_DB: a7db + MYSQL_DB: a3db networks: - - a7_net + - a3_net depends_on: - - mysqldb-a7 + - mysqldb-a3 external_links: - - mysqldb-a7:mysqldb-a7 + - mysqldb-a3:mysqldb-a3 restart: always - mysqldb-a7: - container_name: mysqldb-a7 + mysqldb-a3: + container_name: mysqldb-a3 image: mariadb:10.6.3 ports: - "3307:3307" environment: MYSQL_ROOT_PASSWORD: root - MYSQL_DATABASE: a7db + MYSQL_DATABASE: a3db MYSQL_USER: user MYSQL_PASSWORD: pass networks: - - a7_net + - a3_net volumes: - - storage-a7-database:/var/lib/mysql + - storage-a3-database:/var/lib/mysql volumes: - storage-a7-database: + storage-a3-database: networks: - a7_net: \ No newline at end of file + a3_net: + diff --git a/owasp-top10-2021-apps/a3/mongection/deployments/docker-compose.yml b/owasp-top10-2021-apps/a3/mongection/deployments/docker-compose.yml index cfdca532b..94e0d4f36 100644 --- a/owasp-top10-2021-apps/a3/mongection/deployments/docker-compose.yml +++ b/owasp-top10-2021-apps/a3/mongection/deployments/docker-compose.yml @@ -3,7 +3,7 @@ version: '3' services: server: - container_name: a1_mongection + container_name: a3_mongection build: context: ../ dockerfile: deployments/mongection.Dockerfile @@ -13,7 +13,7 @@ services: ports: - "10001:10001" networks: - - a1net + - a3net depends_on: - mongo external_links: @@ -28,7 +28,7 @@ services: ports: - "27017:27017" networks: - - a1net + - a3net networks: - a1net: \ No newline at end of file + a3net: \ No newline at end of file diff --git a/owasp-top10-2021-apps/a3/sstype/deployments/docker-compose.yml b/owasp-top10-2021-apps/a3/sstype/deployments/docker-compose.yml index 8c361eb6b..21db9c0b4 100644 --- a/owasp-top10-2021-apps/a3/sstype/deployments/docker-compose.yml +++ b/owasp-top10-2021-apps/a3/sstype/deployments/docker-compose.yml @@ -3,15 +3,15 @@ version: '3' services: server: - container_name: a1_sstype + container_name: a3_sstype build: context: ../ dockerfile: deployments/sstype.Dockerfile ports: - "10001:10001" networks: - - a1net + - a3net restart: always networks: - a1net: \ No newline at end of file + a3net: \ No newline at end of file diff --git a/owasp-top10-2021-apps/a3/streaming/README.md b/owasp-top10-2021-apps/a3/streaming/README.md index a321c47e3..10fbd8b89 100644 --- a/owasp-top10-2021-apps/a3/streaming/README.md +++ b/owasp-top10-2021-apps/a3/streaming/README.md @@ -45,7 +45,7 @@ Now that you know the purpose of this app, what could go wrong? The following se #### Non-sanitization of user input allows for cross-site scripting -After reviewing `buildLiveHTMLMessage(message)` from [`play.component.ts`](<(https://github.com/globocom/secDevLabs/blob/master/owasp-top10-2021-apps/a3/streaming/app/frontend/src/app/lives/play/play.component.ts#)>) file, it was possible to identify that loaded messages and username are not sanitized and can be executed on a web browser (as shown in the message bellow). +After reviewing `buildLiveHTMLMessage(message)` from [`play.component.ts`](https://github.com/globocom/secDevLabs/blob/master/owasp-top10-2021-apps/a3/streaming/app/frontend/src/app/lives/play/play.component.ts) file, it was possible to identify that loaded messages and username are not sanitized and can be executed on a web browser (as shown in the message bellow).
diff --git a/owasp-top10-2021-apps/a5/misconfig-wordpress/deployments/docker-compose.yml b/owasp-top10-2021-apps/a5/misconfig-wordpress/deployments/docker-compose.yml
index 8a31b3702..d356efaa7 100644
--- a/owasp-top10-2021-apps/a5/misconfig-wordpress/deployments/docker-compose.yml
+++ b/owasp-top10-2021-apps/a5/misconfig-wordpress/deployments/docker-compose.yml
@@ -1,7 +1,7 @@
version: '3.4'
services:
db:
- container_name: a6db
+ container_name: a5db
image: mariadb:10.6.3
restart: always
environment:
@@ -11,10 +11,10 @@ services:
MYSQL_PASSWORD: wordpress
wordpress:
- container_name: a6-wordpress
+ container_name: a5-wordpress
depends_on:
- db
- image: secdevlabs/a6-the-mistery:wp-version-2
+ image: secdevlabs/a5-the-mistery:wp-version-2
ports:
- "8000:80"
restart: always
diff --git a/owasp-top10-2021-apps/a5/stegonography/deployments/docker-compose.yml b/owasp-top10-2021-apps/a5/stegonography/deployments/docker-compose.yml
index 0b50926d7..0eae3a115 100644
--- a/owasp-top10-2021-apps/a5/stegonography/deployments/docker-compose.yml
+++ b/owasp-top10-2021-apps/a5/stegonography/deployments/docker-compose.yml
@@ -11,7 +11,7 @@ services:
ports:
- 10006:10006
networks:
- - a6_net
+ - a5_net
restart: always
db:
@@ -23,7 +23,7 @@ services:
- 27017:27017
- 27018:27018
networks:
- - a6_net
+ - a5_net
networks:
- a6_net:
\ No newline at end of file
+ a5_net:
\ No newline at end of file
diff --git a/owasp-top10-2021-apps/a6/cimentech/deployments/docker-compose.yml b/owasp-top10-2021-apps/a6/cimentech/deployments/docker-compose.yml
index b2f83cd9d..9d5ae5987 100644
--- a/owasp-top10-2021-apps/a6/cimentech/deployments/docker-compose.yml
+++ b/owasp-top10-2021-apps/a6/cimentech/deployments/docker-compose.yml
@@ -14,17 +14,17 @@ services:
- ../app/html/themes:/var/www/html/themes
restart: always
networks:
- - a9_net
+ - a6_net
db:
image: postgres:10.5
- container_name: a9db
+ container_name: a6db
environment:
POSTGRES_PASSWORD: example
ports:
- 5432:5432
networks:
- - a9_net
+ - a6_net
volumes:
- db_data:/var/lib/postgresql/data
- ../app/dump.db:/docker-entrypoint-initdb.d/dump.sql
@@ -33,4 +33,4 @@ volumes:
db_data:
networks:
- a9_net:
+ a6_net:
diff --git a/owasp-top10-2021-apps/a7/insecure-go-project/README.md b/owasp-top10-2021-apps/a7/insecure-go-project/README.md
index 49c200e69..51492298c 100644
--- a/owasp-top10-2021-apps/a7/insecure-go-project/README.md
+++ b/owasp-top10-2021-apps/a7/insecure-go-project/README.md
@@ -49,11 +49,11 @@ Now that you know the purpose of this app, what could go wrong? The following se
#### Sensitive hardcoded credentials allow an attacker access to the database
-After inspecting the application source code, it is possible to identify that some sensitive data from MongoDB are hardcoded on the [`config.yml`](../app/config.yml), as shown on the picture below:
+After inspecting the application source code, it is possible to identify that some sensitive data from MongoDB are hardcoded on the [`config.yml`](app/config.yml), as shown on the picture below:
-This issue can also be found on [`mongo-init.js`](../deployments/mongo-init.js) file, as shown bellow:
+This issue can also be found on [`mongo-init.js`](deployments/mongo-init.js) file, as shown bellow:
diff --git a/owasp-top10-2021-apps/a7/insecure-go-project/deployments/docker-compose.yml b/owasp-top10-2021-apps/a7/insecure-go-project/deployments/docker-compose.yml
index 509ec5faf..efe20f001 100644
--- a/owasp-top10-2021-apps/a7/insecure-go-project/deployments/docker-compose.yml
+++ b/owasp-top10-2021-apps/a7/insecure-go-project/deployments/docker-compose.yml
@@ -8,7 +8,7 @@ volumes:
services:
api:
- container_name: a2_insecure_api
+ container_name: a7_insecure_api
build:
context: ../
dockerfile: deployments/api.Dockerfile
diff --git a/owasp-top10-2021-apps/a7/saidajaula-monster/app/app.py b/owasp-top10-2021-apps/a7/saidajaula-monster/app/app.py
index 59267802f..769c5cdd2 100644
--- a/owasp-top10-2021-apps/a7/saidajaula-monster/app/app.py
+++ b/owasp-top10-2021-apps/a7/saidajaula-monster/app/app.py
@@ -12,10 +12,10 @@
app = Flask(__name__)
-database = DataBase(os.environ.get('A2_DATABASE_HOST'),
- os.environ.get('A2_DATABASE_USER'),
- os.environ.get('A2_DATABASE_PASSWORD'),
- os.environ.get('A2_DATABASE_NAME'))
+database = DataBase(os.environ.get('A7_DATABASE_HOST'),
+ os.environ.get('A7_DATABASE_USER'),
+ os.environ.get('A7_DATABASE_PASSWORD'),
+ os.environ.get('A7_DATABASE_NAME'))
def login_admin_required(f):
diff --git a/owasp-top10-2021-apps/a7/saidajaula-monster/deployments/docker-compose.yml b/owasp-top10-2021-apps/a7/saidajaula-monster/deployments/docker-compose.yml
index 0449efe01..4c331b9c1 100644
--- a/owasp-top10-2021-apps/a7/saidajaula-monster/deployments/docker-compose.yml
+++ b/owasp-top10-2021-apps/a7/saidajaula-monster/deployments/docker-compose.yml
@@ -1,15 +1,15 @@
version: "3.4"
services:
app:
- container_name: app-a2
+ container_name: app-a7
build:
context: ../
dockerfile: deployments/Dockerfile
environment:
- A2_DATABASE_USER: user
- A2_DATABASE_PASSWORD: pass
- A2_DATABASE_HOST: db
- A2_DATABASE_NAME: A2
+ A7_DATABASE_USER: user
+ A7_DATABASE_PASSWORD: pass
+ A7_DATABASE_HOST: db
+ A7_DATABASE_NAME: A7
links:
- db:db
depends_on:
@@ -17,29 +17,30 @@ services:
ports:
- "10002:10002"
networks:
- - a2_net
+ - a7_net
volumes:
- "../app/:/app"
restart: always
db:
- container_name: db-a2
+ container_name: db-a7
image: mariadb:10.6.3
ports:
- "3307:3307"
environment:
MYSQL_ROOT_PASSWORD: root
- MYSQL_DATABASE: A2
+ MYSQL_DATABASE: A7
MYSQL_USER: user
MYSQL_PASSWORD: pass
networks:
- - a2_net
+ - a7_net
volumes:
- - storage-a2-database:/var/lib/mysql
+ - storage-a7-database:/var/lib/mysql
- ../db:/docker-entrypoint-initdb.d
volumes:
- storage-a2-database:
+ storage-a7-database:
networks:
- a2_net:
\ No newline at end of file
+ a7_net:
+
diff --git a/owasp-top10-2021-apps/a9/games-irados/deployments/docker-compose.yml b/owasp-top10-2021-apps/a9/games-irados/deployments/docker-compose.yml
index 33dac5759..a4211eb8f 100644
--- a/owasp-top10-2021-apps/a9/games-irados/deployments/docker-compose.yml
+++ b/owasp-top10-2021-apps/a9/games-irados/deployments/docker-compose.yml
@@ -1,7 +1,7 @@
version: "3.4"
services:
app:
- container_name: app-a10
+ container_name: app-a9
build:
context: ../
dockerfile: deployments/Dockerfile
@@ -9,38 +9,39 @@ services:
- "10010:10010"
environment:
SECRET_KEY: secretkey
- MYSQL_ENDPOINT: mysqldb-a10
+ MYSQL_ENDPOINT: mysqldb-a9
MYSQL_PASSWORD: pass
MYSQL_USER: user
- MYSQL_DB: A10
+ MYSQL_DB: A9
networks:
- - a10_net
+ - a9_net
depends_on:
- - mysqldb-a10
+ - mysqldb-a9
external_links:
- - mysqldb-a10:mysqldb-10
+ - mysqldb-a9:mysqldb-a9
volumes:
- "../app/:/app"
restart: always
- mysqldb-a10:
- container_name: mysqldb-a10
+ mysqldb-a9:
+ container_name: mysqldb-a9
image: mariadb:10.6.3
ports:
- "3307:3307"
environment:
MYSQL_ROOT_PASSWORD: root
- MYSQL_DATABASE: A10
+ MYSQL_DATABASE: A9
MYSQL_USER: user
MYSQL_PASSWORD: pass
networks:
- - a10_net
+ - a9_net
volumes:
- - storage-a10-database:/var/lib/mysql
+ - storage-a9-database:/var/lib/mysql
restart: unless-stopped
volumes:
- storage-a10-database:
+ storage-a9-database:
networks:
- a10_net:
\ No newline at end of file
+ a9_net:
+