Firstly, please take the following quick survey which can help you start efficiently.
switch challenge_type:
case 'web':
if languge == 'PHP':
if need_db_support:
jump step 1
else:
jump step 2
else:
jump step 5
case 'pwn':
if arch == 'x86-64':
jump step 3
elif arch == 'x86':
jump step 4
default:
jump step 5- name your challenge and create a folder under
web/directory, this directory will the your challenge root, eg:easy-injectioncd web mkdir easy-injection cd easy-injection - copy all file from the challenge template folder
example/web/db/, eg:cp -r example/web/db/* ./ - Edit
Dockerfileanddocker-compose.ymlto config your vulnerability environment. (Actually normally the only thing you need to change is theMAINTAINERfield) - Copy your source code to folder
source - Copy your database init script as
database.sql - Run
docker-compose buildto make sure yourDockerfileanddocker-compose.ymlhave no errors. - Run
docker-compose up -dto start the vulnerability environment. - Test whether your challenge is set successfully, it depends on the logic of your challenge.
- name your challenge and create a folder under
web/directory, this directory will the your challenge root, eg:easy-injectioncd web mkdir easy-injection cd easy-injection - Edit
Dockerfileanddocker-compose.ymlto config your vulnerability environment. (Actually normally the only thing you need to change is theMAINTAINERfield) - Copy your source code to folder
source - Run
docker-compose buildto make sure yourDockerfileanddocker-compose.ymlhave no errors. - Run
docker-compose up -dto start the vulnerability environment. - Test whether your challenge is set successfully, it depends on the logic of your challenge.
- name your challenge and create a folder under
pwn/directory, this directory will the your challenge root, eg:buffer-overflowcd pwn mkdir buffer-overflow cd buffer-overflow - Edit
Dockerfileanddocker-compose.ymlto config your vulnerability environment. (Actually normally the only thing you need to change is theMAINTAINERfield) - Copy your source code and Makefile(Important) to folder
source(Please rename your C filename aspwn.c, just for tidiness) - Run
docker-compose buildto make sure yourDockerfileanddocker-compose.ymlhave no errors. - Run
docker-compose up -dto start the vulnerability environment. - Test whether your challenge is set successfully, it depends on the logic of your challenge.
- Please follow step 3, the only difference is that you should change
DockerfileYou should change the first line fromFROM ubuntu:16.04toFROM i386/ubuntu:16.04
- Your are an excellent hacker, I believe that you can get things done prefectly.