Skip to content

Commit ba26d54

Browse files
authored
Merge pull request #23 from KapilSareen/master
(feat): adds irmun post Looks fine to me :>
2 parents 8fd9075 + 07fabcd commit ba26d54

File tree

7 files changed

+61
-0
lines changed

7 files changed

+61
-0
lines changed
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
---
2+
layout: post
3+
date: 2024-02-14
4+
title: Web exploitation at IRMUN
5+
tags: ['vulnerability-writeups']
6+
---
7+
8+
# Hacking IRMUN website
9+
10+
Hi everyone! I’m Kapil Sareen, *aka **v1p3r***, a wannabe hacker and a member of **@InfoSecIITR**. Today I’m excited to share what I **HACKED**!
11+
12+
I’ll walk you through the process of discovering the vulnerability and demonstrate how small mistakes during development can lead to significant consequences.
13+
14+
First, let’s give a shoutout to our sweet little vulnerable target β€” `IRMUN`. The bug was actually in their payment gateway integration, which allowed us to bypass payments entirely and enjoy free accommodations and food, all courtesy of our generous host, `IRMUN`.
15+
16+
![WEBSITE PHOTO](../assets/irmun/before_payment.png)
17+
18+
Alright, let’s dive into the real action!
19+
We’ll start by making a sample registration to see how we can avail the free goodies. But before proceeding, let’s check the payment status:
20+
21+
![PAYMENT STATUS BEFORE](../assets/irmun/before_payment.png)
22+
23+
As we can see, our **payment status** shows as **incomplete**.
24+
25+
Let’s attempt to **make a payment** while intercepting the requests using **Burp Suite** to monitor the traffic in real-time. We get redirected to the **payment page**, but… wait! We’re broke. So, let’s **cancel the payment** and return to inspect the backend requests captured by **Burp Suite**.
26+
27+
One request immediately stands out β€” it’s directed to the endpoint:
28+
**`/api/payment_failure`**.
29+
30+
<div style="display: flex; gap: 10px; justify-content: center;">
31+
<img src="../assets/irmun/failure_request.png" alt="Failure Request" style="max-width: 48%;"/>
32+
<img src="../assets/irmun/endpoint_discover.png" alt="Endpoint Discovery" style="max-width: 48%;"/>
33+
</div>
34+
35+
36+
37+
Let’s send this request to **Repeater** and see what it’s up to. Hmm… something feels off. The request body contains some peculiar URLs:
38+
39+
- **`surl=http://irmun.iitr.ac.in/api/payment_failure`**
40+
- **`furl=http://irmun.iitr.ac.in/api/payment_failure`**
41+
42+
Could these represent **success URL** and **failure URL**? And why is the request being sent to `/api/payment_failure`?
43+
44+
Let’s experiment by changing the endpoint to:
45+
**`/api/payment_success`**
46+
47+
![Endpoint Change](../assets/irmun/endpoint_change.png)
48+
49+
Interesting… we get a **302 redirect** to `/successful`. Looks like we’ve stumbled upon something promising.
50+
51+
Now, let’s **drop all pending requests**, refresh the page, and **recheck our payment status**.
52+
53+
![After Payment](../assets/irmun/after_payment.png)
54+
55+
#### 🎯 **Voila! The payment is marked as complete.**
56+
57+
Now we can enjoy all the **free goodies** without spending a dime!
58+
59+
---
60+
61+
**πŸ“ PS:** This vulnerability has been **responsibly reported** to and **patched by IRMUN**, so don’t worry β€” this is all **legal stuff**. πŸ˜‰
902 KB
Loading
995 KB
Loading
894 KB
Loading
1.23 MB
Loading
1.17 MB
Loading
369 KB
Loading

0 commit comments

Comments
Β (0)