what is self-xss ?

self-xss ဆိုုတာဘာလဲ?
ဆိုုပါစိုု႔ ကၽြန္ေတာ ္တိုု႔ website တစ္ခုုမွာ xss ေပါက္တယ္ေပါ့။
ဥပမာေပါ့ forum တစ္ခုုရဲ႕ comment ေပးလိုု႔ရတဲ့ေနရာမွာ XSS ေပါက္ခဲ့ရင္ အဲ့ဒီ XSS က stored-xss လိုု႔ေခၚတယ္ဗ်။
အလြယ္နည္းဆိုု database ထဲကိုုသြားထည့္တဲ့ေနရာ အဲ့ data ကိုု ဖ်က္မပစ္ မခ်င္းေပါက္ေနမွာပဲ အဲ့လိုုမ်ိဳးကိုုေခၚတာပါ။
ေတာ္ေတာ္မ်ားမ်ားက stored-xss နဲ႔ self xss ကိုုမွားၾကတယ္။
ခဏေန self xss ဆိုုတာဘာလည္းဆိုုတာေျပာမယ္ေနာ္။
Stored-XSS ဘာလညး္ဆိုုတာကၽြန္ေတာ္ ဥပမာျပပါ့မယ္။
၁လပိုုင္းတုုန္းက microsoft outlook mail မွာ ကၽြန္ေတာ္ Stored-XSS ကိုု report လုုပ္ခဲ့ပါတယ္။
microsoft က သူ႕ရဲ႕  bounty scope ကိုု mobile application ေတြကိုု မေပးတဲ့အတြက္ bounty မရခဲ့ဘူးေပါ့။
သူတိုု႔ hall of fame မွာေတာ့ထည့္ေပးပါတယ္။
attacker က victim ကိုု mail လွမ္းပိုု႔တာနဲ႔ တကယ္လိုု႔သာ victim က outlook သံုုးထားတာနဲ႔ ထိမွာပါ။ အဲ့လိုုမ ်ိုဳးကိုု Stored-XSS လိုု႔ေခၚပါတယ္။
ဒါက Amazon drive share link မွာေပါက္တာပါ။ ျပင္သြားပါျပီ။
attacker က victim ကိုု အဲ့ဒီ link ကိုုသြားပိုု႔တာနဲ႔ victim က၀င္ၾကည့္တာနဲ႔ အလုုပ္လုုပ္မွာပါ။
အဲ Reflected-xss က ်ေတာ ့ကၽြန္ေတာ္တိုု႔ ဆီကိုု victim ၀င္ၾကည့္ရံုုနဲ႔ မရေတာ့ဘူး။
ကၽြန္ေတာ္တိုု႔ က victim ကိုု email ကေနျဖစ္ျဖစ္လွမ္းပိုု႔မွ javascript code ကိုု execute လုုပ္ႏိုုင္တယ္ေပါ့။
ကၽြန္ေတာ္တိုု႔ GET request ရဲ႕ parameter တစ္ခုုမွာ XSS ေပါက္ခဲ့ရင္ အဲ့ဒါကိုု reflected-xss လိုု႔ေခၚပါတယ္။
တစ္ခါတစ္ေလ POST request မွာလည္း reflected ျဖစ္ႏိုုင္တာရွိပါတယ္။
ဥပမာ ဒီလိုုမ်ိုုးဆိုုပါစိုု႔ …..

https://example.com/index.php?search=’”><svg/onload=alert(document.domain)>
အဲ့လိုုမ်ိဳးကိုုက်ေတာ့ Reflected-XSS လုိ႔ေခၚပါတယ္။
လာျပီဗ ် Self-xss
hackerone ျဖစ္ျဖစ္တျခားေနရာျဖစ္ျဖစ္ google ျဖစ္ျဖစ္ေပါ့ တစ္ေနရာရာမွာ XSS ေတြ႕တယ္ေပါ့။ ဒါေပမယ့္ အဲ့ဒီ XSS က ဘာမွလုုပ္လိုု႔မရဘူး။
ကၽြန္ေတာ့္တိုု႔ register page တစ္ခုုရွိတယ္ဗ်ာ အဲ့ဒီ register ရဲ႕ name ေနရာကေန XSS ရတယ္ပဲထား အဲ့ဒီ XSS က ကိုုယ္တစ္ေယာက္ပဲၾကည့္လိုု႔ရတယ္။
သူ႕ ကိုု share လုုပ္လိုု႔လည္းမရဘူး victim ကိုု invite လုုပ္လို႔လည္းမရဘူး အဲ့ဒီလိုုမ်ိုဳး ဟာကိုု ေတာ့ Self-XSS လိုု႔ေခၚပါတယ္။
ဘယ္ website မွာပဲ report လုုပ္လုုပ္ အဲ့လိုု bug မ်ိဳးကိုု ဘယ္ owner ကမွမေပးပါဘူး။ ဟာ ငါ Stored-XSS ၾကီးေတြ႕ထားတာပဲ သူတိုု႔ဘာလိုု႔မေပးတာလဲဆိုုျပီး ဆဲေနၾကမွာဆိုုးလိုု႔ပါ။
ဟုုတ္ကဲ့ ဥပမာျပပါ့မယ္။ imgur.com မွာ ကၽြန္ေတာ္တိုု႔ message ပိုု႔လိုု႔ရတယ္။ အဲ့ဒီေနရာမွာ XSS reflection ျဖစ္တဲ့ေနရာအခုုထိရွိေနပါတယ္။
အခုုထိလညး္စမ္းၾကည့္လိုု႔ရေနပါတယ္ စမ္းၾကည့္ပါ။
ဒါက Aol mail ရဲ႕ Self-XSS ပါ။ ကၽြန္ေတာ္တိုု႔ compose မလုုပ္ခင္ထိ XSS ကေပါက္တုုန္းပဲ အဲ sent ျပီးျပီဆိုုတာနဲ႔ အဲ့ဒါအလုုပ္မလုုပ္ေတာ့ဘူး။
victim ဖက္ကိုုလည္းမေရာက္သလိုု attacker ဖက္ကိုုလည္းမေရာက္ဘူး။ အဲ့လိုုမ်ိဳးကိုု Self-XSS လိုု႔ေခၚပါတယ္။
uber မွာဟိုုတုုန္းက ျဖစ္ခဲ့တဲ့ Self-XSS ကိုု Good-XSS ေျပာင္းတာဖတ္ၾကည့္ၾကည့္ပါ ေတာ္ေတာ္မိုုက္ပါတယ္။

https://whitton.io/articles/uber-turning-self-xss-into-good-xss/
 ကၽြန္ေတာ့္ဆရာအျမဲေျပာတဲ့ စကားတစ္ခုုရွိတယ္ဗ်။ hacking ဆိုုတာ နားမလည္ရင္ေတာ့ magic အရမ္းဆန္ေနမွာပဲ နားလည္သြားရင္ magic မဆန္ေတာ့ဘူးတဲ့။
အဲ့လိုုပဲဗ် XSS ဆုုိတာ alert ထုုတ္ျပရံုုေလာက္မဟုုတ္ပါဘူး။ alert ထုုတ္ျပရံုုပဲဆိုုလည္း ဘယ္သူမွဂရုုစိုုက္မွာမဟုုတ္ပါဘူး။
twitter က ဟိုုးတုုန္းကေပါက္တဲ့ XSS worm ေလးရွာဖတ္ၾကည့္ပါ risk ဘယ္ေလာက္ထိၾကီးတယ္ဆိုုတာသိပါလိမ့္မယ္။
ေနာက္ဆံုုး Self-XSS ဆိုုတာကၽြန္ေတာ္တိုု႔ developer console ကေန ျပီး alert(docuemnt.domain) ရုုိက္မွ Self-XSS မဟုုတ္ပါဘူးဟုု နိဂုုန္း ခ်ဳပ္ရင္းနဲ႔ပဲ။

3 Comments

  1. ေက်းဇူးပဲဗ် ဖတ္ရတာ နားလည္ လြယ္ပါတယ္။
    ေနာက္လည္း ဆက္ေရးေပးပါဦးဗ်။

  2. ေက်းဇူးပါ မာမီရွိန္း 🙂 ဟီးးး စတာေနာ ဗဟုသုတ ေတ တိုးပါတယ္ 🙂

Comments are closed.