Hacker 101 CTF Write Up Part 2 - Micro-CMS v1, Petshop Pro

系列篇第二篇,Micro-CMS v1 還因為玩壞掉我重開了快二十次才可以開來玩 QQ

Micro-CMS v1

根據題目總共有 4 個 Flag

0x00

打開頁面後頁面是

試著建立 post 試試看

發現有 XSS 跳出來,但打開原始碼沒發現什麼變化

按了 Go Home 會去上一頁就跳出 FLAG 了

0x01

因為跳出 xss 的時候注意到 page 後面的 id 帶的是 8
覺得很疑惑,因為總共才三筆資料,id 怎麼會是 8?

於是就 8 7 6 回去一個一個看看是不是有什麼玄機
發現 id 是 6 的時候,出現了 forbidden 的字樣,寫著不可讀

竟然不可讀的話,試著加上 edit 發現可以編輯,且內容有 FLAG

0x02

接下來就試著對每一個頁面的 id 做 SQL Injection
發現在 edit 的頁面狀況下,id 會有 SQL Injection
於是就跳出 FLAG 了

0x03

這個漏洞我找非常非常的久
才發現原來的 <svg/onload=alert('xss') payload 是跳不出 FLAG 的
要用 <img src="" onerror="javascript:alert('xss')"/> 才跳得出來

打開原始碼發現 FLAG 就藏在下面
第一張是 img tag 的原始碼
第二張是 svg tag 的原始碼
兩個都可以觸發 xss,但只有 img 有 FLAG
不知道為何 svg 那一個 payload 不能觸發
可能是這題的解答,有希望某一些固定的 tag 去寫
才會造成 svg payload 跳不出 FLAG

Petshop Pro

根據題目總共有 3 個 Flag

0x00

進去之後頁面長這樣

按下 Add to Cart 之後

在按下 checkout

看來是一個結帳流程,講到錢就想來試試看能不能 0 元結帳
看了一下 source code 發現有一個 hidden input

並且用 javascript 把價格更改成 0 元後送出

送出後價格為 0 元且拿到 FLAG

0x01

透過 nmap 找到登入點為 /login 之後

稍微試著輸入單引號看看會不會有 SQL Injection 問題,結果沒有 QQ
但因為輸入 username 的時候,輸入錯誤會爆出 Invalid username

代表說此系統設計方式,如果輸入正確的 username 的話,應該不會爆出這個錯誤
根據以上邏輯先寫出第一版程式找找看 username

找到 username 後輸入,的確變成 Invalid password
那就繼續找密碼

接下來用一樣的方式找到密碼

登入成功,出現 FLAG!

0x02

登入後發現可以編輯商品

試著輸入 xss payload,跳出 xss,但打開原始碼沒發現任何東西

試著加入購物車發現,也會跳出 xss

打開原始碼發現 FLAG!


Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×