TGViewer
Заметки Слонсера Заметки Слонсера @slonser_notes · 3.03K subscribers
Post #842 9.85K
#quick #XSS
Многие забывают, что парсинг html на бекенде - довольно сложный процесс. Поэтому на уровне даже стандартных парсеров популярных языков программирования - он не реализован полностью
Рассмотрим код на python:
from html.parser import HTMLParser

class MyHTMLParser(HTMLParser):
def handle_starttag(self, tag, attrs):
print(f"{tag}")
for attr in attrs:
print(f" ->{attr[0]}: {attr[1]}")

def handle_endtag(self, tag):
pass

def handle_startendtag(self, tag, attrs):
print(f"{tag}")
for attr in attrs:
print(f" ->{attr[0]}: {attr[1]}")

def handle_data(self, data):
pass

html_string = input()

parser = MyHTMLParser()
parser.feed(html_string)

Этот код выводит теги и их атрибуты.
При этом стандартная библиотека питона не учитывает, что для тегов
"iframe", "noembed", "noframes", "noscript", "plaintext", "title", "textarea", "xmp"

Содержимое не обрабатывается как html теги
Соответственно при вводе:
<textarea><a href="x></textarea><img src=x onerror=alert()//">

Результат парсинга будет выглядеть следующим образом:
textarea
a
->href: x></textarea><img src=x onerror=alert()//

В то время как в браузере это будет выглядеть следующим образом:
            <textarea>&lt;a href="x&gt;</textarea><img src="x" onerror="alert()//&quot;">

И соответсвенно выведется alert()
Вещь баянистая, но многие про это забывают при той же эксплуатации Server Side XSS

Попробую такой формат заметок
  • 👍 40
  • 🔥 12
  • ❤ 4
More from @slonser_notes
  1. Aug 9, 2026https://portswigger.net/research/css-the-bomb-inside-your-inbox Очень классный ресерч от G…
  2. Jul 4, 2026Наконец-то гугл запатчили багу которую мы сдавали ещё в ноябре прошлого года Наверное сама…
  3. May 26, 2026Во время конфаба записали подкастик Наверное откровений там не найдете, но послушать пока…
  4. Mar 19, 2026Хороший пост про ИИ от Петра Уварова (известный вам по ББ ВК, да он завел канал в MAX Tele…
  5. Mar 4, 2026Приходите послушать меня -_+
  6. Mar 4, 2026VK Security Confab для: Bug Bounty edition — уже 19 марта 🔥 Соберёмся офлайн, чтобы обсуд…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →