Experimentelle Analyse von ARP-Angriffen aus dem Angriff, sub-, Anti-





SQL-Injection-Schwachstellen im Netzwerk mithilfe von Angriff, JS-Script, HTML-Scripting-Attacken scheinen zu spielen mehr als kräftig. Einer nach dem anderen der vielen Standorte sind von solchen Angriffen geplagt, nicht wie die Host-Schwachstellen können sofort repariert werden, der Angriff aus dem Web, so dass wir in der Prävention oder Reparatur bringt, dass eine Menge Unannehmlichkeiten. Ein Webmaster ist die schmerzhafteste dieser. Wie stark Ihr Passwort an den Angreifer war schon immer vorhanden, aber wie können wir erreichen, wirkliche Sicherheit? Erstens, nicht vergessen und verknüpfen Sie Ihr Leben, zweitens Supermaster der PWD nur Sie wissen am besten, , drittens absolut notwendig, um Ihre Website-Programms zu verbessern. Aber wie können wir verbessern, wird es unser oberstes Ziel dieses Artikels sein.

Security, wie sie die Sicherheit tun? Willst Schutz ist notwendig zu wissen, wie sie sich gegenseitig angreifen. Viele Artikel werden geschrieben, um eine bestimmte Website zu erfassen, in der Tat, sondern auch die Mittel des Angriffs ist folgende:

1. Simple-Scripting-Angriff

Solche Angriffe sollten Mühe ist es langweilig. Zum Beispiel ****: alert (); so, weil der Filter ist nicht in der Nähe, was dem Angreifer nicht nur zur Verfügung, aber er kann störend auf den Zweck. Viele Websites präsentieren kostenlosen Service, oder das Programm auf ihrer eigenen Website ist nicht unbedingt eine Filtration Problem.

2. Dangerous-Scripting-Angriff

Solche Angriffe haben sich um das Skript kann der Administrator oder andere Benutzer Informationen über den Umfang zu stehlen worden. Zum Beispiel wissen wir alle, stehlen Cookies, verwenden Sie das Skript auf dem lokalen Client mehr schreiben.

3. SQL-Injection Exploits

Man kann sagen, dass dieser Angriff von Dongwangluntan und BBSXP beginnen wird. Filtern mithilfe von SQL Sonderzeichen sind nicht dicht, und Cross-Datenbank-Abfrage-Attacken. Zum Beispiel:

http://127.0.0.1/forum/showuser.asp?id=999 und 1 = 1

http://127.0.0.1/forum/showuser.asp?id=999 und 1 = 2

http://127.0.0.1/forum/showuser.asp?id=999 und 0 (select count (*) von admin)

http://127.0.0.1/forum/showuser.asp?id=999''; erklären @ a sysname SET @ a =''''xp_ +

''Cmdshell''exec @ c a''dir :''---& Beihilfen = 9

Holen Sie sich das Administrator-Kennwort bedeutet, dass die gesamte Station wurde kontrolliert werden, wenn auch nicht unbedingt den Host von Privilegien, sondern auch für diesen Schritt, um eine Menge zu tun Vorahnung. SQL Injection Attacken ähnlich der Art und Weise viele verschiedene Datei-Filter ist nicht ergriffen werden, um die Abfrage auf verschiedene Weise zu schließen. Also eine komplette Charakter-Filter, wenn die Verfahren nicht die nächste Anstrengung ist nicht möglich.

4. Remote-Injection-Attacken

Filter von einer Website namens dem Anmeldeformular Seite ist eine einfache JS-Filterung. Für den durchschnittlichen Benutzer, brauchen Sie nicht zu verhindern; der vorsätzlichen Angriff betroffen sind, scheinen nicht zu einem solchen Filterwirkung werden. Wir sagen oft, dass die POST-Angriff ein Beispiel ist. Verfasst von Remote-Angriffe illegaler Informationen, um das Ziel zu erreichen.

Durch die obige Beschreibung der Angriffs-Methoden, die wir im Allgemeinen verstehen, die Angreifer Weg, der nachfolgenden Beschreibung konzentrieren wir uns auf den Start, wie man effektiv verhindern Skript Attacks!

So beginnen wir von den einfachsten:

Gegen Angriffe script

JS-Scripts und HTML-Scripting-Angriffen ist sehr einfach: Server.HTMLEncode (Str) bin. Natürlich kannst du nicht weinen?, Wie kann das sein dass Sie mir zum Bahnhof gefällt mir nicht alle Filter hinzufügen erschöpft? Um die Filterung, wir müssen nur HTML-Skripten und JS-Skripte zu filtern einige der wichtigsten Charaktere können zu erleichtern : Das Verfahren Körper (1) wie folgt:

"Das folgende ist eine Filter-Funktion

"Die folgenden Anwendungsbeispiele

Benutzername = CHK (replace (Request ("username "),"''",""))

Fügen Sie die Funktion geschrieben, unter Verwendung der öffentlichen Seite, so ist die beste Effizienz.

Procedure Körper (1)

Darüber hinaus lohnt es sich, unsere Aufmerksamkeit ist, dass viele Benutzer der Website zu registrieren oder zu modifizieren Benutzerinformationen Seite gibt es auch einen Mangel an Skript-Filterung, oder nur in einem Filter, ändern Sie die Informationen in der Post-Script registriert noch angreifen. Übermittelte Daten von einem Benutzer zu erkennen und zu filtern, folgt das Programm Körper (2) wie:

"Das folgende ist eine Filter-Funktion

If InStr (request ("username "),"=") 0 oder

Instr (Request ("username "),"%") 0 oder

Instr (Request ("username"), chr (32)) 0 oder

Instr (Request ("username "),"?") 0 oder

Instr (Request ("username "),"&") 0 oder

Instr (Request ("username "),";") 0 oder

Instr (Request ("username "),",") 0 oder

Instr (Request ("username "),"''") 0 oder

Instr (Request ("username "),"?") 0 oder

Instr (Request ("username"), chr (34)) 0 oder

Instr (Request ("username"), chr (9)) 0 oder

Instr (Request ("username"), "") 0 oder

Instr (Request ("username "),"$") 0 oder

Instr (Request ("username ")," ") 0 oder

Instr (Request ("username ")," ") 0 oder

Instr (Request ("username "),"""") 0, dann

Response.Write "Freund, Ihren Benutzernamen submit enthält unzulässige Zeichen, ändern, ich danke Ihnen auf Rückkehr"

Response.End

end if

Procedure Körper (2)

Um die Effizienz versuchen wir, weitere Filter den Inhalt der Verfahren vorsehen, so dass die Filterleistung der verschiedenen Parameter wird in hohem Maße gesteigert werden: wie Programm-Körper (3)

"Im Anschluss an das Hauptprogramm

dim Bword (18)

Bword (0 )="?"

Bword (1 )=";"

Bword (2 )=" "

Bword (3 )=" "

Bword (4 )="-"

Bword (5 )="''"

Bword (6 )=""""

Bword (7 )="&"

Bword (8 )="%"

Bword (9 )="$"

Bword (10 )="''"

Bword (11 )=":"

Bword (12 )="|"

Bword (13 )="("

Bword (14 )=")"

Bword (15 )="--"

Bword (16) = "chr (9)"

Bword (17) = "chr (34)"

Bword (18) = "chr (32)"

ERRC = false

"Die folgenden sind einige Beispiele für Anwendungen

für i = 0 To UBound (Bword)

wenn InStr (FQYs, Bword (i)) 0 then

ERRC = true

end if

nächste

wenn dann ERRC

Response.Write ""

Response.End

end if

Procedure Körper (3)

Mit den oben genannten Filter-Funktion, die Sie in der Anwendung zu werden braucht, Filter-Funktion direkt Filter auf sie setzen können. Dies bringt uns zu der Restaurierung stark vereinfacht.

Darüber hinaus, mehr als ich möchte noch einmal daran erinnern, wird eine kleine Anzahl von Standorten in der Expression von UBB-Symbol erscheint, wenn der Filter-Transformation Problem, da sie versteckt ist nicht leicht zu finden:

Wie zum Beispiel:

Wir modifizieren den Text Etiketten,

Wusste nicht, verstehst du, vor einem einfachen Anführungszeichen und Verfahren für die in der linken Anführungszeichen, einfache Anführungszeichen in die zweite eingesetzt und schloss die rechte Anführungszeichen, damit die Ausgabe-Prozess wie vorgesehen:

ARP Attacke ist kein Virus - und damit fast alle Anti-Viren-Software für alle hilflos, aber es lohnt ein Virus - weil sie in Licht verlangsamt Kommunikation kann dazu führen, Netzwerk-Lähmung, Gewicht wird Informationen zu Undichtigkeiten führen. Im Laufe der Jahre hat ARP Angriff immer gegeben, aber keine gute Lösung. Viele Internet-Nutzer leiden, Netzwerk-Management-Personal wird nicht starten, elend. In dieser Studie stellt die Analyse von ARP-Protokoll und Betrügen Prinzip, dieses Papier, wie die ARP-Angriffe, wie man die ARP-Attacke zu bestimmen, ist Leiden, wie zu verhindern und zu beheben ARP Angriff durchzuführen.

1.ARP Abkommen und Täuschung Theorie

(1) Ethernet funktioniert. Ethernet in das Datenpaket durchgeführt wird, schickte zunächst müssen wir aufgeteilt (die größte Gruppierung der Pakete), die Verpackung (in den Netzwerk-Layer hinzufügen, die Quell-IP-Adresse und Ziel-IP-Adresse in der Data Link Layer, um die Quell-MAC-Adresse und fügen Sie nächsten Hop die MAC-Adresse), in ein binäres Bit-Stream, den Prozess in Abbildung I-1 dargestellt. Pakete erreichen das Ziel nach der Umsetzung des Prozesses für die Entsendung der gegenüberliegenden Seite ist die Strömung von binären Bits in den Rahmen-, Lösungs-Paket (Data Link Layer des ersten Ziel des MAC mit dem gleichen lokalen Netzwerkkarte die MAC-oder Broadcast-MAC verglichen, da die gleiche ist Entfernen Sie Frame-Header, dann auf Netzwerk-Layer-Paketen oder verworfen pass; Network Layer Ziel-IP-Adresse wird mit der gleichen Maschine verglichen, wird die gleiche Adresse weiter, ansonsten verworfen). Wenn der Absender und Empfänger im gleichen Netzwerk, den nächsten Hop's MAC ist das Ziel des MAC, wie der Sender und Empfänger nicht im selben Netzwerk, den nächsten Hop's MAC ist das Tor MAC. Von diesem Prozess ist nicht schwer zu finden, Ethernet Geschwindigkeit der Datenübertragung einzige Ziel der IP-Adresse, die nicht genug ist, müssen auch an den nächsten Hop die MAC-Adresse kennen, die die Hilfe eines anderen Blick auf die Vereinbarung setzt voraus, ARP (Address Resolution Protocol).






Abbildung I-1 Daten-und Auspacken

2) ARP funktioniert. Computer vor dem Senden der Daten-Paket, im Vergleich zu IP-Adresse Ziel, festzustellen, sind die Quelle und Ziel nicht im selben Segment wie im gleichen Netzwerk-Segment, das Paket Ziel MAC, wenn nicht auf dem gleichen Netzwerk-Segment, das Paket Gateway MAC. Vor der Verpackung finden Sie die Maschine ARP-Cache, um zu sehen, wenn es keine entsprechende nächste Hop IP-und MAC-Mapping-Einträge, wenn die direkte Kapselung; wenn nicht, dann schicken Sie die ARP-Anfrage-Paket. ARP-Abfrage-und Antwortpakete des Formats, wie in Abbildung I-2 gezeigt, Abfrage-Paket "Ethernet-Zieladresse" für 0xffffffffffff Broadcast-Adresse ", Ethernet-Source-Adresse", basierend Netzwerkkarte die MAC-Adresse von Maschinen, "Frame Type" ist 0x0806 sagte ARP-Antwort oder Anfrage, "Hardware Typ" Ethernet-Adresse für den 0x0001, sagte: "Protokoll-Typ" für diese IP-Adresse 0x0800, "OP" für den ARP-Request oder Response, ARP-Request-Paket OP Wert von 1, ARP-Antwort Paket von OP 2 ist, "Ethernet-Adresse des Absenders," die MAC-Adresse für den Absender, "Absender-IP" als Absender die IP-Adresse ", den Zweck Ethernet-Adresse" hier für 0x000000000000, "der Zweck IP" für die Überprüfen Sie die MAC-Adresse des IP. Senden Sie dieses Paket an die Netzwerk-Broadcast, alle Rechner im LAN erhalten dieses Paket nur die lokale IP-Adresse für den "Zweck der IP" Der Computer reagiert auf dieses Paket, und reagieren auf dieses Paket. Beim Start schicken Duan Fang erhielt diese ARP-Antwort-Paket, ist der Zugriff auf die Ziel-IP die entsprechende MAC-Adresse, und dann die Daten-Pakete verpackt werden können.






Abbildung I-2 ARP-Anfrage und Antwort Paketformat

(3) ARP Täuschung. In den TCP-Sequenz-Nummer und die Nummer der Auftragsbestätigung durch die verschiedenen Bereiche, die Umsetzung des Drei-Wege-Handshake, um die Zuverlässigkeit der Datenübertragung zu gewährleisten, ist ARP einen Staatenlosen-Protokoll, das heißt, mit oder ohne Senden ARP-Anfrage an die Maschine geschickt, solange die ARP-Antwort Paket, wird der Computer nicht hinzufügen Validierung zu erhalten, und aktualisieren ihre ARP-Cache. Nach etwa ARP funktioniert, solange die Absicht des Füllung Abbildung I-2 in bestimmten Bereichen, können die Wirkung von ARP Angriff zu erreichen: IP-Adresse Konflikt, ARP Täuschung, ARP-Angriffe.

P Konflikte anzugehen. Lokale IP-Adresse des Rechners, erkennt, ob die Methoden im Internet verwendet wird, der Zweck der Maschine IP-Adresse die IP-Adresse, senden Sie eine ARP-Anfrage-Paket, wenn die empfangene Antwort gibt es die IP-Adresse im Internet, Pop-up-IP-Adresse wurde benutzt, um verwendet werden Dialogfeld, lassen Sie die IP-Adresse des Rechners. ARP Angreifer nutzen dieses Prinzip mit beliebigen MAC-Adresse (nicht eine echte Angreifer MAC-Adresse) gefüllt mit "Ethernet Absender-Adresse"-Feld, verwenden Sie die IP-Adresse des Angreifers mit "Absender IP gefüllt"-Feld eingesetzt durch den Angreifer das reale MAC-Adresse der Besetzung der "Zweck Ethernet-Adresse"-Feld, verwenden Sie die IP-Adresse des Angreifers mit "Zweck erfüllt IP"-Feld, OP der Wert "2", wie in Abbildung I-3 gezeigt . Wenn der Angreifer nach diesem ARP Antwort erhalten haben, hielt es, dass die Maschine die IP-Adresse im Netzwerk verwendet wurde, Pop-up-Dialogfeld IP-Adresse Konflikte.






Abbildung I-3 IP-Adresse Konflikte der ARP Antwortpaket

ARP Betrug: wie in Abbildung I-4 gezeigt, PC1 ist der Angreifer, der Angreifer das Ziel ist "PC2 unterbrechen Kommunikation mit dem Gateway." PC1 erzeugt einen ARP-Antwort-Paket ", die Absender-IP" fill in die Gateway-IP-Adresse "des Absenders Ethernet-Adresse" ausfüllen eine nicht-Gateway-MAC-Adresse (Diese Adresse kann nach dem Zufallsprinzip generiert werden), "Ziel-IP" füllen PC2 IP-Adresse ", den Zweck Ethernet-Adresse" in der PC2 die MAC-Adresse zu füllen. Host PC2 erhalten spätestens nach der ARP-Antwort-Paket, wird es dieses Gateway benutzen nicht die richtige MAC-Adresse zu ihren ARP-Cache-Tabelle zu aktualisieren, nachdem diese Fehlermeldung nach PC2 gekapselt MAC-Adresse, so dass das Paket nach der Verkapselung kann nicht richtig erreichen das Tor; PC1 ähnliche Re-senden Sie eine falsche ARP-Antwort-Paket an den Gateway ", die Absender-IP" die IP-Adresse in PC2 füllen ", Ethernet-Adresse des Absenders", füllen Sie ein non-PC2 die MAC-Adresse (diese Adresse zufällig generiert werden), "Ziel-IP" in der Gateway IP-Adresse zu füllen. Gateway ARP Antwort erhalten diese Informationen sind in die falsche Karte PC2-Cache-Einträge gespeichert. PC1 und PC2 an das Gateway sendet periodisch ein solches Paket, so dass die Alterung der ARP-Tabellen, damit verhindern, dass sie vom Erreichen der Zweck der Kommunikation.






Abbildung I-4 ARP Cheating-Diagramm

ARP anzugreifen. Um als Middle-Angriffe (Man-in-the-Middle-Angriff) und ARP betrügen wollen, nur PC1 schickt ARP-Anfrage, die in der "Absender Ethernet-Adresse zu füllen" ist nicht zufällig generiert, sondern ersetzen Sie die PC1 Maschinen-MAC-Adresse, öffnen Sie die Routing-PC1 - ändern (add) Registrierung Option HKEY_LOCAL_ MACH INE SYSTEMCurrentControlSetServicesTcpipParametersIPEnableRouter = 0x1, während Sie die Software auf PC1 installiert, PC2 und abzufangen gesamte Kommunikation zwischen dem Gateway-Paket.

2. Wie die ARP Attacke durchzuführen

Hier sind zwei ARP Angriff auf die Software, Topologie in Abbildung I-5 gezeigte.






Abbildung I-5 ARP Angriff

Software wird hauptsächlich für den ersten Angriff, die Unterbrechung des normalen Netzwerkverkehr verwendet, wie in Abbildung I-5, 2 in der virtuellen Maschine gezeigt, dass "Netzwerk Magistrat" Software, die virtuelle Maschine zu zerstören 1 und die normale Kommunikation zwischen der realen Maschine installieren Experiment Schritte sind wie folgt.

Korrekt konfigurierte IP-Adresse des Computers. Virtual Machine 1-Card-Typ Bridged IP-Adresse 192.168.1.220, Maske 255.255.255.0, Gateway 192.168.1.1, ist DNS 218.2.135.1. Virtual Machine 2 Kartentypen überbrückt, ist die IP-Adresse 192.168.1.210, Maske 255.255.255.0, Gateway 192.168.1.1, DNS 218.2.135.1 ist. Real Maschine IP-Adresse ist 192.168.1.200, Maske 255.255.255.0, Gateway 192.168.1.1, DNS 218.2.135.1 ist.

2 in der virtuellen Maschine zu installieren WinPcap. Extract "Netzwerk Magistrate. Rar"-Datei, doppelklicken Sie auf "WinPcap30.exe"-Datei, um die Installation zu starten WinPcap.

2 in der virtuellen Maschine Software basiert auf dem Netzwerk installiert Magistrat. Doppelklicken Sie auf "Network Magistrat Crack-Version 2.8. Exe"-Datei zur Installation des Netzwerks Magistrat.

Führen Sie das Netzwerk Magistrat. Erstens laufen Magistrate, öffnen Sie das Dialogfeld in Abbildung I-6 gezeigt, was darauf hindeutet, dass die Überwachung Parameter.






Abbildung I-6 Regelparameter

Da nur ein Netzwerk blockieren, wählen Sie die oberste Karte Kontrollkästchen, klicken Sie auf "OK"-Taste. Wie in Abbildung I-7 gezeigt, dass der Regelbereich Auswahldialog öffnen, geben die Überwachung Bereich ist in der Karte, wo alle verfügbaren IP-Adressen-Subnetz, klicken Sie das Diagramm in der "Add / Edit", indem der Anwendungsbereich, klicken Sie aufgelistet Schaltfläche "OK".






Abbildung I-7 Steuerung des Anwendungsbereichs der Wahl

Attack vor dem Test. 1 auf einer virtuellen Maschine, öffnen Sie die DOS-Fenster, geben Sie ping 192.168.1.200-t, kontinuierlichen Ping die IP-Adresse der realen Maschine gefunden werden kann durch die. Schließen Sie nicht das Fenster.

Zum Angriff. Magistrat Software kann das Netzwerk auf dem gleichen Subnetz zu überwachen, um alle Hosts online Magistrat in das Netzwerk-Management-Schnittstelle, mit der rechten Maustaste der realen Maschine, aus dem Kontextmenü wählen Sie "manuell verwalten", wie in Abbildung I-8 gezeigt.






Abbildung I-8 Magistrat Management-Schnittstelle

Wie in Abbildung I-9 in das Dialogfeld angezeigt, wählen Sie die dritte Option "gegen alle anderen Hosts ...", klicken Sie auf" Start ", dann die virtuelle Maschine kann zwischen 1 und realen Maschine testen ping finden Start-Tipps "Zeitüberschreitung der Anforderung", schnitt die Kommunikation ab. Real-Umgebung, können Sie auch wählen Sie einfach die "Prohibition und Schlüssel-Host-Anschluss ..." und klicken Sie dann auf den "Schlüssel-Master", indem Sie die Adresse des Gateways, so dass der angegriffene Computer und dem Gateway-Verbindung wird unterbrochen, und die LAN-Computer ungestörte Kommunikation zwischen.






Abbildung I-9-Management Computer Handbuch

Zweiter Absatz der Software verwendet werden, um wertvolle Informationen zu stehlen, wie in Abbildung I-5 in der virtuellen Maschine gezeigt, dass eine "Cain & Abel install"-Software, Unterminierung der realen Maschine virtuellen Maschine 1 und die normale Kommunikation zwischen den experimentellen Schritte sind wie folgt.

Installiert auf dem virtuellen Maschine ein Cain & Abel. Doppelklicken Sie auf "ca_setup.exe" Datei, um die Installation zu starten, kommt die Installation kurz vor dem Ende, werden aufgefordert, WinPcap4.0 installiert werden, wie in Abbildung I-10 gezeigt, wählen Sie "Install", um die Installation zu starten WinPcap4.0.






Abbildung I-10 zu installieren WinPcap4.0

Run Cain & Abel. Doppelklicken Sie auf den Desktop, "Kain"-Symbol, öffnen Sie das Cain & Abel's Management-Schnittstelle, klicken Sie auf die Management-Schnittstelle in den "Start / Stop Sniffer"-Symbol, wie in Abbildung I-11 gezeigt, Paketerfassung beginnen.








Abbildung I-11 begann Sniffer

Unter dem Kennwort für die Nabe. Klicken Sie auf die Karte I-11 in der Spitze der "Sniffer"-Registerkarte, dann klicken Sie unten den "Passwords"-Registerkarte, und beginnen, um Passwörter und sensible Informationen, einschließlich E-Mail, Telnet, FTP und so weiter zu erfassen. In der virtuellen Maschine 2 Öffnen Sie eine Telnet-Dienst, in der realen Maschine telnet 192.168.1.210, und dann geben Sie Ihren Benutzernamen und Ihr Passwort ein, wie in Abbildung I-12 linke Navigationsleiste zu einem Telnet-Prompt Informationen zu erfassen.






Abbildung I-12 zu überwachen sensible Informationen

Klicken Sie in der linken Navigationsleiste der "Telnet", die Liste in der rechten Spalte der rechten Maustaste auf die Einnahme der Eintrag im Kontextmenü wählen Sie "Ansicht" öffnen, wie in Abbildung I-13 Notebook-Papier, gezeigt nicht schwer, den Benutzernamen zu sehen ist, Verwalter, ist durch ein Passwort cisco. Die Zahl für jeden Buchstaben des Wortes Administrator zeigen, zweimal, einmal, weil telnet echo.






Abbildung I-13 zur Erfassung der Passwort-Datei

Das Passwort für den Switch-Umgebung. Nur sehr leicht, um das Passwort zu erhalten, weil die virtuelle Maschine virtuellen Maschine 1 und 2, und die realen Maschinen der realen Computer-Netzwerk-Karte angeschlossen sind, den Gegenwert aller in einem Hub verbunden ist, die reale Umgebung, desto häufiger Schalter, zwei Schalter nicht Host-oder Host-und Gateway für den Verkehr zwischen dem Angreifer den Host übergeben. Dann müssen ARP Täuschung, klicken Sie verwenden, wie in Abbildung I-12 im Rahmen der "ARP"-Reiter angezeigt, klicken Sie dann auf "Add to" Icon in der Symbolleiste, wie in Abbildung I-14 gezeigten Liste.






Abbildung I-14 zu erhöhen ARP betrügen, um die Liste

Öffnen Sie die ARP-Einträge wie in Abbildung I-15 gezeigt, auf der linken Seite, um eine IP-Adresse wählen, das Recht auf eine IP-Adresse auswählen, werden zwei IP-Adressen Host getäuscht werden.






Abbildung I-15 Auswahl durch Täuschung des Computers

Klicken Sie auf "OK"-Taste, um zurückzukehren, und klicken Sie dann auf den Chart I-11, wie in der Symbolleiste auf "Start / Stop Sniffer"-Symbol auf der rechten Seite des "Start / Stop ARP"-Symbol angezeigt, um die Umsetzung des ARP Täuschung beginnen, wie in Abbildung I-15 Auswahl angezeigt Kommunikation zwischen Computern einen Transfer von der virtuellen Maschine, virtuelle Maschine kann man natürlich erhalten sensibler Daten zwischen ihnen explizit. In diesem Licht gesehen Switch Netzwerk Sicherheitsrisiken bestehen.

3. Wie ist Leiden ARP Angriffs bestimmen

ARP-Spoofing-Angriff oben beschrieben wird nicht dazu führen, Überlastung der Netze, sondern Leckage auftritt, gefolgt von der Einführung einer Lösung. Feststellen, ob es der erste Angriff ARP Methode ist einfach, folgen Sie diesen Schritten.

Kontinuierliche ping keinen Zugriff auf die IP-Adresse. In das Problem Computer (Virtual Machine 1) des DOS-Fenster, geben Sie "ping 192.168.1.200-t" wird verwendet, um die Netzwerkverbindung zu testen; 192.168.1.200 ist nicht normal Kommunikation Computer (Dies ist die eigentliche Maschine), das eigentliche Projekt Fassung kann nicht auf dem gleichen Segment der Zielcomputer die IP-Adresse. Wenn Sie von ARP-Angriffen leiden, wird der Bildschirm auf "Request time out aufgefordert werden".

In dem betroffenen Computer (Virtual Machine 1) zurück zu einem anderen DOS-Fenster zu öffnen, tippen Sie "arp-d", ist ARP einen DOS-Befehl, um die IP-Adresse der entsprechenden Netzwerkkarte MAC-Adresse, zu lösen-d, um den Cache zu leeren aller IP der Maschine und die entsprechende MAC-Adresse. Wenn Sie feststellen, dass Schritt 1 den Inhalt des Fensters in eine nachhaltige "Antwort von ... ...", die ARP, dass die Angriffe ausgesetzt waren, wurde inzwischen normalisiert; Wenn es nur eine "Antwort von ... ..." Paket hat den Rücken zu ein "Request time out"-Pakete, und dann der Computer die kontinuierliche ARP Angriff ausgesetzt.

4. Wie zu verhindern und zu beheben ARP Angriff

ARP Angriff Lösungen vielfältig, doch aufgrund diverser Einschränkungen können nur sehr wenig letztendlich umgesetzt werden, auch eine Art nicht finden können, die Umsetzung. Die folgenden Lösungen nicht erschöpfend, aber egal, wie die eigentliche Netzwerk-Hardware Geräten, können die am besten geeignete Lösung zu finden.

Methode 1: Nachdem ein Richter gefunden hat, ARP-Angriffe, wenn der Angriff besteht, den Computer des Opfers Umsetzung des "arp-d", dann die Umsetzung der "arp-a",-eine Rolle auf dem Computer angezeigt, alle ARP-Cache . Von denen wir ein paar Datensätze finden, einen Datensatz dem Gateway oder dem Ziel-Host zugreifen, gibt es einen weiteren Rekord, kann es zu mehreren. Mehr als die Umsetzung von mehreren "arp-d", "arp-a", sum up, es ist im Wesentlichen das größte Stück der Platte ARP IP-Adresse des realen Angreifer.

Der Vorteil: Es ist einfach, passend für fast alle von der Netzwerk-Umgebung, ohne unterstützende Software und erfordert keine Kenntnisse über Netzwerk-Management sind sehr professionell, können Sie den Angreifer, der Angreifer für Netzwerk-Isolation. Nachteil, wenn der Angreifer nur Zerstörung, nicht für die Zwecke der arp "-a" sehen keine zuverlässigen Aufzeichnungen über die.

Methode 2: In dem Zielgerät und dem Opfer-Computer die IP-Adresse und MAC-Adresse bzw. die statische Bindung. Zum Beispiel die Umsetzung des Computers:

"Arp-s 192.168.1.1 00-aa-00 bis 62-c6-09"

In der Routing-oder Vermittlungseinrichtungen (wo nur Cisco-Geräte werden zum Beispiel) zu erfüllen:

"Cisco-6509 (config) # arp 192.168.1.2 0009.6be2.3ca3 ARPA"

Die Notwendigkeit, das Zielgerät IP-Adresse zu schützen und MAC-Adresse für die illegale Einreise ARP Angriff ohne Löcher bindend. Nicht jeder Anwender hat das Recht, ihre eigenen Geräte am Tor zur IP-Adresse und MAC-Adresse Bindung verwenden, sondern können Kunden zumindest in ihren eigenen Computer mit dem Gateway IP-Adresse und MAC-Adresse werden verbindlich gemacht werden die besten aus einer Batch-Datei jedes Mal, wenn der Computer gestartet wird, alle die Durchführung der Datei, mit dieser Methode tatsächlich der Vermeidung der Angriff der zweiten Leck.

Diese Methode hat den Vorteil, relativ kleine Anwendung des Netzes. Nachteil ist die Schwierigkeit der konkreten Umsetzung der größeren, wenn Shangwang Host und Host häufigen Änderungen, wie etwa die Universitäten von dieser Gruppe jedes Jahr zu berichten und Doktoranden Xin, statische Bindung enorme Arbeitsbelastung, ist es schwierig zu implementieren, zu viel der Krawatte Ausrüstungsgegenstände wird Auswirkungen auf die Ausführungsgeschwindigkeit und Effizienz zu reduzieren, auch ARP-Angriff würde sich nicht auf das Internet, aber eine große Anzahl von ARP-Pakete gesendet werden, oder zur Aufnahme einer Menge nützlicher Bandbreite; erforderliche Ausrüstung, um statische Bindung Funktion zu unterstützen.

Methode 3: Verwenden der Dynamic ARP Attorney-Technologie, mit der Funktionen von DHCP, IP-und MAC-Kombination zu erreichen, die automatische Bindung. Ähnlich wie bei der Methode und der Methode 2, aber verbindliche automatisch geschehen, und können in der Access-Layer-Switch eingesetzt werden, wird die illegale ARP-Paket wechseln verworfen werden interessierte Freunde, die technische Dokumentation verwandte Geräte zu finden.

Der Vorteil ist der beste Weg, ARP Angriff zu lösen, brauchen nicht die Unterstützung des Managements, die illegalen ARP-Pakete können nicht auf das Netzwerk zugreifen. Es gibt weder schaden noch Auswirkungen auf die Netzwerk-Performance. Nachteil ist, zu verlangen, hat der Administrator eine bessere Technologie, forderte die Unterstützung von Netzwerk-Equipment, unterstützt Cisco-Geräte diese Funktion mindestens drei weitere (wenige inländische Unternehmen im Access-Layer mit den drei Geräte), viele Hersteller von Geräten wird noch nicht unterstützt.

Methode: 4: Managed Switch mit einer Minute können Sie den Angreifer. 1 in der bisherigen Lösung, finden Sie die MAC-Adresse des Ziel-IP ist nicht eine echte Mac, Mac-Adresse dieser Note, wenn die MAC ist "0050.bae3.2305", in der Managed Switches (wo nur Cisco-Geräte Beispiel) zu erfüllen:

"Cisco-2950 # arp | show gehören 0050.bae3.2305

Internet 10.168.168.9 239 0050.bae3.2305

ARPA FastEthernet1/17 "

Die erste Zeile ist die Durchführung des Auftrages, ein einfaches "show arp" zeigt alle Schalter lernen, MAC-Adressen, MAC-Angriff sehr schwer zu finden ist, "| gehören 0050.bae3.2305" spielen eine Filter-Funktion, zeigt nur die entsprechende Zeile . Die zweite Zeile ist die Umsetzung der Ergebnisse finden Sie die MAC-Adresse aus dem Fa1/17 Port. Finden Sie den Host-Port gefunden entsprechend der Quelle Angriff ist, wenn der Port nicht an einen Computer angeschlossen, aber ein anderes wechseln, wiederholen Sie die Methoden, bis Sie den ultimativen Computer.

Vorteil der Methode ist das möglich, schneller zu implementieren, unterstützen alle managed Switches dieser Funktion wird dringend empfohlen. Nachteil ist, dass es viele Einheiten noch mit der unmanaged Switch oder Hub.

Methode 5: unmanaged Switch oder Hub der Fall ist, können Sie 10 Minuten Zeit, um die Angreifer zu finden. Da der Angreifer den Computer (Virtual Machine 1) zu öffnen zwei DOS-Fenster, ein Fenster der Umsetzung der "ping 192.168.1.200-t", ein weiteres DOS-Fenster intermittierende Umsetzung von "arp-d", wenn eine Reihe von Taiwan und Afrika Network Röhren-Switch oder Hub, in ihrer Macht auszuschalten, schneiden, wenn es die zweite DOS Fenster wurde eine anhaltende "Antwort von ... ...", dann kann es aus dieser Quelle ARP Angriff Netzwerkgeräte abgeschlossen werden. Nahm an die Macht, um das Gerät wiederherzustellen, ziehen Sie das Kabel nach unten eine Wurzel, bei der Suche nach einem zweiten DOS-Fenster von einem nachhaltigen "Antwort von ... ...", dann kann der Schluss gezogen, dass das Netzwerkkabel ist eine Einrichtung angeschlossen werden ARP Angriff Quelle. Wenn diese Suchmethode langsam, können Sie binäre Suche, das heißt, die Hälfte eines Pull-line-, Mess-, was ist in der Regel nicht mehr als 10 Minuten erreichen Sie den Angriff Quelle finden kann.

Vorteil der Methode ist geeignet für nahezu jede Netzwerkumgebung. Nachteil ist, dass die Umsetzung ein wenig hart, die beste Art von Schalter oder das Netzwerk ersetzt.

Methode 6: gemeinsame User-Self-Rettung. Wie ein gewöhnlicher Internet-Benutzer auf das Netzwerk Reparatur darf nicht rechtzeitig gelöst werden können, schreiben Sie eine Batch-Datei auf dem Computer ausgeführt werden kann das Problem ARP Angriff zu lösen. Batch-Datei wie folgt:: A

Arp-d

1.1.1.1 Ping-n 1-W 100

GoTo zu einem

Um die Textdatei als a.bat, und doppelklicken Sie dann auf die Umsetzung der Computer des Benutzers öffnet sich ein DOS-Fenster, wird das Programm-Schleife, nicht das Fenster zu schließen ARP-Angriffe das Problem lösen können. Wenn der ARP Entfernung Methode ist zu langsam, können Sie die über 100 Veränderungen (0,1 s) auf den gewünschten Wert.

Diese Methode hat den Vorteil der gemeinsamen Benutzungsgebühren ARP Angriff das Problem gelöst werden kann, für fast jede Netzwerkumgebung. Nachteil ist die häufige klare ARP-Cache-, Broadcast-ARP-Pakete zu senden häufige, würde sie stellen eine zusätzliche Belastung für die Computer-und Netzwerksicherheit.

Wenn das Bild nicht existiert, dann wird mit dem Tag aktivieren onerror Umsetzung Skript. Für die einfachen Anführungszeichen wurden Filtern von Websites, wie hier, komplett mit doppelten Anführungszeichen. **** Für das gefilterte Feld, und nur alert () auch. So müssen wir Filter komplett zu filtern, geben Sie nicht der Angreifer die Möglichkeit, eine Spur zu hinterlassen.

Verhindern von SQL Injection Exploits

Es kann hier gesagt werden, scheint der Fokus des gesamten Artikels. SQL-Injection-Schwachstelle auf die Diversifizierung macht auch unsere Verteidigung auf dem Programm hatte, ein wenig mehr zu denken. SQL Injection in das Gesicht des starken "offensive", was wir am Ende des Filters?

Das Risiko von einigen häufig verwendeten Zeichen haben

Database fields''closed Diskriminierung

- Mark einige der Datenbank-Annotation

# Einige Datenbank-Annotation Zeichen

"Mai bis zum Fehler führen,

Cross-Verzeichnis

3221143836nicode Zeichencodierung Features

Kann für die Variable $ label verwendet werden

/ Und das Gleiche

NULL vorsichtig "leeren" Eintrag in das Risiko einer Behandlung kann in die Datenbank oder Systemfehler führen, verwenden Sie Fehler Struktur Überlauf.

Mit Platz and''to konstruieren SQL injeciton

= & Liegen sekundären Parameter kann queryStr umgeschrieben werden.

(1) aus den allgemeinsten. SQL Injection Exploits zu lesen: Benutzernamen und Kennwort auf der Filterung Probleme, wie z. B.:

Autor: Benutzername:''oder''''='' Benutzer-Passwort lautet:''oder''''=''

Ausgehend von dem Prozess, können wir gekommen, um die folgenden Datenbank

SQL = "SELECT Backup bin conf config Daten eshow_sitemap.html generate.sh log maint sitemap.html svn tmp FROM WHERE unbedarfte Benutzer Benutzername oder =''''''''='''' und Passwort oder ='''' ''''=''''"

Auf diese Weise, so wird SQL Server alle Datensätze zurück unbedarfte Tisch, während das ASP-Skript für einen Angreifer gehalten werden, eine unbedarfte Benutzer den ersten Datensatz in der Tabelle geben, so dass der Angreifer den Benutzer Login-Namen Website. Scheint diese Art von Injektion zu verhindern, ist sehr einfach:

Mit dem folgenden Verfahren kann erreicht werden, das Programm Körper (4)

strUsername = Replace (Request.Form ("Username"), "''''", "''''''''")

strPassword = Replace (Request.Form ("Passwort"), "''''", "''''''''")

Procedure Körper (4)

(2) auf SQL-Injection-Angriffe zu verhindern, ist der erste Schritt zu einer Vielzahl von Sicherheits-Einsatz bedeutet die Kontrolle von der ASP-Request-Objekt (reques, Request.QueryString, Request.Form, Request.Cookies und Request.ServerVariables) Benutzereingaben, um sicherzustellen, dass der SQL-Befehl Zuverlässigkeit. Besondere Sicherheitsmaßnahmen variieren je nach Ihrem DBMS.

SQL-Injection-Angriffe können Schäden für die Umwelt verursachen, hängt von der Website der Software und Konfiguration. Wenn der Webserver an den Betreiber (dbo) der Identität Zugriff auf die Datenbank mit SQL-Injection-Angriffs, die könnten alle Formen zu beseitigen, schaffen neue Formen, und so weiter. Wenn der Server zum Super-User (SA) den Zugriff auf die Identität Datenbank mit SQL-Injection-Angriff, der könnte die gesamte SQL-Server-Steuerelement, in einigen Konfigurationen kann ein Angreifer sogar Ihr eigenes Benutzerkonto vollständig manipulieren die Datenbank ist in der Windows-Server befindet.

Wie zum Beispiel:

http://127.0.0.1/forum/showuser.asp?id=999''; erklären @ a sysname SET @ a =''''xp_ +

''Cmdshell''exec @ c a''dir :''--& Beihilfen = 9

http://127.0.0.1/forum/showuser.asp?id=999''; erklären @ a sysname SET @ a =''''xp +

''_cm''+'' Dshell''exec @ c a''dir :''--& Beihilfen = 9

Können sogar, wie: net user fqy fqy / stell 'das Kommando. Natürlich müssen Sie den aktuellen Status ausgeführt werden muss Sa, oder Sie greifen nur einen virtuellen Host, rate ich Ihnen, es zu stoppen.

Für einige Standorte für die Maschine zu Port 80 nutzen, um Angriffe zu verhindern Maschine direkt an administrative Rechte zu erhalten, ist es notwendig. Filter auf xp_cmdshell zu den primären, viele Seiten sind mit dem Verfahren von GET und POST oder GET Daten, mixed vorzulegen, und für diese, geben wir einen Weg zur Vermeidung von SQL-Injection-Verfahren GET Verhalten: wie Programm-Körper (5)

fqys = Request.ServerVariables ("QUERY_STRING")

dim nothis (18)

nothis (0) = "net user"

nothis (1) = "xp_cmdshell"

nothis (2) = "/ add"

nothis (3) = "exec% 20master.dbo.xp_cmdshell"

nothis (4) = "net localgroup Administratoren"

nothis (5) = "select"

nothis (6) = "count"

nothis (7) = "asc"

nothis (8) = "char"

nothis (9) = "Mitte"

nothis (10 )="''"

nothis (11 )=":"

nothis (12 )=""""

nothis (13) = "insert"

nothis (14) = "delete"

nothis (15) = "drop"

nothis (16) = "abschneiden"

nothis (17) = "aus"

nothis (18 )="%"

ERRC = false

für i = 0 To UBound (nothis)

wenn InStr (FQYs, nothis (i)) 0 then

ERRC = true

end if

nächste

wenn dann ERRC

Response.Write ""

Response.End

end if

Procedure Körper (5)

Ich weiß Punkt der Erklärung ist: Die oben genannten Verfahren ist nur auf der GET Übermittlung von Daten-Filterung, nicht blind anzuwenden.

Wie andere Objekte aus dem ASP-Anforderung (reques, Request.QueryString, Request.Form, Request.Cookies und Request.ServerVariables) Angriff Methode der Benutzer-Eingabe-Methoden, vor allem in dem Skript Eingangsgröße konzentriert ist die erwartete Anzahl von Variablen (ID ), natürlich können wir nicht nur auf die Anzahl Variablen wie folgt aussehen:

http://127.0.0.1/systembbs/showtopic.asp?tid=99&name=abc''und links (userpasswor

d, 1) =''ein

http://127.0.0.1/systembbs/addtopic.asp?tid=99&name=abc''und userpasswor

d =''oder''''=''

Darüber hinaus, wie eine einzige Injektion, um Fehler wie diese zu verhindern?

http://127.0.0.1/systembbs/addtopic.asp?tid=99''; löschen forum_forum; - & page = 33

Prevention-Programm: Programm Körper (6)

...... Addtopic.asp? Action = add ......

...... Addtopic.asp? Action = delect ......

Action1 = trim (Request.QueryString ())

wenn links (Action1, 7) "action =" then''must zum Handeln begrenzt werden = QueryString

Fehler (err01)''Fehlerbehandlung

sonst

action = Request.QueryString ("action")'', um den Wert zu erhalten QueryString

end if

Select Case action''to Einigung über die QueryString

Bei "add"

.....

Bei "delete"

......

Bei else''if die QueryString ist dies nicht der Wert für die Fehlerbehandlung

Fehler (err02)

End Select

Procedure Körper (6)

Ein solcher Angriff stattfindet, so dass unser Webmaster wieder Kopfschmerzen haben, hier kann ich Ihnen eine Lösung für den besten Weg, im Allgemeinen, den Benutzernamen Länge, Anzahl der Zeichen nicht mehr als 15 Zeichen, die meisten der 14 Zeichen . Dann haben wir aus der Länge gehen zu filtern: Wenn das Programm Körper (7)

Name = replace (Name ,"''","")

If Len (Name) 16 dann

Response.Write "Sie haben was?"

Response.End

End if

Procedure Körper (7)

  为什么我们这里以及过滤了单引号,怎么还要再次取一个长度限制呢?不多说了,看看4ngel的文章先<<饶过''限制继续射入>> .别问我怎么转数字格式,我不会,嘿嘿...^_^!

  还继续回到我们的主题," 脚本期望的输入变量是数字变量 (ID)".怎样进行注入防范,天呐,方法太多了,最直接的就是判断是否是数字整型,还有一些比较个性的验证办法,我们一一介绍一下 如:程序体(8)

  一,判断数字是否是整型

  p_lngID = CLng(Request("ID"))

  二 取字长 这一点我相信一般的数据长度不会大于8位所以:

  If len(ID)>8 then

  response.write "bedpost"

  response end

  end if

  三 我认为这是一种比较冒险的办法,就是再进行一次数据库的查询,如果数据库表内没有相同的值与之相同那么返回错误.

  sql = "SELECT NAME FROM Category where ID="&ID

  set temp=conn.Execute(SQL)

  if temp.bof or temp.eof then

  response.Redirect("index.asp")

sonst

  cat_name=temp("name")

  end if

  set temp=nothing

  ‘上面的是数据ID 的检测,下面则是正式的查询

  sql = "SELECT ID T_ID, NAME FROM Category where ID="&ID&" ORDER BY xh asc"

  rs.open sql,conn,1,1

  四,我自己常用的数据过滤脚本,专利,呵~

  id=replace(id,"''","")

  If len( request("id"))>8 then ‘ 为什么取长度上面程序中已经说明

  response.write ""

  response.end

sonst

  If request("id")<>"" then ‘取不为空则是为了防止一些程序页中会出现空值情况,如果不在这里做判断,程序会校验出错.

  If IsNumeric(request("id"))=False then '' 风清扬修改 ID数据监控程式

  response.write ""

  response.end

  end if

  end if

  end if

  程序体(8)

  由于我个人的编程习惯,我喜欢将所有的数据检验程序全部保留到整站的公用程序中,比如:conn.asp啦,只需要写一次就可以修复全站的问题.

  说到这里,我提一点关于攻击的问题,就是跑用户密码或者是用户名,一般常用的就是

  ....../show.asp?id=1 and 0<>(select count(*) from admin where id=3 and left(username,1)=''a'')

  这样去一个一个尝试,当然我们不能在这里提什么Perl程序去跑密码,程序是别人写,要自己知道原理.这里我只是想给个比较方便的办法就是取ASC码范围.这个要比单独跑要快很多.不论是是字母,数字,汉字,特殊字符,他们总会有对应的ASC码,用以下办法:

  ....../show.asp?id=1 and 0<>(select count(*) from admin where id=3 and asc(right(left(username

  e,3),1)) between 1 and 10000) 剩下的就随你了,一般的从97到122就可以啦,字母嘛,很快D.呵呵,有人想用mid 函数当然也是不错 asc(mid(username,2,1)) between 1 and 10000 也成.

  如何更加有效的防止SQL注入攻击?我们将在下面的文章中具体提到!

  防范远程注入攻击

  这类攻击在以前应该是比较常见的攻击方式,比如POST攻击,攻击者可以随便的改变要提交的数据值已达到攻击目的.又如:COOKIES 的伪造,这一点更值得引起程序编写者或站长的注意,不要使用COOKIES来做为用户验证的方式,否则你和把钥匙留给贼是同一个道理.

  比如:

  If trim(Request. cookies ("uname"))="fqy" and Request.cookies("upwd")

  ="fqy#e3i5.com" then

  ........more.........

  End if

  我想各位站长或者是喜好写程序的朋友千万别出这类错误,真的是不可饶恕.伪造COOKIES 都多少年了,你还用这样的就不能怪别人跑你的密码.涉及到用户密码或者是用户登陆时,你最好使用session 它才是最安全的.如果要使用COOKIES就在你的COOKIES上多加一个信息,SessionID,它的随机值是64位的,要猜解它,不可能.例:

  if not (rs.BOF or rs.eof) then

  login="true"

  Session("username"&sessionID) = Username

  Session("password"& sessionID) = Password

  ‘Response.cookies("username")= Username

  ‘Response.cookies("Password")= Password

  下面我们来谈谈如何防范远程注入攻击,一般的攻击都是将单表提交文件拖到本地,将Form ACTION="chk.asp" 指向你服务器中处理数据的文件即可.如果你全部的数据过滤都在单表页上,那么恭喜你,你将已经被脚本攻击了.

  怎么才能制止这样的远程攻击?好办,请看代码如下: 程序体(9)

  ‘个人感觉上面的代码过滤不是很好,有一些外部提交竟然还能堂堂正正的进来,于是再写一个.

  ‘这个是过滤效果很好,建议使用.

  if instr(request.servervariables("http_referer"),"http://"&request.servervariables("host") )<1 then

  response.write "处理 URL 时服务器上出错。

  如果您是在用任何手段攻击服务器,那你应该庆幸,你的所有操作已经被服务器记录,我们会第一时间通知公安局与国家安全部门来调查你的IP. "

  response.end

  end if

  程序体(9)

  本以为这样就万事大吉了,在表格页上加一些限制,比如maxlength啦,等等..但天公就是那么不作美,你越怕什么他越来什么.你别忘了,攻击者可以突破sql注入攻击时输入框长度的限制.写一个SOCKET程序改变HTTP_REFERER?我不会。网上发表了这样一篇文章:

  ------------len.reg-----------------

Windows Registry Editor Version 5.00

  [HKEY_CURRENT_USERSoftwareMicrosoftInternet ExplorerMenuExt扩展(&E)]

  @="C:Documents and SettingsAdministrator桌面len.htm"

  "contexts"=dword:00000004

  -----------end----------------------

  -----------len.htm------------------

  ----------end-----------------------

  用法:先把len.reg导入注册表(注意文件路径)

  然后把len.htm拷到注册表中指定的地方.

  打开网页,光标放在要改变长度的输入框上点右键,看多了一个叫扩展的选项了吧

  单击搞定! 后记:同样的也就可以对付那些限制输入内容的脚本了.

  怎么办?我们的限制被饶过了,所有的努力都白费了?不,举起你de键盘,说不。让我们继续回到脚本字符的过滤吧,他们所进行的注入无非就是进行脚本攻击。我们把所有的精力全都用到ACTION以后的页面吧,在chk.asp页中,我们将非法的字符全部过滤掉,结果如何?我们只在前面虚晃一枪,叫他们去改注册表吧,当他们改完才会发现,他们所做的都是那么的徒劳。

  ASP木马

  已经讲到这里了,再提醒各位论坛站长一句,小心你们的文件上传:为什么论坛程序被攻破后主机也随之被攻击者占据。原因就在......对!ASP木马!一个绝对可恶的东西。病毒么?非也.把个文件随便放到你论坛的程序中,您老找去吧。不吐血才怪哦。如何才能防止ASP木马被上传到服务器呢?方法很简单,如果你的论坛支持文件上传,请设定好你要上传的文件格式,我不赞成使用可更改的文件格式,直接从程序上锁定,只有图象文件格式,和压缩文件就完全可以,多给自己留点方便也就多给攻击者留点方便。怎么判断格式,我这里收集了一个,也改出了一个,大家可以看一下: 程序体(10)

  ''判断文件类型是否合格

  Private Function CheckFileExt (fileEXT)

  dim Forumupload

  Forumupload="gif,jpg,bmp,jpeg"

  Forumupload=split(Forumupload,",")

  for i=0 to ubound(Forumupload)

  if lcase(fileEXT)=lcase(trim(Forumupload(i))) then

  CheckFileExt=true

  exit Function

sonst

  CheckFileExt=false

  end if

  next

  End Function

  ‘验证文件内容的合法性

  set MyFile = server.CreateObject ("Scripting.FileSystemObject")

  set MyText = MyFile.OpenTextFile (sFile, 1) '' 读取文本文件

  sTextAll = lcase(MyText.ReadAll): MyText.close

  ''判断用户文件中的危险操作

  sStr ="8|.getfolder|.createfolder|.deletefolder|.createdirectory|

  .deletedirectory"

  sStr = sStr &"|.saveas|wscript.shell|script.encode"

  sNoString = split(sStr,"|")

  for i = 1 to sNoString(0)

  if instr(sTextAll, sNoString(i)) <>0 then

  sFile = Upl.Path &sFileSave: fs.DeleteFile sFile

  Response.write "

  "& sFileSave &"文件中含有与操作目录等有关的命令"&_

  "

  "& mid(sNoString(i),2) &",为了安全原因,不能上传。"&_

  "

  "

  Response.end

  end if

  next

  程序体(10)

  把他们加到你的上传程序里做一次验证,那么你的上传程序安全性将会大大提高.

  什么?你还不放心?拿出杀手锏,请你的虚拟主机服务商来帮忙吧。登陆到服务器,将PROG ID 中的"shell.application"项和"shell.application.1"项改名或删除。再将"WSCRIPT.SHELL"项和"WSCRIPT.SHELL.1"这两项都要改名或删除。呵呵,我可大胆的说,国内可能近半以上的虚拟主机都没改过。只能庆幸你们的用户很合作,否则......我删,我删,我删删删......

  小结

  如何更好的达到防范SQL Injection的攻击?这里我个人给推荐几个办法,第一,免费程序不要真的就免费用,既然你可以共享原码,那么攻击者一样可以分析代码。如果有能力的站长最好还是更改一下数据库表名,字段名,只修改关键的admin, username, password就可以了,比如forum_upasswd 这样的字段名谁能猜到?如果你猜到了,最好赶快去买彩票吧,特等奖不是你还会有谁呢?另外,一般站点的关键就在于管理员的密码,很好的保护好你的管理员密码那是至关重要的,至少10位的数字字母组合。另外加上现在大多数站点程序都会使用MD5来加密用户密码,加上你密码的强壮性,那样你站点的安全性就大大的提高了。即使出现了SQL Injection漏洞,攻击者也不可能马上拿下你的站点。