SOURCE
    location.search
    SINK
    element.innerHTML

    1. function doSearchQuery(query) {
    2. document.getElementById('searchMessage').innerHTML = query;
    3. }
    4. var query = (new URLSearchParams(window.location.search)).get('search');
    5. if (query) {
    6. doSearchQuery(query);
    7. }

    SOURCE
    location.search
    SINK
    document.write(

    1. function trackSearch(query) {
    2. document.write('<img src="/resources/images/tracker.gif?searchTerms=' + query + '">')
    3. }
    4. var query = (new URLSearchParams(window.location.search)).get('search');
    5. if (query) {
    6. trackSearch(query)
    7. }

    SOURCE
    event.data
    SINK
    eval()

    1. window.addEventListener('message', function(e) {
    2. eval(e.data);
    3. });

    SOURCE
    location.hash
    SINK
    location

    1. let url = /https?:\/\/.+/.exec(location.hash);
    2. if (url) {
    3. location = url[0];
    4. }

    SOURCE
    location.hash
    SINK
    location

    1. goto = location.hash.slice(1)
    2. if (goto.startsWith('https:')) {
    3. location = goto;
    4. }