Micro-CMS v1 - EASY [WRITE UP]

pan30pan30
3 min read

Challenge at here: https://ctf.hacker101.com/ctf

Write up này mình sẽ note lại chi tiết quá trình mình giải quyết challenge này.
Ở challenge này nó yêu cầu mình tìm ra 4 flag khác nhau.

Flag-0

Sau khi truy cập mình nhận được 3 thông tin như sau

Click vào url thì thấy được có 2 input nên mình thử nhập thông tin bất kỳ để xác định đầu vào của mình có được trả về trong phản hồi không.

Đúng như dự đoán thì đầu vào được trả về và render trong ở trình duyệt

Tiếp theo mình thử sử dụng 2 payload XSS để xác định xem có bất kỳ filters nào không.

<script>alert("title")</script>

<script>alert("comment")</script>

Đây là kết quả mình nhận được ở payload đầu tiên của mình các ký tự như < và > đã bị HTMLencode , còn ở payload thứ 2 dường như thẻ <script> đã bị detech (nhưng vì nó không bị HTMLencode nên mình thử fuzzing nó xem có sử dụng được thẻ nào khác hay không)

sau khi fuzzing mình xác định được thẻ <img> có thể bypass.

mình tiêm payload như sau:

<img src=1 onerror=alert(1)>

và nhận cờ

Flag-1

Lúc này mình click và "Markdown Test" (ở hình 1 ấy) sau đó mình có được giao diện như này

sau khi click vào "Edit this page"

dựa vào input và ở .../page/edit/2 và thông tin được render ra .../page/2 thì mình đoán chỗ này cũng có thể chứa 1 lỗ hổng XSS khác. mình thử xem src code của .../page/2

có vẻ như nó sẽ lấy thông tin trực tiếp từ input bất đầu từ "adorable kitten](https://static1.squarespace.com/static/54e8ba93e4b07c3f655b452e/t/56c2a04520c64707756f4267/1493764650017/)"

từ đó mình chuẩn bị payload như sau" src=1 onerror="alert(1)"

"  src=1 onerror="alert(1)"

nhân save và nhận flag hihi!!

Flag-2

Từ thông tin mà URL cung cấp thì mình đoán rằng các yêu cầu dựa vào những số để truy vấn và phản hồi, nên mình thử fuzzing xem có lỗ hổng IDOR nào khác không.

mục tiêu của mình là 2 URL từ đầu tới giờ chúng ta tương tác nhiều nhất:

.../page/x và .../page/edit/x
Lưu ý: x là một số dương bất kỳ

từ kết quả .../page/x không có gì mới :((

Nhưng từ kết quả .../page/edit/x thì khác có một trang khác .../page/edit/6

Thử truy cập .../page/edit/6 và nhận cờ

Flag-3

lúc đầu mình nghĩ đây cũng là một lỗ hổng XSS nhưng mà sau khi nhấn save thì nhận về phản hồi 404. Nhưng khi nghĩ lại thì mình quay lại Flag-2 "Từ thông tin mà URL cung cấp thì mình đoán rằng các yêu cầu dựa vào những số để truy vấn và phản hồi",
vậy liệu có tồn tại lổ hổng SQLi nào không?

mình thử inject một dấu ' để xem có thể phá vỡ cấu trúc của câu query không, thì nhận được cờ luôn ! (chắc tại bài này chỉ ở mức độ EASY nên khá dễ bypass).

0
Subscribe to my newsletter

Read articles from pan30 directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

pan30
pan30

Red