Skip to content

Commit dc284d8

Browse files
committed
customizing my personal blog
1 parent e22337f commit dc284d8

6 files changed

+208
-11
lines changed

Gemfile

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,9 @@ platforms :mingw, :x64_mingw, :mswin, :jruby do
1212
end
1313

1414
gem "wdm", "~> 0.2.0", :platforms => [:mingw, :x64_mingw, :mswin]
15+
16+
gem "csv", "~> 3.3"
17+
18+
gem "logger", "~> 1.7"
19+
20+
gem "base64", "~> 0.3.0"

_config.yml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -9,27 +9,27 @@ theme: jekyll-theme-chirpy
99
lang: en
1010

1111
# Change to your timezone › https://kevinnovak.github.io/Time-Zone-Picker
12-
timezone: Asia/Shanghai
12+
timezone: Africa/Lagos
1313

1414
# jekyll-seo-tag settings › https://github.com/jekyll/jekyll-seo-tag/blob/master/docs/usage.md
1515
# ↓ --------------------------
1616

17-
title: Chirpy # the main title
17+
title: T3chnocr4tX # the main title
1818

19-
tagline: Secure Your Apps And APIs # it will display as the subtitle
19+
tagline: Practical tips to secure your apps & APIs. # it will display as the subtitle
2020

2121
description: >- # used by seo meta and the atom feed
22-
A minimal, responsive and feature-rich Jekyll theme for technical writing.
22+
Discover practical techniques to identify vulnerabilities in apps and APIs, plus expert tips to secure them. Stay ahead with actionable insights on app security. #AppSecurity #APISecurity #VulnerabilityHunting #CybersecurityTips #SecureCoding #WebAppProtection #APIVulnerabilities #PracticalSecurity #CyberSec #SecureDevelopment
2323
2424
# Fill in the protocol & hostname for your site.
2525
# E.g. 'https://username.github.io', note that it does not end with a '/'.
2626
url: "https://t3chnocr4tx.github.io"
2727

2828
github:
29-
username: t3chnocr4tx # change to your GitHub username
29+
username: T3chnocr4tx # change to your GitHub username
3030

3131
twitter:
32-
username: t3chnocr4tx # change to your Twitter username
32+
username: T3chnocr4tx # change to your Twitter username
3333

3434
social:
3535
# Change to your full name.
@@ -38,7 +38,7 @@ social:
3838
email: [email protected] # change to your email address
3939
links:
4040
# The first element serves as the copyright owner's link
41-
- https://x.com/t3chnocr4tx # change to your Twitter homepage
41+
- https://twitter.com/t3chnocr4tx # change to your Twitter homepage
4242
- https://github.com/t3chnocr4tx # change to your GitHub homepage
4343
# Uncomment below to add more social links
4444
# - https://www.facebook.com/username
@@ -95,10 +95,10 @@ theme_mode: # [light | dark]
9595
# will be added to all media resources (site avatar, posts' images, audio and video files) paths starting with '/'
9696
#
9797
# e.g. 'https://cdn.com'
98-
cdn: "https://chirpy-img.netlify.app"
98+
cdn:
9999

100100
# the avatar on sidebar, support local or CORS resources
101-
avatar: "/commons/avatar.jpg"
101+
avatar: https://pbs.twimg.com/profile_images/1911690195109322752/uZu8y-kY_400x400.jpg
102102

103103
# The URL of the site-wide social preview image used in SEO `og:image` meta tag.
104104
# It can be overridden by a customized `page.image` in front matter.
@@ -223,4 +223,4 @@ jekyll-archives:
223223
tag: tag
224224
permalinks:
225225
tag: /tags/:name/
226-
category: /categories/:name/
226+
category: /categories/:name/

_posts/.placeholder

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +0,0 @@
1-
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
---
2+
title: Username enumeration via different responses
3+
description: This lab is vulnerable to username enumeration and password brute-force attacks. It has an account with a predictable username and password.
4+
date: 2024-05-24 11:33:00 +0800
5+
categories: [Web Security Academy Labs]
6+
tags: [username enumeration, Authentication]
7+
pin: true
8+
math: true
9+
mermaid: true
10+
image:
11+
path: https://static.vecteezy.com/system/resources/previews/025/463/773/non_2x/hacker-logo-design-a-mysterious-and-dangerous-hacker-illustration-vector.jpg
12+
alt: password-reset-poisoning
13+
---
14+
15+
16+
***
17+
# Authentication
18+
### Lab#: Username enumeration via different responses
19+
***
20+
21+
Hola 👋, welcome back! Here is my write-up on [Username Enumeration via Different Responses](https://portswigger.net/web-security/authentication/password-based/lab-username-enumeration-via-different-responses) on Web Security Academy, where I will go through how I approached it. This lab is vulnerable to username enumeration and password brute-force attacks. It has an account with a predictable username and password.
22+
23+
24+
***
25+
### End Goal :#
26+
- Solve the lab, enumerate a valid username, brute-force the user's password
27+
- Then access the account page.
28+
29+
### Username enumeration
30+
**_Username enumeration is when an attacker is able to observe changes in the website's behavior in order to identify whether a given username is valid._**
31+
32+
***
33+
### Testing for vulnerabilities
34+
We are given a wordlists for the username and password:
35+
36+
[Candidate usernames](https://portswigger.net/web-security/authentication/auth-lab-usernames)
37+
38+
[Candidate passwords](https://portswigger.net/web-security/authentication/auth-lab-passwords)
39+
40+
- Accessing the lab, let's check for the features and functionality of the web app to know what type of vulnerabilities to look for. It is a blog site 😎
41+
42+
![1](https://github.com/T3chnocr4t/T3chnocr4t.github.io/assets/115868619/69ac04d5-8bec-4a6f-9ffe-054cc1d102a9)
43+
44+
- Let's go to the login page and submit an invalid username and password and see if we get an 'invalid username' message.
45+
46+
![2](https://github.com/T3chnocr4t/T3chnocr4t.github.io/assets/115868619/b3fd2771-27fa-4597-b9ad-f7d8c9e112ae)
47+
48+
- In Burp, go to Proxy > HTTP history tab and find the POST /login request. Send it to the Repeater tab so we can see it clearly there.
49+
50+
![3](https://github.com/T3chnocr4t/T3chnocr4t.github.io/assets/115868619/79843416-420f-4713-bc31-7e551b408077)
51+
52+
- Highlight the value of the username parameter in the request and send it to Burp Intruder. Go to Burp Intruder in the Positions tab. We can see that the username parameter is automatically set as a payload position, indicated by two § symbols. And select the attack type to sniper.
53+
54+
![4](https://github.com/T3chnocr4t/T3chnocr4t.github.io/assets/115868619/dcfa48b5-2543-4580-bd30-75f906872ebd)
55+
56+
- After that, go to the Payloads tab and make sure that the Simple list payload type is selected. Under Payload settings, paste the list of candidate usernames. and, click Start attack.
57+
58+
![5](https://github.com/T3chnocr4t/T3chnocr4t.github.io/assets/115868619/1ecd1812-1058-4a27-abd6-3dd7ac1f0f82)
59+
60+
- When the attack is complete, on the Results tab, check the Length column. Notice that one of the entries is longer than the others. Compare the response to this payload with the other responses. Notice that the other responses contain the message 'Invalid username,' but this response says 'Incorrect password,' i.e., we now know the username.
61+
62+
![6](https://github.com/T3chnocr4t/T3chnocr4t.github.io/assets/115868619/2d01de38-ea14-4417-8e63-b9c59194786a)
63+
64+
- So, let's close the attack and go back to the Positions tab. Click Clear, then change the value of the username parameter to the username we found. Add a payload position to the password parameter.
65+
- On the Payloads tab, clear the list of usernames and replace it with the list of candidate passwords. Then click Start attack.
66+
- When the attack is finished, let's look at the Status column. Notice that each request received a response with a 200 status code except for one, which got a 302 response. This indicates that the login was successful.
67+
68+
![7](https://github.com/T3chnocr4t/T3chnocr4t.github.io/assets/115868619/20e27afa-5c21-48d4-b627-16b2adbc91e5)
69+
70+
- Now that we know the username and password, let's log in to access the account and solve the labs.
71+
- Note: yours might be different because it unpredictable.
72+
73+
![giphy](https://github.com/T3chnocr4t/T3chnocr4t.github.io/assets/115868619/f676abd6-e5a8-4e9c-9f44-fa3f9c7408e0)
74+
75+
![8](https://github.com/T3chnocr4t/T3chnocr4t.github.io/assets/115868619/93d3fd11-55f6-42ec-9c2a-2edc07eee44c)
76+
77+
That's all, friends. Thank you for reading up to this point. I would like to hear your feedback on anything not clear here. Here is my Twitter account @[T3chnocr4t](https://twitter.com/T3chnocr4t). Feel free to DM me if you have any issues with my write-up. Thanks!
78+
79+
[Go Back Home](https://t3chnocr4t.github.io/)
Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
---
2+
title: "2FA simple bypass"
3+
description: >-
4+
The web app has a two-factor authentication functionality that can be bypassed. We have already obtained a valid username and password but do not have access to the user's 2FA verification code.
5+
date: 2024-05-27 12:10:00 +0800
6+
categories: [Web Security Academy Labs]
7+
tags: [2FA Bypass]
8+
---
9+
10+
11+
12+
# Authentication
13+
### Lab#: 2FA simple bypass
14+
15+
16+
Welcome 👋 back , friends! Here is my write-up on [2FA simple bypass](https://portswigger.net/web-security/learning-paths/server-side-vulnerabilities-apprentice/authentication-apprentice/authentication/multi-factor/lab-2fa-simple-bypass) based on Web Security Academy labs. The web app has a two-factor authentication functionality that can be bypassed. We have already obtained a valid username and password but do not have access to the user's 2FA verification code. Our task is to bypass the verification code for the 2FA. Let's get started, guys.
17+
18+
![giphyr,](https://github.com/T3chnocr4t/T3chnocr4t.github.io/assets/115868619/04ba9281-a073-4bda-a980-020573be9162)
19+
20+
### End Goal #:
21+
- Solve the lab and Access carlos account page.
22+
23+
***
24+
### Testing for vulnerabilities
25+
- Let's check the functionality of the web app. The app is a blog site.
26+
27+
![2fa1](https://github.com/T3chnocr4t/T3chnocr4t.github.io/assets/115868619/6a25461a-0e83-486f-ad5c-ec9f21a0c5a3)
28+
29+
- We are given an account; let's log in to our account. We are sent a 2FA verification code to our email. Let's check our email to get the code.
30+
31+
![2fa3](https://github.com/T3chnocr4t/T3chnocr4t.github.io/assets/115868619/d210e7eb-e944-4442-aee3-4e543da15341)
32+
33+
![2fa2](https://github.com/T3chnocr4t/T3chnocr4t.github.io/assets/115868619/a098854f-2990-47a0-9827-892f7f4f95c0)
34+
35+
- By checking Burp, we can see that our username is the value of the ID parameter when we log in. Let's log out and log in as the user Carlos to access his account without his verification code.
36+
37+
![2fa5](https://github.com/T3chnocr4t/T3chnocr4t.github.io/assets/115868619/8f251da6-d38b-440e-8b1b-e439cee89e12)
38+
39+
- Using the credentials for user Carlos, let's log in. Since we cannot access his email, let's send the request to the Repeater tab, modify the request, and navigate to `/my-account?id=carlos`. The lab is solved when the page loads.
40+
- Or, after we log in, go back to the main web page and click the login functionality again, and it will automatically log in as the user Carlos.
41+
42+
![2fa6](https://github.com/T3chnocr4t/T3chnocr4t.github.io/assets/115868619/19b17e60-a3cd-48c4-ba1b-f7592968c556)
43+
44+
That's all, friends. Thank you for reading up to this point. I would like to hear your feedback on anything not clear here. Here is my Twitter account @[T3chnocr4t](https://twitter.com/T3chnocr4t). Feel free to DM me if you have any issues with my write-up. Thanks!
45+
46+
[Go Back Home](https://t3chnocr4t.github.io/)
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
---
2+
title: Username enumeration via subtly different responses
3+
description: >-
4+
This lab is subtly vulnerable to username enumeration and password brute-force attacks. It has an account with a predictable username and password, which can be found in the following wordlists.
5+
date: 2019-08-09 20:55:00 +0800
6+
categories: [Web Security Academy Labs]
7+
tags: [username enumeration, Authentication]
8+
pin: false
9+
---
10+
11+
12+
***
13+
# Authentication
14+
## Username enumeration via subtly different responses
15+
***
16+
17+
Yo, people!😎 It's been a while. Here is another lab solution based on PortSwigger Labs. This lab is subtly vulnerable to username enumeration and password brute-force attacks. It has an account with a predictable username and password, which can be found in the following wordlists. Our task is to find the valid credentials and log in. Let's go, guys!
18+
19+
```
20+
21+
Candidate usernames
22+
Candidate passwords
23+
24+
```
25+
![hacking](https://github.com/user-attachments/assets/e5afe668-554f-49f1-93ff-b80660446e56)
26+
27+
28+
***
29+
### Authentication
30+
*Authentication vulnerability is a weakness in a system that allows attackers to bypass or break the process used to verify users' identities.*
31+
32+
### End Goals:
33+
- Login valid credentials.
34+
35+
***
36+
### Steps To Reproduce:
37+
38+
![1](https://github.com/user-attachments/assets/46e049da-8937-48e8-bad6-39ccec7cdb81)
39+
40+
- Check all the features and functionality of the application. Be sure to enable your proxy to capture and analyze the and then go to the login functionality pages.
41+
- Enter any username and password you want, then send the request to the Intruder tab and modify some settings.
42+
- In the Payloads make sure that the Simple list payload type is selected and the list of candidate usernames, then in the Settings side panel.Under Grep - Extract, click Add. in the response that appearwe show scroll down we will see `Invalid username or password.` Use the mouse to highlight the text content of the message. then click ok to start the attacks.
43+
44+
![2](https://github.com/user-attachments/assets/4c1d23c3-45a2-46b5-9717-025031b21f32)
45+
46+
![3](https://github.com/user-attachments/assets/b9a27553-c996-46af-99e8-013e116e9c2e)
47+
48+
- In the results, we can see one response that doesn't have a period in the error message. This indicates it's valid. Let’s notice the username.
49+
50+
![6](https://github.com/user-attachments/assets/d3377680-0090-4ca5-ab77-2e7ce9f319c7)
51+
52+
- We have a valid username, so now let's enumerate the passwords to get the full credentials.
53+
- paste the list of passowrd in the payload configuration and start the attacks.
54+
55+
![7](https://github.com/user-attachments/assets/9a8d2eb7-6741-49c3-8eb3-2af22aa25a48)
56+
57+
- Only one response has a different code, 302, which means we have a valid password.
58+
59+
![8](https://github.com/user-attachments/assets/d73e7c6f-f808-4938-8b6c-15256c8f3a49)
60+
61+
- Logging in we sloved the labs.
62+
63+
![9](https://github.com/user-attachments/assets/15493951-211a-4986-9c1a-76acf50d15c9)
64+
65+
That's all, friends. Thank you for reading up to this point. I would like to hear your feedback on anything not clear here. Here is my Twitter account @[T3chnocr4t](https://twitter.com/T3chnocr4t). Feel free to DM me if you have any issues with my write-up. Thanks!
66+
67+
[Go Back Home](https://t3chnocr4t.github.io/)

0 commit comments

Comments
 (0)