「You can add extra zeroes. XSS bypass on a private bug bounty program」からXSSを学ぶ

ソース:

medium.com

脆弱性XSS

 

訳:

プライベート招待を受け取り、プログラムに興味を持ったので、メイン Webサイトにサインアップし、クリックしてすべての機能を使用し始め。

「name」パラメータの値が「iframe」タグ内に反映されているこのエンドポイントを見つけ。

 

 

 

幸いなことに、 "文字はエンコードされていなかったので、問題から抜け出すことができました、src。

 

(および ` 文字は使用できないため、403 エラーが発生し。

 

test" onload=alert(origin) --> 403
test"
onload=print`` --> 403
test" onload=alert origin) --> 200


数分間遊んでみましたが、 活用できませんでした 。 

 

 

ペイロード

" onload=alert&#0000000040origin) value=" 

 

ここで何が起こっているのかを彼が教えてくれたので、ここに書き留めておきます。

  • JS は 10 進数の Unicode 文字を受け入れるため、次のように書くことができます。 &#40の代わりに (。 以下を確認して

    www.endmemo.com

しかし、このペイロードによって再び 403 ページが発生しており、この場合はバイパスではなく。

  • を追加できます 後に余分な ゼロ &#そしてそれは次のように扱われます &#40それは (。 JSってすごいですよね?

 

 

ほなほな。