# Server Side XSS (Dynamic PDF)
{{#include ../../banners/hacktricks-training.md}}
## Server Side XSS (Dynamic PDF)
Jeśli strona internetowa tworzy PDF przy użyciu danych kontrolowanych przez użytkownika, możesz spróbować **oszukać bota**, który tworzy PDF, aby **wykonał dowolny kod JS**.\
Więc, jeśli **bot tworzący PDF znajdzie** jakiś rodzaj **znaczników HTML**, będzie je **interpretować**, a ty możesz **wykorzystać** to zachowanie, aby spowodować **Server XSS**.
Zauważ, że znaczniki `` nie zawsze działają, więc będziesz potrzebować innej metody do wykonania JS (na przykład, wykorzystując `
```
### SVG
Każdy z poprzednich lub następujących ładunków może być użyty wewnątrz tego ładunku SVG. Jako przykłady podano jeden iframe uzyskujący dostęp do subdomeny Burpcollab i drugi uzyskujący dostęp do punktu końcowego metadanych.
```html
```
Możesz znaleźć wiele **innych ładunków SVG** w [**https://github.com/allanlw/svg-cheatsheet**](https://github.com/allanlw/svg-cheatsheet)
### Ujawnienie ścieżki
```html
```
### Załaduj zewnętrzny skrypt
Najlepszym sposobem na wykorzystanie tej luki jest nadużycie jej, aby zmusić bota do załadowania skryptu, który kontrolujesz lokalnie. Wtedy będziesz mógł lokalnie zmieniać ładunek i sprawić, że bot załaduje go za każdym razem z tym samym kodem.
```html
')"/>
```
### Odczyt lokalnego pliku / SSRF
> [!WARNING]
> Zmień `file:///etc/passwd` na `http://169.254.169.254/latest/user-data`, aby **spróbować uzyskać dostęp do zewnętrznej strony internetowej (SSRF)**.
>
> Jeśli SSRF jest dozwolone, ale **nie możesz osiągnąć** interesującej domeny lub IP, [sprawdź tę stronę w poszukiwaniu potencjalnych obejść](../ssrf-server-side-request-forgery/url-format-bypass.md).
```html
```
```html
```
```html