Shikata Ga Nai

Private? There is no such things.

Story Of Unexpected Bugsを訳してみた

Hello there, ('ω')ノ

 

予期せぬバグの話を。

 

脆弱性:

 IDOR

 XSS

 

記事:

 https://medium.com/@nehpatel/story-of-unexpected-bugs-75734d51ac57


メールをチェックすると「unsubscribe」というボタンまたはリンクがあって。

これはその会社のメール通知の登録を解除するためのもので。

 

f:id:ThisIsOne:20210827151536p:plain

 

この「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からF0から9桁しかないことに気づくことに。

これは、プレーンなメールアドレスの16進数で。

デコードした後、実際の電子メールアドレスを取得したところ、すべて大文字で。

その値を変更することに。

 

 https://www.binaryhexconverter.com/hex-to-ascii-text-converter

 

f:id:ThisIsOne:20210827154137p:plain

 

 30316E6568706174656C6F6666696369616C40676D61696C2E636F6D

 ⇩

 01nehpatelofficial@gmail.com

 

偽の電子メールアドレスを取得し、すべての文字を大文字に変更して。

16進数にエンコードし、エンコードされた文字列をコピーして。

email」パラメータのに貼り付けることで、IDORを見つけることに。

これで、誰のメールからも登録を解除できて。

 

さらに下記の単純なXSSペイロードを書くことに。

 <script>alert(document.domain)</script>

 

すべての文字を大文字にし、16進数でエンコードして。

email」パラメータに貼り付けるとXSSが。

 

Best regards, (^^ゞ