Hello there, ('ω')ノ
予期せぬバグの話を。
脆弱性:
IDOR
XSS
記事:
https://medium.com/@nehpatel/story-of-unexpected-bugs-75734d51ac57
メールをチェックすると「unsubscribe」というボタンまたはリンクがあって。
これはその会社のメール通知の登録を解除するためのもので。
この「unsubscribe」リンクをチェックすることに。
そのリンクには「email」というパラメータがあって。
https://target.maintarget.com/cgi-bin/qsurveyadmin.dll?request=exclude&idx=63364C&email=30316E6568706174656C6F6666696369616C40676D61696C2E636F6D&language=English&languagecharset=utf-8&source=1
「email」パラメータの値を変更するとどうなるかを考えることに。
そのパラメータの値は何らかの形式でエンコードされているので。
その値をデコードすることに。
base64、md5、その他の一般的な暗号化方法で確認しても何も見つからず。
しばらくして、その値にはAからFと0から9桁しかないことに気づくことに。
これは、プレーンなメールアドレスの16進数で。
デコードした後、実際の電子メールアドレスを取得したところ、すべて大文字で。
その値を変更することに。
https://www.binaryhexconverter.com/hex-to-ascii-text-converter
30316E6568706174656C6F6666696369616C40676D61696C2E636F6D
⇩
01nehpatelofficial@gmail.com
偽の電子メールアドレスを取得し、すべての文字を大文字に変更して。
16進数にエンコードし、エンコードされた文字列をコピーして。
「email」パラメータのに貼り付けることで、IDORを見つけることに。
これで、誰のメールからも登録を解除できて。
さらに下記の単純なXSSペイロードを書くことに。
<script>alert(document.domain)</script>
すべての文字を大文字にし、16進数でエンコードして。
「email」パラメータに貼り付けるとXSSが。
Best regards, (^^ゞ