Skip to content

Commit 85ac1ad

Browse files
djwyjohnk-h1reedloden
authored
Revamp design of Hacker101 to better match HackerOne application (Hacker0x01#149)
Major updates Co-authored-by: John Kim <[email protected]> Co-authored-by: Reed Loden <[email protected]>
1 parent aa628e8 commit 85ac1ad

File tree

109 files changed

+1455
-1473
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

109 files changed

+1455
-1473
lines changed

404.html

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,11 @@
22
layout: default
33
---
44

5-
<div class="container text-center">
6-
<h1>404</h1>
5+
<div class="d-flex h-100 align-items-center">
6+
<div class="container text-center">
7+
<h1>404</h1>
78

8-
<p><strong>Page not found :(</strong></p>
9-
<p>The requested page could not be found.</p>
9+
<p><strong>Page not found :(</strong></p>
10+
<p>The requested page could not be found.</p>
11+
</div>
1012
</div>

_config.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ social:
2424
- https://github.com/Hacker0x01
2525

2626
plugins:
27+
- jekyll-redirect-from
2728
- jekyll-seo-tag
2829
- jekyll-sitemap
2930

_includes/footer.html

Lines changed: 18 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,20 @@
1-
2-
<div class="py-5 border-top">
3-
<div class="container">
4-
5-
<div class="row">
6-
7-
<div class="col-sm">
8-
<ul class="list-inline">
9-
<li class="list-inline-item">
10-
<a href="https://www.hackerone.com/start-hacking">🔨 Powered by HackerOne</a>
11-
</li>
12-
<li class="list-inline-item">|</li>
13-
<li class="list-inline-item">
14-
<a href="{{ site.github.repository_url }}/edit/master/{{ page.path }}" title="Help improve Hacker101">💻 Edit this page</a>
15-
</li>
16-
<li class="list-inline-item">|</li>
17-
<li class="list-inline-item">
18-
<a href="https://twitter.com/Hacker0x01">🎉 Follow us on Twitter</a>
19-
</li>
20-
</ul>
21-
</div>
1+
<footer class="flex-shrink-0 bg-dark py-3">
2+
<div class="container d-flex justify-content-between">
3+
<a href="https://www.hackerone.com/start-hacking" class="text-light d-flex align-items-center">
4+
<img src="/assets/logo_h1.png" alt="Start hacking on HackerOne" width="16" height="30" class="mr-3">
5+
Powered by HackerOne
6+
</a>
7+
<div>
8+
<a href="{{ site.github.repository_url }}/edit/master/{{ page.path }}"
9+
class="text-light mr-2 d-none d-md-inline">
10+
Edit this page
11+
</a>
12+
<a href="{{ site.github.repository_url }}">
13+
<img src="/assets/github.png" alt="Contribute on GitHub" width="30" height="30" class="mr-3">
14+
</a>
15+
<a href="https://twitter.com/Hacker0x01">
16+
<img src="/assets/twitter.png" alt="Follow us on Twitter" width="30" height="30">
17+
</a>
2218
</div>
23-
2419
</div>
25-
</div>
20+
</footer>

_includes/head.html

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66
{%- seo -%}
77
<link rel="icon" type="image/png" href="{{ "/assets/images/favicon.png" | relative_url }}" />
88
<link rel="stylesheet" href="{{ "/assets/css/main.css" | relative_url }}">
9+
<link rel="preload" href="{{ "/assets/fonts/effra-light.woff" | relative_url }}" as="font" type="font/woff" crossorigin>
10+
<link rel="preload" href="{{ "/assets/fonts/effra-regular.woff" | relative_url }}" as="font" type="font/woff" crossorigin>
11+
<link rel="preload" href="{{ "/assets/fonts/effra-medium.woff" | relative_url }}" as="font" type="font/woff" crossorigin>
912
<script src="{{ "/assets/javascript/bootstrap/jquery.min.js" | relative_url }}"></script>
1013
<script src="{{ "/assets/javascript/bootstrap/bootstrap.bundle.min.js" | relative_url }}"></script>
1114
</head>

_includes/header.html

Lines changed: 51 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,53 @@
1-
<nav class="navbar navbar-expand-lg navbar-dark bg-primary">
2-
<div class="container">
3-
<a class="navbar-brand text-success" rel="author" href="{{ "/" | relative_url }}">{{ site.title | escape }}</a>
1+
<header class="flex-shrink-0">
2+
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
3+
<div class="container">
4+
<a href="{{ "/" | relative_url }}" class="navbar-brand" rel="author">
5+
<img src="/assets/Hacker101_logo.png" alt="View Hacker101 homepage" height="30">
6+
</a>
47

5-
{%- assign page_paths = site.header_pages -%}
6-
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent"
7-
aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
8-
<span class="navbar-toggler-icon"></span>
9-
</button>
10-
<div class="collapse navbar-collapse" id="navbarSupportedContent">
11-
<ul class="navbar-nav mr-auto">
12-
<li class="nav-item">
13-
<a class="nav-link" href="{{ "/start-here" | relative_url }}">Start Here</a>
14-
</li>
15-
<li class="nav-item">
16-
<a class="nav-link" href="{{ "/videos" | relative_url }}">Videos</a>
17-
</li>
18-
<li class="nav-item">
19-
<a class="nav-link" href="https://ctf.hacker101.com/">CTF</a>
20-
</li>
21-
<li class="nav-item">
22-
<a class="nav-link" href="{{ "/resources" | relative_url }}">Resources</a>
23-
</li>
24-
<li class="nav-item">
25-
<a class="nav-link" href="{{ "/discord" | relative_url }}">Discord</a>
26-
</li>
27-
</ul>
28-
<ul class="navbar-nav ml-auto">
29-
<li class="nav-item">
30-
<a class="nav-link" href="{{ site.github.repository_url }}">Fork me on GitHub</a>
31-
</li>
32-
</ul>
8+
{%- assign page_paths = site.header_pages -%}
9+
10+
<button class="navbar-toggler p-0 border-0" type="button" data-toggle="collapse" data-target="#navbarSupportedContent"
11+
aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
12+
<span class="navbar-toggler-icon"></span>
13+
</button>
14+
<div class="collapse navbar-collapse" id="navbarSupportedContent">
15+
<ul class="navbar-nav mr-auto">
16+
<li class="nav-item">
17+
<a href="{{ "/start-here" | relative_url }}" class="nav-link text-light">
18+
Getting Started
19+
</a>
20+
</li>
21+
<li class="nav-item">
22+
<a href="{{ "/videos" | relative_url }}" class="nav-link text-light">
23+
Videos
24+
</a>
25+
</li>
26+
<li class="nav-item">
27+
<a href="https://ctf.hacker101.com/" class="nav-link text-light">
28+
CTF
29+
</a>
30+
</li>
31+
<li class="nav-item">
32+
<a href="{{ "/resources" | relative_url }}" class="nav-link text-light">
33+
Resources
34+
</a>
35+
</li>
36+
<li class="nav-item">
37+
<a href="{{ "/discord" | relative_url }}" class="nav-link text-light">
38+
Discord
39+
</a>
40+
</li>
41+
</ul>
42+
<ul class="navbar-nav ml-auto">
43+
<a href="#" id="mode-light" title="Toggle dark mode" class="mode-toggle d-none">
44+
<img src="/assets/images/icons/dark-mode.svg" alt="Toggle dark mode" width="20" height="20"/>
45+
</a>
46+
<a href="#" id="mode-dark" title="Toggle light mode" class="mode-toggle">
47+
<img src="/assets/images/icons/light-mode.svg" alt="Toggle light mode" width="20" height="20"/>
48+
</a>
49+
</ul>
50+
</div>
3351
</div>
34-
</div>
35-
</nav>
52+
</nav>
53+
</header>

_includes/resources_sidebar.html

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<ul>
2+
{% for resource in site.resources %}
3+
<li>
4+
<a href="/resources#{{ resource.title | url_encode }}">{{ resource.title }}</a>
5+
</li>
6+
{% endfor %}
7+
</ul>

_layouts/default.html

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,15 @@
11
<!DOCTYPE html>
2-
<html lang="{{ page.lang | default: site.lang | default: "en" }}">
2+
<html class="bg-dark" lang="{{ page.lang | default: site.lang | default: "en" }}">
33

44
{%- include head.html -%}
55

6-
<body>
6+
<body class="d-flex flex-column vh-100">
77

88
{%- include header.html -%}
99

10-
<div class="py-5">
11-
<div class="container page-content">
12-
{{ content }}
13-
</div>
14-
</div>
10+
<main role="main" class="flex-grow-1 bg-black text-light">
11+
{{ content }}
12+
</main>
1513

1614
{%- include footer.html -%}
1715

@@ -23,5 +21,6 @@
2321

2422
gtag('config', '{{ site.google_analytics }}');
2523
</script>
24+
<script async src="/assets/javascript/dark-mode.js"></script>
2625
</body>
2726
</html>

_layouts/page.html

Lines changed: 84 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,90 @@
11
---
22
layout: default
33
---
4-
<article>
54

6-
{%- if page.title -%}
7-
<header>
8-
<h1>{{ page.title | escape }}</h1>
9-
</header>
10-
{%- endif -%}
5+
<div class="container py-4">
6+
<div class="row">
7+
<div class="col-lg-8">
8+
<article>
9+
{%- if page.title -%}
10+
<div class="row">
11+
<header class="col-md-12 mb-4">
12+
<h1 class="text-uppercase">{{ page.title | escape }}</h1>
13+
<span class="h3 font-weight-light text-uppercase">{{ page.subtitle | escape }}</span>
14+
</header>
15+
</div>
16+
{%- endif -%}
1117

12-
<section>
13-
{{ content }}
14-
</section>
18+
<section>
19+
{{ content }}
20+
</section>
1521

16-
</article>
22+
{% if page.video_src %}
23+
<h2 id="video">Video</h2>
24+
<div class="embed-responsive embed-responsive-16by9">
25+
{% if page.video_src contains "?" %}
26+
{% assign symbol = "&" %}
27+
{% else %}
28+
{% assign symbol = "?" %}
29+
{% endif %}
30+
<iframe
31+
id="ytplayer"
32+
type="text/html"
33+
src="{{ page.video_src }}{{ symbol }}rel=0&autoplay=0&origin={{ site.url }}"
34+
frameborder="0"
35+
allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture"
36+
allowfullscreen
37+
></iframe>
38+
</div>
39+
{% endif %}
40+
{% if page.previous_url or page.next_url %}
41+
<hr />
42+
{% if page.cta_description %}
43+
<div class="mb-3">
44+
{{ page.cta_description }}
45+
</div>
46+
{% endif %}
47+
{% if page.previous_url %}
48+
<a href="{{ page.previous_url }}" class="btn btn-outline-primary float-left">
49+
{{ page.previous_text | default: "Previous video" }}
50+
</a>
51+
{% endif %}
52+
{% if page.next_url %}
53+
<a href="{{ page.next_url }}" class="btn btn-primary float-right">
54+
{{ page.next_text | default: "Next video" }}
55+
</a>
56+
{% endif %}
57+
{% endif %}
58+
</article>
59+
</div>
60+
{% if page.sidebar %}
61+
<div class="col-lg-4" id="sidebar">
62+
<section>
63+
{% for section in page.sidebar %}
64+
{% if section.title %}
65+
<div class="h5">{{ section.title }}</div>
66+
{% endif %}
67+
{% if section.subtitle %}
68+
<div class="h6">{{ section.subtitle }}</div>
69+
{% endif %}
70+
{% if section.links %}
71+
<ul>
72+
{% for link in section.links %}
73+
<li>
74+
<a href={{ link.url }}>{{ link.text }}</a>
75+
{% if link.updated %}
76+
<span class="badge badge-pill badge-secondary">Updated!</span>
77+
{% endif %}
78+
</li>
79+
{% endfor %}
80+
</ul>
81+
{% endif %}
82+
{% if section.resources %}
83+
{% include resources_sidebar.html %}
84+
{% endif %}
85+
{% endfor %}
86+
</section>
87+
</div>
88+
{% endif %}
89+
</div>
90+
</div>

_resources/02_how_do_i_start.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,6 @@ Congratulations on taking the first step to becoming a hacker! We recommend star
1414
* [Common Port Numbers](https://www.utilizewindows.com/list-of-common-network-port-numbers/): A useful list of common port numbers and the associated services.
1515

1616
* Linux
17-
* [Setting up your own web server](https://www.linux.com/learn/easy-lamp-server-installation): While not security-related in itself, this will teach you many of the commands and concepts you need to know to become a great hacker.
17+
* [Setting up your own web server](https://www.linux.com/training-tutorials/easy-lamp-server-installation): While not security-related in itself, this will teach you many of the commands and concepts you need to know to become a great hacker.
1818
* [Setting up Kali Linux on Virtualbox](https://linuxconfig.org/how-to-install-kali-linux-on-virtualbox): Kali is a hacking-oriented Linux distribution, used by many bug hunters. This guide will help you set it up in a virtual machine.
1919
* [Command Line Guide](https://lifehacker.com/a-command-line-primer-for-beginners-5633909?IR=T): You'll end up using many command-line tools as a hacker, so a familiarity with its structure and use is valuable.

_resources/05_web_hacking_tools.md

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,21 +7,19 @@ This is a curated list of web hacking tools and is not intended to be comprehens
77
* [Altdns](https://github.com/infosec-au/altdns): Altdns is a DNS recon tool that allows for the discovery of subdomains that conform to patterns. Altdns takes in words that could be present in subdomains under a domain (such as test, dev, staging), as well as a list of known subdomains.
88
* [Amass](https://github.com/OWASP/Amass): The OWASP Amass Project performs network mapping of attack surfaces and external asset discovery using open source information gathering and active reconnaissance techniques.
99
* [Aquatone](https://github.com/michenriksen/aquatone): Aquatone is a tool for visual inspection of websites across a large number of hosts, which provides a convenient overview of HTTP-based attack surface.
10-
* [Asnlookup](https://www.ultratools.com/tools/asnInfo): The ASN Information tool displays information about an IP address's Autonomous System Number (ASN), such as: IP owner, registration date, issuing registrar and the max range of the AS with total IPs.
1110
* [BBHT](https://github.com/nahamsec/bbht): Bug Bounty Hunting Tools is a script to install the most popular tools used while looking for vulnerabilities for a bug bounty program.
12-
* [Burp Suite](https://portswigger.net/burp): This is the most popular proxy in web hacking circles due to its cross-platform nature and extensive featureset. See [our playlist](playlists/burp_suite) to make the most of it. Also see our "Burp Suite Plugins" list for useful plugins to use.
11+
* [Burp Suite](https://portswigger.net/burp): This is the most popular proxy in web hacking circles due to its cross-platform nature and extensive featureset. See [our playlist](/playlists/burp_suite) to make the most of it. Also see our "Burp Suite Plugins" list for useful plugins to use.
1312
* [chaos](https://chaos.projectdiscovery.io): Chaos actively scans and maintains internet-wide assets' data. This project is meant to enhance research and analyze changes around DNS for better insights.
1413
* [Commit-stream](https://github.com/x1sec/commit-stream): Commit-stream extracts commit logs from the Github event API,  exposing the author details (name and email address) associated with Github repositories in real time.
1514
* [Dirb](https://github.com/v0re/dirb): DIRB is a web content scanner. It launches a dictionary based attack against a web server and analyzes the response.
16-
* [DirBuster](https://www.owasp.org/index.php/Category:OWASP_DirBuster_Project): This tool is a multi-threaded java application that is used to perform brute force over directories and file names on web and application servers. DirBuster attempts to find hidden directories and pages within a web application, providing users with an additional attack vector.
1715
* [Dirsearch](https://github.com/maurosoria/dirsearch): a simple command line tool designed to brute force directories and files in websites.
1816
* [Dngrep](https://github.com/erbbysam/DNSGrep): A utility for quickly searching presorted DNS names. Built around the Rapid7 rdns & fdns dataset.
1917
* [Dnscan](https://github.com/rbsec/dnscan): dnscan is a python wordlist-based DNS subdomain scanner
2018
* [Dnsgen](https://github.com/ProjectAnte/dnsgen): This tool generates a combination of domain names from the provided input. Combinations are created based on wordlist. Custom words are extracted per execution.
2119
* [Dnsprobe](https://github.com/projectdiscovery/dnsprobe): DNSProbe is a tool built on top of retryabledns that allows you to perform multiple dns queries of your choice with a list of user supplied resolvers.
2220
* [EyeWitnees](https://github.com/FortyNorthSecurity/EyeWitness): EyeWitness is designed to take screenshots of websites, provide some server header info, and identify any default credentials. EyeWitness is designed to run on Kali Linux. It will auto detect the file you give it with the -f flag as either being a text file with URLs on each new line, nmap xml output, or nessus xml output. The --timeout flag is completely optional, and lets you provide the max time to wait when trying to render and screenshot a web page.
2321
* [Ffuf](https://github.com/ffuf/ffuf): A fast web fuzzer written in Go.
24-
* [Findomain](https://github.com/Edu4rdSHL/findomain): Findomain offers a dedicated monitoring service hosted in Amazon (only the local version is free), that allows you to monitor your target domains and send alerts to Discord and Slack webhooks or Telegram chats when new subdomains are found.
22+
* [Findomain](https://github.com/Findomain/Findomain): Findomain offers a dedicated monitoring service hosted in Amazon (only the local version is free), that allows you to monitor your target domains and send alerts to Discord and Slack webhooks or Telegram chats when new subdomains are found.
2523
* [Gau](https://github.com/lc/gau): getallurls (gau) fetches known URLs from AlienVault's Open Threat Exchange, the Wayback Machine, and Common Crawl for any given domain. Inspired by Tomnomnom's waybackurls.
2624
* [gitGraber](https://github.com/hisxo/gitGraber): gitGraber is a tool developed in Python3 to monitor GitHub to search and find sensitive data in real time for different online services.
2725
* [Httprobe](https://github.com/tomnomnom/httprobe): Takes a list of domains and probes for working http and https servers.
@@ -42,7 +40,7 @@ This is a curated list of web hacking tools and is not intended to be comprehens
4240
* [Recon-ng](https://github.com/lanmaster53/recon-ng): Recon-ng is a full-featured reconnaissance framework designed with the goal of providing a powerful environment to conduct open source, web-based reconnaissance quickly and thoroughly.
4341
* [Shhgit](https://github.com/eth0izzle/shhgit): Shhgit finds secrets and sensitive files across GitHub code and Gists committed in nearly real-time by listening to the GitHub Events API.
4442
* [Shuffledns](https://github.com/projectdiscovery/shuffledns): shuffleDNS is a wrapper around massdns written in go that allows you to enumerate valid subdomains using active bruteforce, as well as resolve subdomains with wildcard handling and easy input-output support.
45-
* [sqlmap](http://sqlmap.org/): This allows for easy discovery and exploitation of SQL injection vulnerabilities. It **will not** catch every bug or even be able to exploit some known SQLi bugs. What it will do is make your life much easier in the 80% of cases it will work for.
43+
* [sqlmap](https://sqlmap.org/): This allows for easy discovery and exploitation of SQL injection vulnerabilities. It **will not** catch every bug or even be able to exploit some known SQLi bugs. What it will do is make your life much easier in the 80% of cases it will work for.
4644
* [SSL Labs Server Test](https://www.ssllabs.com/ssltest/): This is an easy to use webapp for testing the SSL configuration of web servers.
4745
* [Subfinder](https://github.com/projectdiscovery/subfinder): subfinder is a subdomain discovery tool that discovers valid subdomains for websites by using passive online sources. It has a simple modular architecture and is optimized for speed. subfinder is built for doing one thing only - passive subdomain enumeration, and it does that very well.
4846
* [Subjack](https://github.com/haccer/subjack): Subjack is a Subdomain Takeover tool written in Go designed to scan a list of subdomains concurrently and identify ones that are able to be hijacked. With Go's speed and efficiency, this tool really stands out when it comes to mass-testing. Always double check the results manually to rule out false positives.

0 commit comments

Comments
 (0)