BaseCTF web-200 [write-up]

Problem ရဲ႕ target က alert box ရ​ေအာင္​​လုပ္​​ေပးရမွာပါ။

Challenge link => http://basectf.org/web/9ace5156c4f4038d7dcd4f16cfc1beac/

ကြန္​​ေတာ္​တို႔ input box မွာ စထည္​့ရ​ေအာင္​။ကြၽန္​​ေတာ္​က​ေတာ့

“<aaaaaa>’

ဒီလို​ေလးအရင္​ထည္​့ၾကည္​့လိုက္​တယ္​။
“<>’ အဲ့တာ​ေတ တစ္​ခါတည္​းထည့္​့တာက ဘာကို filter လုပ္​ထားလဲ သိရ​ေအာင္​ပါ။
Ok let’s check the view-source.

Fig-1

ကြၽန္​ေတာ္​ ထည္​့လိုက္​တဲ့ input က

<script> </script>

ထဲကို ​ေရာက္​သြားတယ္။
ျပီး​ေတာ့ string ကို filter လုပ္​ထားတယ္​ဆိုတာ ​ေတာ့သိလိုက္​ ရၿပီ​။
အို​ေက ဒီ​ေတာ့ စလိုက္​ရ​ေအာင္​

<script>alert(9999)</script>

အ႐ိုး႐ွင္​း ဆံုးက​ေနဘဲ စၾကတာ​ေပါ့ 😛

Fig-2

Your input <>(9999)</>

အဲ့တာ​ေလးဘဲ output ျပန္​ျပတယ္​ ဆို​ေတာ့ script ​ေတ alert ​ေတ filter လုပ္​ထားတယ္​။ ဒါတင္​ဘဲလား ဆို​ေတာ့ prompt,confirm ,<img>,<svg> ​ေတပါ filter လုပ္​ထားတာဗ်။
ဒီ​ေတာ့ escape စလုပ္​ရ​ေအာင္​။

<script>ဆိုၿပီး ဒီအတိုင္​း input ထည္​့လိုက္​ရင္​ filter လုပ္​လိုက္​တယ္​ဆို​ေတာ့

<scrscriptipt>

အဲ့လိုေလး ထည့္ျကည့္မယ္

Fig-3

Ok that is work 😛

​​ေနာက္​ထပ္​တစ္​ဆင္​့ထပ္​တက္​မယ္​

<scrscriptipt>alalertert(9999)</scrscriptipt>

ထည္​့ၾကည္​့မယ္​
:'(  alert တက္​မလာဘူး…….
ဆိုၿပီး စိတ္​ဓာတ္​က်မသြားပါနဲ႔ 😛
Web page မွာ ထူးျခားမႈ ​ေလးကို​ေသခ်ာၾကည္​့ ဘယ္​ဘက္​ ​ေထာင္​့စြန္​းမွာ

Fig-4

Web page မွာ error တက္၇တာက input ထည့္လိုက္တဲ့ code အလုပ္ လုပ္လို့ပါဘဲ။
ကြၽန္​​ေတာ္​တို႔ရဲ႕ input က <script>tag ထဲ ​ေရာက္​​ေနတာ ​ေလ။
ၿပီး ​ေတာ့ javascript က case sensitive
ဆိုတာသိထားဖို႔လိုပါတယ္​။
HTML tag ​ေတြ အတြင္​းမွာ javascript အလုပ္​လုပ္​​ေပမယ္​့
Javascript tag ထဲမွာ ​​ေတာ့မရပါဘူး။
အဲ့​ေတာ့ မူရင္​း
tag ကိုပါ ျပန္​ ပိတ္​​ေပးဖို႔လိုပါလိမ္​့မယ္​။
So final exploit code is

</scrscriptipt><scrscriptipt>alalertert(9999)</scrscriptipt>

Fig-5

B00M :3

Finally I got it .

Alert box ကို web page ​ေလးပါ ​တြဲေပၚခ်င္​ရင္​​ေတာ့

</scrscriptipt><ssvgvg onload=alalertert(9999)>

Fig-6

Flag က​ေတာ့ organizer ​​ေတြကို alert ရ​ေၾကာင္​း ျပရင္​ သူတို႔က flag ကို လာ​ေျပာပါလိမ္​့မယ္။
Thanks for reading.