-
Notice that the home page contains an
addEventListener()
call that listens for a web message. -
Go to the exploit server and add the following
iframe
to the body. Remember to add your own lab ID:<iframe src="https://YOUR-LAB-ID.web-security-academy.net/" onload="this.contentWindow.postMessage('<img src=1 onerror=print()>','*')">
- Store the exploit and deliver it to the victim.
When the iframe
loads, the postMessage()
method sends a web message to the home page. The event listener, which is intended to serve ads, takes the content of the web message and inserts it into the div
with the ID ads
. However, in this case it inserts our img
tag, which contains an invalid src
attribute. This throws an error, which causes the onerror
event handler to execute our payload.