added presentation flow notes
This commit is contained in:
		
							parent
							
								
									4f984a46f8
								
							
						
					
					
						commit
						9e817d081f
					
				
							
								
								
									
										39
									
								
								README.md
									
									
									
									
									
								
							
							
						
						
									
										39
									
								
								README.md
									
									
									
									
									
								
							|  | @ -8,17 +8,30 @@ | |||
| - 3334: Python backend server | ||||
| - 3335: PostgreSQL | ||||
| 
 | ||||
| backend-for-frontend server | ||||
| 1. PostgreSQL | ||||
| 2. ~~Python ML server~~ | ||||
| 3. Backend server | ||||
| 4. ~~Suricata~~ | ||||
| 5. Apache + ModSecurity | ||||
| 6. Client | ||||
| 
 | ||||
| !remember to set the environment variables | ||||
| !include this in the setup instructions | ||||
| !should we use a .env file and let the user set the variables? | ||||
| ## Presentation Flow | ||||
| 
 | ||||
| PGHOST=localhost | ||||
| PGPORT=5432 | ||||
| PGDATABASE=asdfdb | ||||
| PGUSER=asdfuser | ||||
| PGPASSWORD=asdfpassword | ||||
| 1. [video] start postgres: postgres docker compose -> start pg docker | ||||
| 2. [video] start backend: show main.go -> http.go -> db.go -> go build . -> ./server | ||||
| 3. [video] setup db: postman -> /nuke-db -> /setup-demo-db | ||||
| 4. skip account registration | ||||
| 5. [video] login account normally -> show normal login | ||||
| 6. [video] do sql injection on unsecure endpoint -> show success | ||||
| 7. [video] do sql injection on secure endpoint -> show unsuccess | ||||
| 8. [slides] show backend code, unsecure login endpoint -> show concatenation of sql query | ||||
| 9. [slides] show backend code, secure login endpoint -> parameterization of sql query | ||||
| 10. [video] start apache reverse proxy + modsecurity: docker compose file -> start docker | ||||
| 11. [video] change server url on client to reverse proxy -> do sql injection -> show rejection | ||||
| 12. [video] zaproxy scan endpoint: start zaproxy -> send first request to unsecure server endpoint with arguments -> include context -> start attack -> show breached | ||||
|     1. `Content-Type: application/json` | ||||
|     2. same as on top | ||||
| 13. [video] zaproxy scan reverse proxy: send first request to unsecure reverse proxy endpoint with argumens -> include context -> start attack -> show unbreached | ||||
| 
 | ||||
| ## Server | ||||
| 
 | ||||
|  | @ -47,9 +60,11 @@ Parameterized queries separate the SQL code from the data, so user input is neve | |||
| 
 | ||||
| ## ZAP | ||||
| 
 | ||||
| Content-Type: application/json | ||||
| `Content-Type: application/json` | ||||
| 
 | ||||
| ```json | ||||
| { | ||||
| "email": "tohyouxuan@gmail.com", | ||||
| "password": "testpassword" | ||||
|   "email": "tohyouxuan@gmail.com", | ||||
|   "password": "testpassword" | ||||
| } | ||||
| ``` | ||||
|  |  | |||
							
								
								
									
										2
									
								
								client/install.sh
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								client/install.sh
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,2 @@ | |||
| sudo rm /usr/local/bin/cspj-application | ||||
| sudo cp ./src-tauri/target/release/cspj-application /usr/local/bin | ||||
|  | @ -78,8 +78,8 @@ export const SqlInjection = () => { | |||
|             > | ||||
|               <SqlInjectionLogin /> | ||||
|             </TabPanel> | ||||
|             <Divider /> | ||||
|             the logged in account details goes here | ||||
|             {/* <Divider /> | ||||
|             the logged in account details goes here */} | ||||
|           </Box> | ||||
|         </TabContext> | ||||
|       </Box> | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue