arrow-left

All pages
gitbookPowered by GitBook
1 of 1

Loading...

NodeJS - XSS-href

hashtag
Running the app on Docker

circle-check

Now that the app is running let's go hacking!

hashtag
Reconnaissance

hashtag
Step 1

The application invites you to fill a website in the input box, that will be used from the "visit my website!" link to redirect to it.

If we insert https://google.com, and click on "visit my website!" we will be redirected to the Google website. As we can see in the screenshot below our input is reflected in the page inside an href attribute.

hashtag
Step 2

The next step is to see if we could include JavaScript that can be executed in the href attribute.

circle-check

href="javascript:JS PAYLOAD"

Autoescape is disabled by default so every characters will be reflected in the following snippet in the template.

hashtag
Exploitation

hashtag
Step 1

Now we have seen where the user input is being reflected in the href, we can craft the payload to trigger an alert box and exploit our XSS.

and clicking the button, we achieve what we were looking for.

hashtag
Additional sources

Please refer to the OWASP testing guide for a full complete description about path traversal with all the edge cases over different platforms!

$ sudo docker pull blabla1337/owasp-skf-lab:js-xss-url
$ sudo docker run -ti -p 127.0.0.1:5000:5000 blabla1337/owasp-skf-lab:js-xss-url
<center> <p style="font-size:2em;"> 

<div data-gb-custom-block data-tag="autoescape" data-0='false'> <a style="font-size:20px;" href="{{xss}}">visit my website!</a> </div>

</p></center>
javascript:alert('XSS')
EJS -- Embedded JavaScript templatesejs.cochevron-right
Logo
https://www.owasp.org/index.php/Testing_for_Reflected_Cross_site_scripting_(OTG-INPVAL-001)www.owasp.orgchevron-right