All Projects → digininja → authlab

digininja / authlab

Licence: GPL-3.0 license
A lab to play with authentication and authorisation problems

Programming Languages

HTML
75241 projects
go
31211 projects - #10 most used programming language
javascript
184084 projects - #8 most used programming language
CSS
56736 projects

Projects that are alternatives of or similar to authlab

Apprenticeships.me
Dev & design apprenticeships to the rescue! 🔧
Stars: ✭ 188 (+135%)
Mutual labels:  training
Training
🐝 A fast, easy and collaborative open source image annotation tool for teams and individuals.
Stars: ✭ 2,615 (+3168.75%)
Mutual labels:  training
EffcientNetV2
EfficientNetV2 implementation using PyTorch
Stars: ✭ 94 (+17.5%)
Mutual labels:  training
Hyperlpr Training
车牌识别训练代码 Training Tools Related to HyperLPR
Stars: ✭ 190 (+137.5%)
Mutual labels:  training
Purrr Tutorial
A introduction to purrr
Stars: ✭ 222 (+177.5%)
Mutual labels:  training
Malware Samples
Malware samples, analysis exercises and other interesting resources.
Stars: ✭ 241 (+201.25%)
Mutual labels:  training
Easymodels
Easily find and view pre-trained AI models and deep learning projects through the command line 💻
Stars: ✭ 186 (+132.5%)
Mutual labels:  training
pytorch-accelerated
A lightweight library designed to accelerate the process of training PyTorch models by providing a minimal, but extensible training loop which is flexible enough to handle the majority of use cases, and capable of utilizing different hardware options with no code changes required. Docs: https://pytorch-accelerated.readthedocs.io/en/latest/
Stars: ✭ 125 (+56.25%)
Mutual labels:  training
Deep Learning In Production
Develop production ready deep learning code, deploy it and scale it
Stars: ✭ 216 (+170%)
Mutual labels:  training
R-Bridge-Tutorial-Notebooks
Jupyter notebooks demonstrating setup and use of the R-ArcGIS bridge. The repo includes datasets required to run the Jupyter notebooks.
Stars: ✭ 56 (-30%)
Mutual labels:  training
Improved Body Parts
Simple Pose: Rethinking and Improving a Bottom-up Approach for Multi-Person Pose Estimation
Stars: ✭ 202 (+152.5%)
Mutual labels:  training
Dynamic Training Bench
Simplify the training and tuning of Tensorflow models
Stars: ✭ 210 (+162.5%)
Mutual labels:  training
Tesstrain
Train Tesseract LSTM with make
Stars: ✭ 251 (+213.75%)
Mutual labels:  training
Germanwordembeddings
Toolkit to obtain and preprocess german corpora, train models using word2vec (gensim) and evaluate them with generated testsets
Stars: ✭ 189 (+136.25%)
Mutual labels:  training
adsy-trainings
Workshop and training materials
Stars: ✭ 13 (-83.75%)
Mutual labels:  training
Container.training
Slides and code samples for training, tutorials, and workshops about Docker, containers, and Kubernetes.
Stars: ✭ 2,377 (+2871.25%)
Mutual labels:  training
Symfony Pack
A series of questions to prepare for the Symfony certification
Stars: ✭ 241 (+201.25%)
Mutual labels:  training
restful-booker
A free to use Web API for practising API testing on
Stars: ✭ 104 (+30%)
Mutual labels:  training
wptrainingteam.github.io
WordPress.org Training Team Home for Lists of Lesson Plans and Workshop Ideas
Stars: ✭ 39 (-51.25%)
Mutual labels:  training
Dawn Bench Entries
DAWNBench: An End-to-End Deep Learning Benchmark and Competition
Stars: ✭ 254 (+217.5%)
Mutual labels:  training

Authentication Lab

Welcome to the Authentication Lab. The lab is a selection of challenges all related to authentication or authorisation. They are all taken, in some way, from real world examples I've come across during tests or have been suggested by other testers.

You can play the latest version of all the challenges in my online version or grab the code from here build your own lab. The lab is written in Golang and should be fairly easy to install and get running.

For more information, see my project page. This also contains more information and walkthroughs for all the labs in case you get stuck.

Installation

First you will need Go setup on your machine, I'll leave that up to you to work through as there are plenty of resources out there to help with that.

Next choose where to install the app, I'm going to install it in ~/apps, but the location is up to you and as long as you remember it, it doesn't matter.

Check out my code:

cd ~/apps/
git clone https://github.com/digininja/authlab.git

Install Revel:

go install github.com/revel/cmd/revel@latest

Starting the lab

You can start the lab with the following command:

cd ~/apps/authlab
~/go/bin/revel run -a .

When I start it, I get a few errors and warnings. They don't seem to affect anything so I'll look into them at some point, but for now, I'm ignoring them as it all seems to be working.

You should now be able to access the lab by browsing to http://localhost:9000

To start in production mode:

cd ~/go/src/github.com/digininja/authlab
~/go/bin/revel run -a . -m prod

Logrotate

Set this up to do log rotation on prod otherwise the files will get huge:

/xxxx/apps/authlab/log/*.json {
	daily
	rotate 7
	missingok
	compress
	delaycompress
	missingok
	postrotate
		service authlab restart
	endscript
}

Can test with:

logrotate -d /etc/logrotate.d/authlab

And force with:

logrotate --force /etc/logrotate.d/authlab 

Service scripts

This controls the app through systemctl, put the file in /etc/systemd/system/authlab.service.

Replace xxxx with your user if running this from ~/apps. If running it from somewhere else, change the paths appropriately.

[Unit]
Description=Authlab Service
After=network.target

[Service]
Type=simple
User=authlab
Environment=PATH=/opt/go/bin:/xxxx/go/bin/:/opt/go/bin:/usr/local/bin:/usr/bin:/bin
Environment=GOPATH=/xxxx/go/
Environment=GOROOT=/opt/go/
WorkingDirectory=/xxxx/apps/authlab
ExecStart=/xxxx/go/bin/revel run --application-path=/home/xxxx/apps/authlab --run-mode=prod
Restart=always
RestartSec=3

[Install]
WantedBy=multi-user.target

When changing it, make sure you run systemctl daemon-reload.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].