Skip to content

exploiterid/express-pentesting

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Installation

After cloning this repository, you could setup just like normal express project.

yarn --frozen-lockfile

Then copy for the .env and customize with your system. Run this query below in mysql or mariadb.

CREATE TABLE `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(100) NOT NULL,
  `password` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `users_unique` (`username`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;

CREATE TABLE `posts` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `slug` varchar(100) NOT NULL,
  `title` varchar(100) NOT NULL,
  `body` text DEFAULT NULL,
  `image` varchar(100) DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `posts_unique` (`slug`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=latin1 COLLATE=latin1_swedish_ci;

INSERT INTO test.posts (slug,title,body,image) VALUES
	 ('hello-world','Hello World','Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Augue interdum velit euismod in. Neque egestas congue quisque egestas diam. Sed lectus vestibulum mattis ullamcorper velit sed ullamcorper morbi. In massa tempor nec feugiat nisl. Cras pulvinar mattis nunc sed. Dui sapien eget mi proin sed libero enim sed. Nam at lectus urna duis. Consectetur purus ut faucibus pulvinar elementum integer enim neque. Eget nulla facilisi etiam dignissim diam. Neque laoreet suspendisse interdum consectetur. Sed turpis tincidunt id aliquet risus feugiat in. Amet mattis vulputate enim nulla. Tristique nulla aliquet enim tortor at auctor. Enim facilisis gravida neque convallis a cras semper. Egestas fringilla phasellus faucibus scelerisque eleifend donec pretium vulputate. Amet consectetur adipiscing elit ut aliquam purus sit.',NULL),
	 ('japan','Japanese Temple','Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Augue interdum velit euismod in. Neque egestas congue quisque egestas diam. Sed lectus vestibulum mattis ullamcorper velit sed ullamcorper morbi. In massa tempor nec feugiat nisl. Cras pulvinar mattis nunc sed. Dui sapien eget mi proin sed libero enim sed. Nam at lectus urna duis. Consectetur purus ut faucibus pulvinar elementum integer enim neque. Eget nulla facilisi etiam dignissim diam. Neque laoreet suspendisse interdum consectetur. Sed turpis tincidunt id aliquet risus feugiat in. Amet mattis vulputate enim nulla. Tristique nulla aliquet enim tortor at auctor. Enim facilisis gravida neque convallis a cras semper. Egestas fringilla phasellus faucibus scelerisque eleifend donec pretium vulputate. Amet consectetur adipiscing elit ut aliquam purus sit.','/img/david-edelstein.jpg'),
	 ('city','Beautiful Night Cities Light','Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Augue interdum velit euismod in. Neque egestas congue quisque egestas diam. Sed lectus vestibulum mattis ullamcorper velit sed ullamcorper morbi. In massa tempor nec feugiat nisl. Cras pulvinar mattis nunc sed. Dui sapien eget mi proin sed libero enim sed. Nam at lectus urna duis. Consectetur purus ut faucibus pulvinar elementum integer enim neque. Eget nulla facilisi etiam dignissim diam. Neque laoreet suspendisse interdum consectetur. Sed turpis tincidunt id aliquet risus feugiat in. Amet mattis vulputate enim nulla. Tristique nulla aliquet enim tortor at auctor. Enim facilisis gravida neque convallis a cras semper. Egestas fringilla phasellus faucibus scelerisque eleifend donec pretium vulputate. Amet consectetur adipiscing elit ut aliquam purus sit.','/img/jezael-melgoza.jpg'),
	 ('sky','Beautiful Skies','Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Augue interdum velit euismod in. Neque egestas congue quisque egestas diam. Sed lectus vestibulum mattis ullamcorper velit sed ullamcorper morbi. In massa tempor nec feugiat nisl. Cras pulvinar mattis nunc sed. Dui sapien eget mi proin sed libero enim sed. Nam at lectus urna duis. Consectetur purus ut faucibus pulvinar elementum integer enim neque. Eget nulla facilisi etiam dignissim diam. Neque laoreet suspendisse interdum consectetur. Sed turpis tincidunt id aliquet risus feugiat in. Amet mattis vulputate enim nulla. Tristique nulla aliquet enim tortor at auctor. Enim facilisis gravida neque convallis a cras semper. Egestas fringilla phasellus faucibus scelerisque eleifend donec pretium vulputate. Amet consectetur adipiscing elit ut aliquam purus sit.','/img/guillaume-galtier.jpg'),
	 ('fuji','Fuji-san is a Mountain','Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Augue interdum velit euismod in. Neque egestas congue quisque egestas diam. Sed lectus vestibulum mattis ullamcorper velit sed ullamcorper morbi. In massa tempor nec feugiat nisl. Cras pulvinar mattis nunc sed. Dui sapien eget mi proin sed libero enim sed. Nam at lectus urna duis. Consectetur purus ut faucibus pulvinar elementum integer enim neque. Eget nulla facilisi etiam dignissim diam. Neque laoreet suspendisse interdum consectetur. Sed turpis tincidunt id aliquet risus feugiat in. Amet mattis vulputate enim nulla. Tristique nulla aliquet enim tortor at auctor. Enim facilisis gravida neque convallis a cras semper. Egestas fringilla phasellus faucibus scelerisque eleifend donec pretium vulputate. Amet consectetur adipiscing elit ut aliquam purus sit.','/img/jj-ying.jpg');

Cheatsheet

Local File Inclusion

%2e%2e%2f is encoded form of ../ and you should remember to encode the url for directory traversing. https://owasp.org/www-community/attacks/Path_Traversal. Patch could delete the path.resolve and using the root parameter.

SQL Injection

By using SQLMap to automate testing were sufficient to get users and dump tables. A preventive measure could be taken such as escaping the query.

About

Minimal Penetration Testing Lab in ExpressJS

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published