From 27bada7f0e6225e5b3c933f868a0ea634a5d3d22 Mon Sep 17 00:00:00 2001 From: Evgenii Sopov Date: Sun, 6 Jan 2019 15:42:11 +0700 Subject: [PATCH] Redesign vulbux start --- jury.d/checkers/example_service2/checker.py | 39 ++++--------------- vulnbox/example_service1/docker-compose.yml | 6 +-- vulnbox/example_service2/docker-compose.yml | 12 +++--- .../src/html/static/index.css | 4 ++ .../example_service2/src/html/static/index.js | 2 +- vulnbox/example_service2/src/server.go | 14 +++++-- vulnbox/rm.sh | 21 ++++++++++ vulnbox/start.sh | 25 ++++++++++++ vulnbox/up.sh | 9 ----- 9 files changed, 79 insertions(+), 53 deletions(-) create mode 100755 vulnbox/rm.sh create mode 100755 vulnbox/start.sh delete mode 100755 vulnbox/up.sh diff --git a/jury.d/checkers/example_service2/checker.py b/jury.d/checkers/example_service2/checker.py index c0fb7d7..bcaf0bd 100755 --- a/jury.d/checkers/example_service2/checker.py +++ b/jury.d/checkers/example_service2/checker.py @@ -5,6 +5,7 @@ import random import time import errno +import requests # put-get flag to service success def service_up(): @@ -45,19 +46,9 @@ def put_flag(): global host, port, f_id, flag # try put try: - # print("try connect " + host + ":" + str(port)) - s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - s.settimeout(1) - s.connect((host, port)) - result = s.recv(1024) - # print(result) - s.send("put" + "\n") - result = s.recv(1024) - s.send(f_id + "\n") - result = s.recv(1024) - s.send(flag + "\n") - result = s.recv(1024) - s.close() + r = requests.post('http://' + host + ':' + str(port) + '/api/flags/' + f_id + '/' + flag) + if r.status_code != 200: + service_corrupt() except socket.timeout: service_down() except socket.error as serr: @@ -75,23 +66,10 @@ def check_flag(): # try get flag2 = "" try: - # print("try connect " + host + ":" + str(port)) - s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) - s.settimeout(1) - s.connect((host, port)) - result = s.recv(1024) - # print(result) - s.send("get\n") - result = s.recv(1024) - s.send(f_id + "\n") - result = s.recv(1024) - flag2 = result.strip() - flag2 = flag2.split("FOUND FLAG: "); - if len(flag2) == 2: - flag2 = flag2[1] - else: - flag2 = '' - s.close() + r = requests.get('http://' + host + ':' + str(port) + '/api/flags/' + f_id) + if r.status_code != 200: + service_corrupt() + flag2 = r.json()['Flag'] except socket.timeout: service_down() except socket.error as serr: @@ -107,7 +85,6 @@ def check_flag(): if flag != flag2: service_corrupt() - if command == "put": put_flag() check_flag() diff --git a/vulnbox/example_service1/docker-compose.yml b/vulnbox/example_service1/docker-compose.yml index 96b89ad..8e28aa7 100644 --- a/vulnbox/example_service1/docker-compose.yml +++ b/vulnbox/example_service1/docker-compose.yml @@ -3,16 +3,16 @@ version: '2' services: example_service1: build: . - image: example_service1:0.2.0 + image: example_service1:2019.1.6 volumes: - "./flags:/root/flags" ports: - "4441:4441" restart: always networks: - - example_service1 + - example_service1_net networks: - example_service1: + example_service1_net: driver: bridge diff --git a/vulnbox/example_service2/docker-compose.yml b/vulnbox/example_service2/docker-compose.yml index 97e1dba..b7f5ea5 100644 --- a/vulnbox/example_service2/docker-compose.yml +++ b/vulnbox/example_service2/docker-compose.yml @@ -1,7 +1,7 @@ version: '2' services: - es2_db_20190106: + example_service2_db: image: mysql:5.7 volumes: - "./dckr_mysql:/var/lib/mysql" @@ -13,22 +13,22 @@ services: MYSQL_USER: example_service2 MYSQL_PASSWORD: example_service2 networks: - - es2_net + - example_service2_net - es2: + example_service2: build: . image: example_service2:2019.1.6 depends_on: - - es2_db_20190106 + - example_service2_db volumes: - "./src:/home/example_service2" ports: - "4442:4442" restart: always networks: - - es2_net + - example_service2_net networks: - es2_net: + example_service2_net: driver: bridge \ No newline at end of file diff --git a/vulnbox/example_service2/src/html/static/index.css b/vulnbox/example_service2/src/html/static/index.css index 08fff7b..bd29b67 100644 --- a/vulnbox/example_service2/src/html/static/index.css +++ b/vulnbox/example_service2/src/html/static/index.css @@ -24,4 +24,8 @@ body { .tbl { display: inline-table; +} + +.flag-id { + font-family: monospace; } \ No newline at end of file diff --git a/vulnbox/example_service2/src/html/static/index.js b/vulnbox/example_service2/src/html/static/index.js index 5e475c1..002b325 100644 --- a/vulnbox/example_service2/src/html/static/index.js +++ b/vulnbox/example_service2/src/html/static/index.js @@ -23,7 +23,7 @@ $('#btn_list_flag').unbind().bind('click', function() { }).done(function(r){ $('#tbl_list_flag').html("Flag ID"); for(var i in r.FlagIDs) { - $('#tbl_list_flag').append("" + r.FlagIDs[i] + ""); + $('#tbl_list_flag').append("" + r.FlagIDs[i] + ""); } }).fail(function(err){ $('#tbl_list_flag').html("" + err.responseJSON.Error + ""); diff --git a/vulnbox/example_service2/src/server.go b/vulnbox/example_service2/src/server.go index d547928..82bd84b 100644 --- a/vulnbox/example_service2/src/server.go +++ b/vulnbox/example_service2/src/server.go @@ -12,7 +12,7 @@ import ( var ( // dbConnString = "example_service2:example_service2@tcp(localhost:3306)/example_service2" - dbConnString = "example_service2:example_service2@tcp(es2_db_20190106:3306)/example_service2" + dbConnString = "example_service2:example_service2@tcp(example_service2_db:3306)/example_service2" ) type Flag struct { @@ -57,18 +57,21 @@ func put_flag(w http.ResponseWriter, r *http.Request) { if err2 != nil { fmt.Printf("FAILED insert flag=%s with flag_id=%s\n", flag_id, flag) err_json(w, err2.Error()) + db.Close() return } flag2 := Flag{flag_id, flag} js, err := json.Marshal(flag2) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) + db.Close() return } fmt.Printf("Inserted flag=%s with flag_id=%s\n", flag_id, flag) w.Header().Set("Content-Type", "application/json") w.Write(js) + db.Close() } // -------------------------------------------------------- @@ -87,6 +90,7 @@ func get_flag(w http.ResponseWriter, r *http.Request) { var flag Flag err2 := db.Get(&flag, `SELECT * FROM flag WHERE flag_id = ?`, flag_id) if err2 != nil { + db.Close() err_json(w, err2.Error()) return } @@ -100,6 +104,7 @@ func get_flag(w http.ResponseWriter, r *http.Request) { w.Header().Set("Content-Type", "application/json") w.Write(js) + db.Close() } // -------------------------------------------------------- @@ -119,18 +124,21 @@ func list_flag(w http.ResponseWriter, r *http.Request) { var flag_ids []string err2 := db.Select(&flag_ids, "SELECT flag_id FROM flag") if err2 != nil { - err_json(w, err2.Error()) + err_json(w, err2.Error()) + db.Close() return } flags2 := FlagIDs{flag_ids} js, err := json.Marshal(flags2) if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) + db.Close() return } - + w.Header().Set("Content-Type", "application/json") w.Write(js) + db.Close() } // -------------------------------------------------------- diff --git a/vulnbox/rm.sh b/vulnbox/rm.sh new file mode 100755 index 0000000..c528212 --- /dev/null +++ b/vulnbox/rm.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +cd example_service1 +docker-compose stop +docker-compose rm +cd .. + +cd example_service2 +docker-compose stop +docker-compose rm +cd .. + +cd example_service3 +docker-compose stop +docker-compose rm +cd .. + +cd example_service4 +docker-compose stop +docker-compose rm +cd .. diff --git a/vulnbox/start.sh b/vulnbox/start.sh new file mode 100755 index 0000000..f8f5a3f --- /dev/null +++ b/vulnbox/start.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +cd example_service1 +docker-compose build +docker-compose up --no-start +docker-compose start +cd .. + +cd example_service2 +docker-compose build +docker-compose up --no-start +docker-compose start +cd .. + +cd example_service3 +docker-compose build +docker-compose up --no-start +docker-compose start +cd .. + +cd example_service4 +docker-compose build +docker-compose up --no-start +docker-compose start +cd .. diff --git a/vulnbox/up.sh b/vulnbox/up.sh deleted file mode 100755 index 518c4bd..0000000 --- a/vulnbox/up.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/bash - - -docker-compose \ - -f example_service1/docker-compose.yml \ - -f example_service2/docker-compose.yml \ - -f example_service3/docker-compose.yml \ - -f example_service4/docker-compose.yml \ - up --build