SQL Injection kwetsbaarheden op het netwerk met behulp van vallen, JS script, HTML scripting aanvallen lijken te spelen op meer dan sterk. Een na de ander van de vele sites worden geplaagd door dergelijke aanvallen, niet zoals de host kwetsbaarheden kan onmiddellijk worden gerepareerd, de aanval van het web, zodat wij in de preventie of reparatie dat brengt een hoop ongemak. Een webmaster is het meest pijnlijk dit. Hoe sterk je wachtwoord om de aanvaller heeft altijd beschikbaar geweest, maar hoe kunnen we komen tot echte veiligheid? In de eerste plaats niet vergeten en link je leven, ten tweede, Supermaster de PWD alleen jij weet het beste ten derde, absoluut noodzakelijk is om uw website programma te verbeteren. Maar hoe kunnen we verbeteren, zal het ons uiteindelijke doel van dit artikel.
Veiligheid, hoe de beveiliging doen? Willen bescherming is noodzakelijk om te weten hoe ze elkaar kunnen aanvallen. Veel artikelen zijn geschreven om een bepaalde site te vangen, in feite, de weg van hun aanvallen, maar ook de volgende:
1. Eenvoudige scripting aanval
Dergelijke aanvallen problemen moet het saai is. Bijvoorbeeld ****: alert ();, want van een filter is niet sluiten voor wat de aanvaller niet alleen beschikbaar, maar hij kan ook afbreuk doen aan het doel. Veel sites aanwezige gratis service, of een programma op hun eigen site is niet strikt een filtratie-probleem.
2. Gevaarlijke scripting aanval
Dergelijke aanvallen zijn over het script kan de beheerder of een andere gebruiker informatie over de omvang te stelen. Zo weten we allemaal, stelen van cookies, gebruik het script op de lokale client meer schrijven.
3. SQL Injection exploits
Het kan worden gezegd dat deze aanval is uit te gaan van Dongwangluntan en BBSXP. Filteren met behulp van SQL speciale tekens zijn niet strak, en cross-database query aanvallen. Bijvoorbeeld:
http://127.0.0.1/forum/showuser.asp?id=999 en 1 = 1
http://127.0.0.1/forum/showuser.asp?id=999 en 1 = 2
http://127.0.0.1/forum/showuser.asp?id=999 en 0 (select count (*) van de admin)
http://127.0.0.1/forum/showuser.asp?id=999'', verklaart sysName @ a @ a set =''+ xp_''
''Cmdshell''exec @ a''dir c :''---& steun = 9
Haal het wachtwoord van de beheerder controle heeft: het hele station hoeft niet aan de gastheer van privileges, maar ook voor deze stap een hoop voorafschaduwing doen. SQL-injectie aanvallen vergelijkbaar met de wegen en middelen veel verschillende bestandsformaten filter is niet genomen om de query op verschillende manieren te sluiten. Dus om een volledig karakter filter wanneer de procedures zijn niet de volgende inspanning is onmogelijk.
4. Remote injectie aanvallen
Filter van een site genaamd het aanmeldingsformulier pagina is een eenvoudige JS filtering. Voor de gemiddelde gebruiker, je hoeft niet te voorkomen; van de aanslag met voorbedachten rade betreft, lijken niet op een dergelijke filterende werking zijn. We zeggen vaak dat de POST-aanval is een voorbeeld van. Ingediend door aanvallen van op afstand illegale informatie in om het doel te bereiken.
Door de bovenstaande beschrijving van een aanval methoden, wij in het algemeen de aanvallers weg te begrijpen, de volgende beschrijving richten we ons op het begin, hoe ze effectief script aanslagen te voorkomen!
Dus we starten vanaf de eenvoudigste:
Tegen script aanslagen
JS scripts en HTML-scripting aanval te voorkomen is heel simpel: Server.HTMLEncode (STR) bin. Natuurlijk moet je niet huilen, hoe zou dat zijn? U dat u mij naar het station Ik hou niet van alle add om te filteren uitgeput? Met het oog op het filteren, hoeven we alleen HTML-scripts en JS scripts uit te filteren enkele belangrijke karakters kan worden vergemakkelijkt : de procedure lichaam (1) als volgt:
"De volgende is een filter-functie
"De volgende voorbeelden zijn voor een toepassing
Gebruikersnaam = CHK (vervang (Request ("gebruikersnaam "),"''",""))
Inclusief de functie geschreven met behulp van de openbare pagina, dus is de beste efficiëntie.
Procedure lichaam (1)
Daarnaast is het de moeite waard onze aandacht is dat veel gebruikers van deze site te registreren, of aan te passen informatie voor de gebruiker pagina is ook een gebrek aan script filtering, of slechts in een filter, past u de informatie geregistreerd in het post-script kan nog steeds aanvallen. Data afkomstig van een gebruiker op te sporen en filter, het programma lichaam (2) als volgt:
"De volgende is een filter-functie
Als Instr (verzoek ("gebruikersnaam "),"=") 0 of
Instr (verzoek ("gebruikersnaam "),"%") 0 of
Instr (verzoek ("gebruikersnaam"), chr (32)) 0 of
Instr (verzoek ("gebruikersnaam "),"?") 0 of
Instr (verzoek ("gebruikersnaam "),"&") 0 of
Instr (verzoek ("gebruikersnaam "),";") 0 of
Instr (verzoek ("gebruikersnaam "),",") 0 of
Instr (verzoek ("gebruikersnaam "),"''") 0 of
Instr (verzoek ("gebruikersnaam "),"?") 0 of
Instr (verzoek ("gebruikersnaam"), chr (34)) 0 of
Instr (verzoek ("gebruikersnaam"), chr (9)) 0 of
Instr (verzoek ("gebruikersnaam"), "") 0 of
Instr (verzoek ("gebruikersnaam "),"$") 0 of
Instr (verzoek ("gebruikersnaam ")," ") 0 of
Instr (verzoek ("gebruikersnaam ")," ") 0 of
Instr (verzoek ("gebruikersnaam "),"""") 0 dan
Response.Write "vriend, voor te leggen uw gebruikersnaam bevat ongeldige tekens, te veranderen, ik dank u om terug te keren"
Response.End
end if
Procedure instantie (2)
Met het oog op de efficiency willen we verder filteren van de inhoud van de procedures te voorzien, waardoor de filtratie-efficiëntie van de verschillende parameters zal grotendeels worden verhoogd: zoals programma-orgaan (3)
"Na het hoofdprogramma
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
"De volgende zijn voorbeelden van een toepassing
voor i = 0 tot UBound (Bword)
Als Instr (FQYs, Bword (i)) 0 then
ERRC = true
end if
volgende
Als vervolgens ERRC
Response.Write "
Response.End
end if
Procedure orgaan (3)
Met de bovenstaande filter functie die u kunt plaatsen in de toepassing van enige noodzaak om te filteren functie direct filter op. Dit brengt ons bij de restauratie werkzaamheden sterk vereenvoudigd.
Bovendien, meer dan ik zou graag nog eenmaal er nogmaals aan herinneren, zal een kleine number van de sites tijdens de expressie van UBB icon appear wanneer de filter transformatie probleem, aangezien het verborgen was not easy to vinden is:
Zoals:
We passen de tekst labels,
Wist niet dat je begrijpt, voordat een offerte en procedures in de linker aanhalingstekens, enkele aanhalingstekens gebruikt in het tweede en sloot de juiste aanhalingstekens, dus het proces als output:
ARP aanval is niet een virus - en dus bijna alle anti-virus software voor alle hulpeloos, maar het de moeite waard een virus - want het vertraagt licht kan leiden tot communicatie-, netwerk-verlamming, het gewicht zal leiden tot lekken van informatie. In de loop der jaren heeft ARP aanval altijd bestaan, maar niet een goede oplossing. Veel Internet-gebruikers te lijden hebben, netwerk management het personeel niet in staat is om te beginnen, ellendig. In deze studie, de analyse van het ARP-protocol en vreemdgaan principe dit document een inleiding over hoe de ARP-aanvallen, hoe de ARP aanval uit te voeren is vast te stellen het lijden, hoe te voorkomen en op te lossen ARP aanval.
1.ARP overeenkomst en bedrog theorie
(1) Ethernet werkt. Ethernet in de data pakket wordt verzonden de eerste plaats hebben we te splitsen (de grootste groep van colli), de verpakking (in de netwerklaag voeg de bron en doel IP-adres IP-adres in de Data Link Layer naar de bron MAC-adres en voeg volgende hop het MAC-adres), in een binaire bitstroom, het proces in figuur I-1. Pakketjes het streefcijfer na de uitvoering van het proces van het versturen van de andere kant, is de stroom van binaire bits in het frame, de oplossing pakket (Data Link laag van het eerste doelpunt van het MAC in vergelijking met MAC hetzelfde lokale netwerk-kaart of broadcast MAC, als hetzelfde is Verwijder frameheader, dan geven Netwerklaag pakketten, of weggegooid; Network Layer bestemming IP-adres is in vergelijking met dezelfde machine, zal hetzelfde blijven pakken, anders wordt weggegooid). Indien de afzender en de ontvanger in hetzelfde netwerk, de volgende hop MAC is het doel van het MAC, zoals de zender en ontvanger niet op hetzelfde netwerk, de volgende hop is het MAC-MAC de gateway. Uit dit proces is niet moeilijk om de data-overdrachtssnelheid Ethernet vinden weet alleen het IP-adres van de doelstelling is niet genoeg, moeten ook de volgende hop het MAC-adres weten, wat de hulp van een andere blik op de overeenkomst dit vereist, ARP (Address Resolution Protocol).
Figuur I-1 data-en uitpakken
2) ARP werkt. Computer voor het verzenden van de data-pakket, in vergelijking met het IP-adres doelgroep, zijn bepalen de bron en doel niet hetzelfde segment, zoals het zelfde netwerk segment, het MAC-pakket doelgroep, indien niet op hetzelfde netwerk segment, het pakket gateway MAC. Voordat de verpakking, zie de machine ARP-cache om te zien of er geen overeenkomstige volgende hop IP-en MAC-mapping-items, indien de directe inkapseling; zo niet dan stuurt de ARP-query-pakket. ARP-query en antwoordpakketten van het format zoals weergegeven in figuur I-2, query-pakket "Ethernet-adres van bestemming" voor 0xffffffffffff broadcast adres, "Ethernet bron aan te pakken," gebaseerd netwerkkaart het MAC-adres van de machines, "Frame Type" is 0x0806 zei ARP reactie of vraag, "type hardware" Ethernet-adres voor de 0x0001, zei: "protocol", met dat IP-adres 0x0800, "OP" voor de ARP-aanvraag of reactie, ARP verzoek packet OP waarde van 1, ARP reactie pakket van OP 2 is, "Ethernet-adres van de afzender," het MAC-adres van de afzender, de 'afzender IP "het IP-adres van de afzender," het doel Ethernet-adres "hier voor 0x000000000000," het doel IP "voor de Controleer het MAC-adres van IP. Stuur dit pakket uit te zenden naar het netwerk, alle computers in het netwerk ontvangt dit pakket, alleen de lokale IP-adres voor het "doel van de IP" reageert de computer om dit pakket, en reageren op dit pakket. Bij het begin van het verzenden later ontvangt dit antwoord ARP-pakket chu, de overeenkomstige toegang tot de doel-IP-MAC-adres, en vervolgens de datapakketten kunnen worden ingekapseld.
Figuur I-2 ARP-query en response packet-formaat
(3) ARP misleiding. In het TCP volgnummer en bevestigings nummer door de verschillende velden, de uitvoering van de three-way handshake om de betrouwbaarheid van gegevensoverdracht te waarborgen, ARP is een stateless protocol, wat betekent dat met of zonder het te verzenden ARP verzoek vestuurd naar de machine zolang de ARP reactie pakket, zal de computer niet toevoegen validatie te ontvangen, en actualisering van de ARP-cache. Na ongeveer ARP werkt zolang het voornemen van het vullen van figuur I-2 in bepaalde gebieden, kan bereiken het effect van ARP aanval: IP-adres conflict, ARP bedrog, ARP aanvallen.
P-adres conflicten. Lokale IP-adres van de computer detecteert of de methoden die worden gebruikt op het Internet is het doel van de machine IP-adres als het IP-adres, stuur je een ARP-query pakket, indien de ontvangen reacties, het geeft het IP-adres is gebruikt op het internet, pop-up IP-adres om te worden gebruikt dialoogvenster, laat het IP-adres van de machine. ARP-aanvaller te maken van dit principe, met willekeurige MAC-adres (niet zijnde een echte aanvaller MAC-adres) gevuld met 'Ethernet afzender adres "veld, het IP-adres van de aanvaller werd gevuld met" sender IP "-veld gebruikt door de aanvaller echte MAC-adres van het vullen van de "doel Ethernet-adres" veld, gebruik van het IP-adres van de aanvaller werd gevuld met "doel IP"-veld, OP de waarde van de "2", zoals weergegeven in figuur I-3 . Als de aanvaller die na deze ARP Response, geoordeeld dat de machine het IP-adres op het netwerk is gebruikt, pop-up dialoogvenster IP-adres conflicten.
Figuur I-3 IP-adres van de conflicten ARP response packet
ARP vreemdgaan: zoals weergegeven in figuur I-4, PC1 is de aanvaller, aanvallen die gericht zijn op "break PC2 en de gateway communicatie." PC1 genereert een ARP response packet, "van de afzender IP" in te vullen als de gateway IP-adres, "de afzender Ethernet-adres" vul een niet-gateway MAC-adres (dit adres kan willekeurig worden gegenereerd), "Doelstelling IP" in te vullen PC2 IP-adres, "het doel Ethernet-adres 'in te vullen van de MAC-adres van PC2. Host PC2 ontvangt uiterlijk na de ARP response packet, zal deze gateway gebruiken is niet de juiste MAC-adres op hun ARP cache tabel bij te werken, na deze fout na de PC2 ingekapseld MAC-adres, waardoor het pakket na inkapseling niet correct kan de gateway bereiken; PC1 soortgelijke opnieuw een onjuiste ARP response packet te sturen naar de gateway, "de afzender IP" vul het IP-adres in pc2, "Ethernet-adres van de afzender," het invullen van een niet-PC2 het MAC-adres (dit adres kan willekeurig worden gegenereerd), "Doelstelling IP" vul het gateway IP adres. Gateway ARP reactie ontvangen van dergelijke informatie, worden opgeslagen in de verkeerde cache PC2 kaart inzendingen. PC1 en PC2 naar de gateway stuurt regelmatig een dergelijk pakket, zodat de vergrijzing van de ARP-tabellen, hen zo te verhinderen dat het bereiken van het doel van communicatie.
Figuur I-4 ARP vreemdgaan diagram
ARP aanval. Om als middle-aanvallen (Man-in-the-middle-attack), en ARP vreemdgaan eruit, alleen PC1 ARP verzoek, dat in te vullen 'afzender Ethernet-adres stuurt "is geen willekeurig gegenereerd, maar vervang het PC1 machines MAC-adres, opent u de PC1 van de routing-functie - wijzigen (toevoegen) register optie HKEY_LOCAL_ MACH INE SYSTEMCurrentControlSetServicesTcpipParametersIPEnableRouter = 0x1, terwijl het aanboren van de software geïnstalleerd op PC1, PC2 en het onderscheppen van alle communicatie tussen de gateway pakket.
2. Hoe de ARP aanval te voeren
Hier zijn twee ARP aanval op de software, topologie in figuur I-5 gebruiken.
Figuur I-5 ARP aanval
Software wordt voornamelijk gebruikt voor de eerste aanval, verstoring van de normale netwerkverkeer, zoals weergegeven in figuur I-5, 2 in de virtuele machine met het netwerk magistraat "software, vernietig de virtuele machine 1 en de normale communicatie tussen de echte machine experiment te installeren stappen zijn als volgt.
Correct geconfigureerd IP-adres van de computer. Virtual Machine 1 kaart type bridged, IP-adres is 192.168.1.220, masker 255.255.255.0, gateway 192.168.1.1, DNS is 218.2.135.1. Virtual Machine 2 soorten kaarten overbrugd, IP-adres is 192.168.1.210, masker 255.255.255.0, gateway 192.168.1.1, DNS is 218.2.135.1. Het IP-adres van de echte machine is 192.168.1.200, masker 255.255.255.0, gateway 192.168.1.1, DNS is 218.2.135.1.
2 in de virtuele machine te installeren WinPcap. Pak het "Netwerk magistraten. Rar" bestand, dubbelklikt u op de "WinPcap30.exe" bestand om de installatie van WinPcap beginnen.
2 in de virtuele machine software is geïnstalleerd op het netwerk magistraat. Dubbelklik op "Netwerk magistraat crack versie 2.8. Exe"-bestand op het netwerk magistraat te installeren.
Uitvoeren van het netwerk magistraat. In de eerste run magistraten, opent u het dialoogvenster weergegeven in figuur I-6, wat suggereert dat parameters voor het toezicht.
Figuur I-6 regelparameters
Omdat er slechts een netwerk blokkeren, selecteert u de bovenste kaart in, klik op "OK" knop. Zoals weergegeven in Figuur I-7 aan de controle keuze van het bereik dialoogvenster te openen, geeft het bewaken bereik is opgenomen in de kaart waar alle beschikbare IP-adres subnet, klikt u op de grafiek in de "Add / Edit", het toevoegen van het toepassingsgebied, klikt u op "OK" knop.
Figuur I-7 controle over de reikwijdte van de keuze
Attack voor de test. 1 op een virtuele machine, open het DOS-venster, typt u ping 192.168.1.200-t, continue ping het IP-adres van de echte machine kan worden gevonden is via het internet. Niet het venster te sluiten.
Begon aan te vallen. Magistraat software kan de netwerk monitor aan op hetzelfde subnet aan alle online hosts magistraat in het netwerk management interface, klik rechts op de echte machine, uit het contextuele menu, selecteer "handmatig beheren", zoals weergegeven in figuur I-8.
Figuur I-8 magistraat management interface
Zoals weergegeven in figuur I-9 in het dialoogvenster, selecteert u de derde optie "tegen alle andere hosts ...", klik op" Start ", dan is de virtuele machine kan worden gevonden tussen 1 en echte machine ping-test Start Tips "Request timed out ', communicatie afgesneden. Real omgeving, kan je ook gewoon de optie "Verbod en de belangrijkste ontvangende verbinding ..." en klik vervolgens op de "sleutel master", door toevoeging van het adres van de gateway, zodat de aangevallen computer en de gateway-verbinding wordt onderbroken, en de LAN-computer ononderbroken communicatie tussen.
Figuur I-9, computer voor het beheer handleiding
In de tweede paragraaf van de software die wordt gebruikt om waardevolle informatie te stelen, zoals weergegeven in figuur I-5 in de virtuele machine naar een "Kaïn & Abel install"-software, het ondermijnen van de echte machine virtuele machine 1 en de normale communicatie tussen de experimentele stappen zijn als volgt.
Geïnstalleerd op de virtuele machine een Kaïn & Abel. Dubbelklik op "ca_setup.exe" bestand om te beginnen met de installatie, de installatie dicht bij het einde komt, wordt gevraagd om WinPcap4.0 installeren, zoals weergegeven in figuur I-10, selecteer "Installeren", om de installatie te starten WinPcap4.0.
Figuur I-10 tot WinPcap4.0 te installeren
Run Kaïn & Abel. Dubbelklik op het bureaublad, "Kaïn" icoon, opent u het Kaïn & Abel management interface, klikt u op de management-interface in de "Start / Stop Sniffer" icoon, zoals weergegeven in figuur I-11 tot en met packet capture beginnen.
Figuur I-11 begon Sniffer
Onder het wachtwoord voor de hub. Klik op de kaart I-11 in de top van de "Sniffer" tab, klik dan onder het "Wachtwoorden" tab, en start om wachtwoorden en gevoelige informatie, waaronder e-mail, Telnet, FTP en ga zo maar door vast te leggen. In de virtuele machine 2 open een Telnet-service, in de echte machine telnet 192.168.1.210 en voer gebruikersnaam en wachtwoord, zoals weergegeven in figuur I-12, linker navigatiebalk om een telnet informatie vast te leggen.
Figuur I-12 volgen gevoelige informatie
Klik op de linker navigatiebalk van de "Telnet", de lijst in de rechter kolom, klik rechts op de verovering van de binnenkomst, in het snelmenu en selecteer "View", open zoals weergegeven in figuur I-13 notebook papier, uit niet moeilijk om de gebruikersnaam te zien is de beheerder, wachtwoord is Cisco. Het cijfer voor elke letter van het woord beheerder show twee keer, want een keer een telnet-echo.
Figuur I-13 tot en met het wachtwoord bestand te vangen
Het wachtwoord voor de schakelaar milieu. Gewoon heel makkelijk om het wachtwoord te krijgen, omdat de virtuele machine virtuele machine 1 en 2, en de echte machines zijn aangesloten op het netwerk van de echte computer-kaart, het equivalent van alle aangesloten in een hub, de echte omgeving, hoe vaker schakelaars, twee schakelaars zal niet als host of een host en de gateway voor het verkeer voorbij tussen ontvangst van de aanvaller. Dan moeten ARP misleiding gebruiken, klikt u zoals weergegeven in figuur I-12 onder de "ARP" tab en klik vervolgens op "Toevoegen aan" pictogram in de werkbalk, zoals weergegeven in figuur I-14 lijst.
Figuur I-14 te verhogen ARP vreemdgaan op de lijst
Open de ARP-vermeldingen zoals weergegeven in figuur I-15, aan de linkerkant om een IP-adres selecteert, wordt het recht op een IP-adres te selecteren, zal host twee IP-adressen worden misleid.
Figuur I-15 selectie door misleiding van de computer
Klik op "OK" knop om terug te keren, en klik op de Grafiek I-11 zoals getoond in de werkbalk "Start / Stop Sniffer" icoon aan de rechterkant van "Start / Stop ARP" icoon om de uitvoering van de ARP misleiding beginnen, zoals weergegeven in figuur I-15 selectie communicatie tussen computers een transfer van de virtuele machine, een virtuele machine kan natuurlijk gevoelige informatie tussen hen expliciet te verkrijgen. In dit licht bezien switch netwerk veiligheidsrisico's bestaan.
3. Hoe om te bepalen lijdt ARP aanval
ARP spoofing-aanval hierboven beschreven, kan niet leiden tot congestie van het netwerk, maar lekkage optreedt, gevolgd door de invoering van een oplossing. Bepaal of er sprake is van de eerste aanval ARP methode is eenvoudig, volg deze stappen.
Continue ping geen toegang tot het IP-adres. In de probleem computer (virtuele machine 1) van het DOS-venster, typ "ping 192.168.1.200-t", wordt gebruikt om het testen van netwerkverbindingen; 192.168.1.200 is geen normale communicatie computer (Dit is de echte machine), het huidige project vervangen kan geen toegang tot hetzelfde segment van de doelcomputer IP-adres. Als je last hebt van de ARP aanvallen, het scherm wordt gevraagd om "Request time out".
In de getroffen computer (virtuele machine 1) Vorige naar een andere DOS-venster te openen, type "arp-d", ARP is een DOS-commando, om het IP-adres van de betreffende netwerkkaart het MAC-adres op te lossen,-d aan de cache van alle IP-adres van de machine duidelijke en de bijbehorende MAC-adres. Als u vindt dat Stap 1 van het venster inhoud in een aanhoudende 'Antwoord van ... ... ", de ARP die werden blootgesteld aan aanvallen, is nu genormaliseerd; Was er maar een' Antwoord van ... ..."-pakket heeft de achterkant geworden een "Request Time out"-pakketten, en vervolgens de computer wordt blootgesteld aan continue ARP aanval.
4. Hoe te voorkomen en ARP aanval op te lossen
ARP aanval oplossingen lopen uiteen, maar vanwege diverse beperkingen, kan uiteindelijk zeer weinig worden uitgevoerd, zelfs een soort niet kan vinden de uitvoering. De volgende oplossingen niet volledig, maar maakt niet uit hoe de werkelijke netwerk hardware, in staat zal zijn om de meest geschikte oplossing te vinden.
Methode 1: Na een rechter heeft gevonden, ARP aanvallen, als de aanval voortduurt, het slachtoffer de computer van de uitvoering van de "arp-d", dan is de uitvoering van "arp-a",-een rol wordt weergegeven op de computer alle ARP-cache . Van welke we kunnen vinden een paar records, een record is de toegangspoort of de toegang tot doel host, is er een ander record, kunnen er meerdere. Meer dan de uitvoering van een aantal "arp-d", "arp-a", kortom, is in wezen het grootste stuk van het record ARP IP-adres van de echte aanvaller.
Het voordeel: Het is eenvoudig, geschikt voor bijna alle van de netwerkomgeving, zonder ondersteunende software en vereist geen kennis van netwerk management zijn zeer professioneel, kunt u de aanvaller, dan is de aanvaller voor netwerk-isolatie. Nadeel Als de aanvaller slechts vernietiging, niet voor de controle, ARP "-een" zie geen betrouwbare registratie van de.
Methode 2: In het doel apparaat en het slachtoffer computer IP-adres en MAC-adres, respectievelijk de statische bindend. Bijvoorbeeld, de uitvoering van de computer:
"Arp-s 192.168.1.1 00-aa-00-62-c6-09"
In de routing of schakelapparatuur (waar alleen Cisco-apparatuur bijvoorbeeld) uit te voeren:
"Cisco-6509 (config) # arp 192.168.1.2 0009.6be2.3ca3 ARPA"
De noodzaak om het doel apparaat te beschermen IP-adres en het MAC-adres voor bindende illegale binnenkomst ARP aanval zonder gaten. Niet elke gebruiker heeft het recht om hun eigen apparaten op de gateway te gebruiken IP-adres en MAC-adres bindend, maar klanten kunnen worden gedaan ten minste in hun eigen computers IP-adres van de gateway en het MAC-adres van bindende de beste heeft een batch-bestand elke keer als de computer opstart, vooral de uitvoering van het bestand, met behulp van deze methode effectief kan voorkomen dat de aanval de tweede lek.
Deze methode heeft het voordeel van de relatief kleinschalige toepassing van het netwerk. Nadeel is de moeilijkheid van de uitvoering, groter, meer als de internet host en host frequente veranderingen, zoals de universiteiten van deze groep nog steeds elk jaar afgestudeerde studenten nieuws te melden, gebonden aan hoge werkdruk, moeilijk uit te voeren, te veel gebonden onderdelen van apparatuur zal de snelheid van uitvoering beïnvloeden en verminderen en de doeltreffendheid, zelfs ARP aanval zou niet van invloed op het internet, maar een groot aantal van de ARP pakketten die worden verzonden, of tot het nemen van een groot aantal nuttige bandbreedte; vereiste apparatuur om statische bindende functie ondersteunen.
Methode 3: Gebruik van de Dynamische ARP-procureur-technologie, gecombineerd met de functies van DHCP, IP en MAC de automatische binding te bereiken. Vergelijkbaar met de methode en methode 2, maar bindende wordt automatisch gedaan, en kan worden ingezet in de laag voor toegang tot switch, zal de illegale ARP pakket switch worden weggegooid, geïnteresseerde vrienden, voor de technische documentatie aanverwante apparatuur te vinden.
Het voordeel is de beste manier om ARP aanval op te lossen, niet de hulp van het management, de illegale ARP pakketten die geen toegang tot het netwerk. Er is geen schade, noch invloed op performance van het netwerk. Nadeel is de eis dat de beheerder heeft betere technologie; de gevraagde ondersteuning van netwerk apparatuur, Cisco-apparaten ondersteunen deze functie nog minstens drie (enkele binnenlandse ondernemingen in de laag voor toegang tot het gebruik van de drie toestellen), veel fabrikanten van apparatuur wordt nog niet ondersteund.
Methode 4: managed switch, met een minuut kunt u de aanvaller. 1 op de vorige oplossing, vindt u het MAC-adres van de doelstelling IP is niet echt een MAC, MAC-adres van deze nota, als de MAC is "0050.bae3.2305", in de managed switches (waar alleen Cisco-apparatuur voorbeeld) uit te voeren:
"Cisco-2950 # show arp | omvatten 0050.bae3.2305
Internet 10.168.168.9 239 0050.bae3.2305
ARPA FastEthernet1/17 "
De eerste lijn is de uitvoering van de opdracht, een eenvoudige "show arp" zal te zien alle schakelaars te leren MAC-adressen, MAC-aanval is zeer moeilijk te vinden, "| onder 0050.bae3.2305" spelen een filterfunctie, alleen het desbetreffende lijn . De tweede lijn is de implementatie van de resultaten vindt u het MAC-adres van de Fa1/17 haven. Vind de poort van de host is gevonden die overeenkomt met de bron aan te vallen, als de poort niet is aangesloten op een computer, maar een andere schakelaar, herhaal methoden tot u de ultieme computer.
Voordeel van de methode is het meest haalbaar is om sneller uit te voeren, alle beheerde switches ondersteunen deze functie, sterk aanbevolen. Nadeel is dat er veel eenheden nog steeds gebruik maken van de onbeheerde switch of hub.
Methode 5: unmanaged switch of hub van de zaak, kunt u 10 minuten de tijd om de aanvaller te vinden. Als de computer van de aanvaller (Virtual Machine 1) tot twee DOS-venster te openen, een venster van de uitvoering van "ping 192.168.1.200-t", een DOS-venster intermitterende uitvoering van "arp-d", als een aantal van Taiwan en Afrika Netwerk tube-type switch of hub, op zijn beurt afgesneden van hun macht, toen werd het de tweede DOS-venster van een aanhoudende 'Antwoord van ... ... ", dan kan worden geconcludeerd uit deze bron ARP aanval netwerkapparaten. Nam aan de macht te herstellen op het apparaat, de kabel te trekken in een wortel, bij het vinden van een tweede DOS-venster van een aanhoudende 'Antwoord van ... ... ", dan kan worden geconcludeerd dat de netwerkkabel is aangesloten apparatuur is ARP aanval bron. Als deze zoekmethode traag, kunt u gebruik maken binaire zoeken, dat wil zeggen, de helft van een pull lijn, het meten van wat in het algemeen niet meer dan 10 minuten kunt u de aanval bron te vinden.
Voordeel van de methode is geschikt voor vrijwel elke netwerkomgeving. Nadeel is dat de uitvoering van een beetje hard, is het best vervangen door managed switch is.
Methode 6: gemeenschappelijke gebruikers zichzelf te redden. Als een gewone internet gebruikers op het netwerk reparatie kan niet worden opgelost in de tijd, schrijf dan een batch-bestand naar de computer te laten werken kan het probleem ARP aanval op te lossen. Batch-bestand als volgt:: een
Arp-d
Ping 1.1.1.1 n-1-W 100
Ga naar een
Om het tekstbestand op als a.bat, en dubbelklik vervolgens op de uitvoering van de computer van de gebruiker opent een DOS-venster, het programma zal lus, niet het venster te sluiten ARP aanvallen kunnen het probleem op te lossen. Als de ARP verwijderingsmethode te traag is, kunt u de bovenstaande 100 (voor 0.1s) om de gewenste waarde.
Deze methode heeft het voordeel van de gewone gebruiker ARP aanval het probleem kan worden opgelost, voor vrijwel elke netwerkomgeving. Nadeel is de frequente duidelijke ARP-cache, ARP-broadcast-pakketten te verzenden frequent, zou ze dit een extra last op de computer en netwerk.
Als het beeld niet bestaat, dan is de tag wordt geactiveerd onerror uitvoering script. Voor de enkele aanhalingstekens zijn het filteren van sites, zoals hier, compleet met dubbele aanhalingstekens. **** Voor de gefilterde veld, en alleen alert () kan ook. Dus moeten we filter volledig filter, laten geen schijn van kans voor de aanvaller.
Voorkom SQL Injection exploits
Het kan hier worden gezegd lijkt de focus van het hele artikel. SQL injection kwetsbaarheid op de diversificatie maakt ook onze verdediging op het programma had een beetje meer denken. SQL-injectie in het gezicht van de sterke "beledigend", wat we aan het eind van het filter?
Het risico van een aantal veel gebruikte karakters hebben
Database fields''closed Discriminatie
- Mark een aantal van de database annotatie
# Sommige database annotatie tekenen
"Kan leiden tot fouten,
Cross-gids
3221143836nicode tekencodering functies
$ Kan gebruikt worden voor variabele label
/ En hetzelfde
NULL voorzichtig moesten zijn "leeg" zijn inschrijving in het risico van de behandeling kan leiden tot de database of het systeem fout op fout structuur overflow.
Met ruimte and''to construct sql injeciton
= & Als de tweede parameter kan worden herschreven querystr.
(1) van de meest algemene. SQL Injection exploits gezien: gebruikersnaam en wachtwoord op de filtering problemen, zoals:
Auteur: Gebruikersnaam:''of''''='' gebruikerswachtwoord is:''of''''=''
Uitgaande van het proces, kunnen we komen tot, de volgende database
SQL = "SELECT back-up bin conf config gegevens eshow_sitemap.html generate.sh log maint sitemap.html svn tmp VAN lUsers WHERE Gebruikersnaam ='''' of''''='''' en wachtwoord of ='''' ''''=''''"
Op deze manier, dus, zal SQL server weer alle records lUsers tafel, terwijl de ASP-script zal worden aangezien voor een aanvaller een lUsers de eerste record in de tabel te voeren, waardoor de aanvaller de gebruiker loginnaam website. Schijnt om te voorkomen dat dit soort van injectie is heel eenvoudig:
Gebruik de volgende procedure kan worden bereikt, het programma lichaam (4)
strUserName = Replace (Request.Form ("Username"), "''''", "''''''''")
strPassword = Replace (Request.Form ("Password"), "''''", "''''''''")
Procedure lichaam (4)
(2) om te voorkomen dat SQL-injectie aanvallen, de eerste stap is het gebruik van een verscheidenheid van de veiligheid betekent dat de controle van de ASP-Request-object (Reques, Request.QueryString, Request.Form, Request.Cookies en Request.ServerVariables) input van de gebruiker, om ervoor te zorgen dat de SQL-opdracht betrouwbaarheid. Specifieke veiligheidsmaatregelen variëren afhankelijk van uw DBMS.
SQL-injectie aanvallen kunnen schade veroorzaken aan het milieu hangt af van de software van de site en configuratie. Wanneer de webserver aan de exploitant (DBO) van de identiteit toegang tot de database, met behulp van SQL-injectie aanval, die kon verwijderen alle vormen, nieuwe vormen, en zo verder. Wanneer de server naar super user (sa) om de identiteit toegang tot de database, met behulp van SQL-injectie aanval, die de gehele SQL-server kan de controle, in sommige configuraties, kan een aanvaller zelfs uw eigen account te hebben om volledig te manipuleren van de database is gelegen in de Windows-server.
Zoals:
http://127.0.0.1/forum/showuser.asp?id=999'', verklaart sysName @ a @ a set =''+ xp_''
''Cmdshell''exec @ a''dir c :''--& steun = 9
http://127.0.0.1/forum/showuser.asp?id=999'', verklaart sysName @ a @ a set =''''xp +
''_cm''+'' Dshell''exec @ a''dir c :''--& steun = 9
Kan zelfs te voeren, zoals: net user fqy fqy / Voeg deze opdracht. Natuurlijk is dit vereist dat u de huidige status moet worden uitgevoerd Sa, of dat u slechts een aanval virtual host, raad ik u aan om daar te stoppen.
Voor sommige sites voor de machine op poort 80 te gebruiken om aanvallen te voorkomen door een machine rechtstreeks aan administratieve rechten te krijgen, is het essentieel geworden. Filter op xp_cmdshell de primaire, veel sites zijn met behulp van de procedures GET en POST of gegevens, gemengd dienen te krijgen, en voor dit geven we een manier om te voorkomen SQL injection GET procedure te voeren: zijn, zoals het programma body (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) = "netto localgroup beheerders"
nothis (5) = "select"
nothis (6) = "count"
nothis (7) = "ASC"
nothis (8) = "char"
nothis (9) = "mid"
nothis (10 )="''"
nothis (11 )=":"
nothis (12 )=""""
nothis (13) = "insert"
nothis (14) = "delete"
nothis (15) = "drop"
nothis (16) = "afkappen '
nothis (17) = "uit"
nothis (18 )="%"
ERRC = false
voor i = 0 tot UBound (nothis)
Als Instr (FQYs, nothis (i)) 0 then
ERRC = true
end if
volgende
Als vervolgens ERRC
Response.Write "
Response.End
end if
Procedure body (5)
Ik wil de verklaring punt is: De bovenstaande procedure is een methode GET op de gegevens die door het filter, niet blindelings toe te passen.
Net als andere voorwerpen uit de ASP-verzoek (Reques, Request.QueryString, Request.Form, Request.Cookies en Request.ServerVariables) aanval methode van input van de gebruiker methoden, grotendeels geconcentreerd in het script variabele is de verwachte aantal van variabele input (ID ), natuurlijk kunnen we niet alleen kijken naar het aantal variabelen, zoals:
http://127.0.0.1/systembbs/showtopic.asp?tid=99&name=abc''en links (userpasswor
d, 1) =''een
http://127.0.0.1/systembbs/addtopic.asp?tid=99&name=abc''en userpasswor
d =''of''''=''
Bovendien, hoe een enkele injectie om fouten als deze te voorkomen?
http://127.0.0.1/systembbs/addtopic.asp?tid=99'', verwijderen forum_forum; - & pagina = 33
Preventie programma: het programma lichaam (6)
...... Addtopic.asp? Action = toe te voegen ......
...... Addtopic.asp? Action = delect ......
Actie 1 = trim (Request.QueryString ())
If Left (actie1, 7) "action =" then''must worden beperkt tot action = querystring
fout (err01)''error handling
anders
action = Request.QueryString ("actie")''om de waarde van de querystring te verkrijgen
end if
Select Case action''to deal op de querystring
geval "add"
.....
geval "delete"
......
geval else''if de querystring is dit niet de waarde voor foutafhandeling
fout (Err02)
End Select
Procedure lichaam (6)
Een dergelijke aanval optreedt, zodat onze webmasters hoofdpijn weer, hier kan ik u de beste manier om een oplossing is, is in het algemeen, de gebruikersnaam lengte, aantal karakters niet meer dan 15 karakters, de meeste van de 14 tekens . Dan zijn we gaan uit van de lengte te filteren: Als een programma lichaam (7)
Naam = vervangen (naam ,"''","")
If Len (naam) 16 dan
Response.write "Je doet wat?"
Response.End
Einde als
Procedure instantie (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")
anders
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
anders
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
anders
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漏洞,攻击者也不可能马上拿下你的站点。