Server Side XSS (Dynamic PDF)
Serverkant XSS (Dinamiese PDF)
As 'n webbladsy 'n PDF skep deur gebruikersbeheerde insette te gebruik, kan jy probeer om die bot wat die PDF skep, te verneuk om willekeurige JS-kode uit te voer. Dus, as die PDF-skepper-bot sekere soorte HTML-etikette vind, sal dit hulle interpreteer, en jy kan hierdie gedrag misbruik om 'n Server XSS te veroorsaak.
Let asseblief daarop dat die <script></script>
etikette nie altyd werk nie, so jy sal 'n ander metode nodig hê om JS uit te voer (byvoorbeeld deur <img
te misbruik).
Let ook daarop dat jy in 'n gewone uitbuiting in staat sal wees om die geskepte pdf te sien/aflaai, sodat jy alles wat jy via JS skryf kan sien (deur byvoorbeeld document.write()
te gebruik). Maar as jy die geskepte PDF nie kan sien nie, sal jy waarskynlik die inligting moet onttrek deur webversoeke na jou te maak (Blind).
Gewilde PDF-generering
wkhtmltopdf is bekend vir sy vermoë om HTML en CSS in PDF-dokumente om te skakel deur die WebKit-renderingsenjin te gebruik. Hierdie hulpmiddel is beskikbaar as 'n oopbron-opdraglyn-hulpprogram, wat dit toeganklik maak vir 'n wye verskeidenheid toepassings.
TCPDF bied 'n robuuste oplossing binne die PHP-ekosisteem vir PDF-generering. Dit is in staat om beelde, grafika en versleuteling te hanteer, wat sy veelsydigheid vir die skep van komplekse dokumente toon.
Vir diegene wat in 'n Node.js-omgewing werk, bied PDFKit 'n lewensvatbare opsie. Dit maak die generering van PDF-dokumente direk vanuit HTML en CSS moontlik, en bied 'n brug tussen webinhoud en drukbare formate.
Java-ontwikkelaars verkies dalk iText, 'n biblioteek wat nie net PDF-skepping fasiliteer nie, maar ook gevorderde funksies soos digitale handtekeninge en vorminvulling ondersteun. Sy omvattende funksiestel maak dit geskik vir die skep van veilige en interaktiewe dokumente.
FPDF is 'n ander PHP-biblioteek wat uitstaan deur sy eenvoud en gebruiksgemak. Dit is ontwerp vir ontwikkelaars wat 'n eenvoudige benadering tot PDF-generering soek, sonder die behoefte aan uitgebreide funksies.
Lading
Ontdekking
SVG
Enige van die vorige of volgende payloads kan binne hierdie SVG payload gebruik word. Een iframe wat toegang tot die Burpcollab subdomein verkry en 'n ander wat toegang tot die metadata-eindpunt verkry, word as voorbeelde gegee.
Jy kan baie ander SVG-ladingstukke vind in https://github.com/allanlw/svg-cheatsheet
Pad-onthulling
Laai 'n eksterne skrip
Die beste manier om hierdie kwesbaarheid uit te buit, is om die kwesbaarheid te misbruik om die bot 'n skrip te laat laai wat jy plaaslik beheer. Dan sal jy in staat wees om die payload plaaslik te verander en die bot dit elke keer met dieselfde kode te laat laai.
Lees plaaslike lêer / SSRF
Verander file:///etc/passwd
na http://169.254.169.254/latest/user-data
byvoorbeeld om te probeer om 'n eksterne webblad (SSRF) te bereik.
As SSRF toegelaat word, maar jy nie 'n interessante domein of IP kan bereik nie, kyk na hierdie bladsy vir potensiële omseilings.
Bot vertraging
In some cases, websites implement bot delay mechanisms to prevent automated bots from performing actions too quickly. These mechanisms introduce a delay between each action performed by the bot, making it harder for the bot to carry out its intended tasks.
Bot vertragingsmeganismes word in sommige gevalle deur webwerwe geïmplementeer om te voorkom dat geoutomatiseerde bots te vinnig optree. Hierdie meganismes voeg 'n vertraging in tussen elke aksie wat deur die bot uitgevoer word, wat dit moeiliker maak vir die bot om sy beoogde take uit te voer.
Poort Skandering
'n Poort skandering is 'n tegniek wat gebruik word om die veiligheid van 'n netwerk te ondersoek deur die ondersoek van die poorte op 'n stelsel of bedienaar. Dit behels die stuur van 'n reeks verbindingsversoeke na verskillende poorte op die doelwitstelsel om te bepaal watter poorte oop is en watter dienste beskikbaar is.
'n Poort skandering kan gebruik word om potensiële swakpunte in 'n netwerk te identifiseer en om te bepaal of daar enige ongewenste of onbeskermde poorte is wat blootgestel kan word aan aanvalle. Dit is 'n belangrike stap in die proses van pentesting en kan help om die veiligheid van 'n netwerk te verbeter deur die identifisering van moontlike toegangspunte vir aanvallers.
Hierdie kwesbaarheid kan baie maklik omskep word in 'n SSRF (soos jy die skrip kan gebruik om eksterne hulpbronne te laai). Probeer dit net uitbuit (lees sommige metadata?).
Bylaes: PD4ML
Daar is 'n paar HTML 2 PDF-enjins wat toelaat om bylaes vir die PDF te spesifiseer, soos PD4ML. Jy kan hierdie funksie misbruik om enige plaaslike lêer aan die PDF te heg. Om die bylae oop te maak, het ek die lêer met Firefox oopgemaak en dubbelklik op die Paperclip-simbool om die bylae as 'n nuwe lêer te stoor. Deur die PDF-respons vas te vang met burp, behoort die bylae ook in duidelike teks binne die PDF te wys.
Verwysings
Last updated