SQL-injeksjon svakheter i nettverket ved hjelp av angrepet, JS script, HTML scripting angrep ser ut til å spille over mer enn sterk. En etter en av de mange nettsteder er plaget av slike angrep, likte ikke det vert sårbarhetene kan repareres umiddelbart, angrepet fra Internett, slik at vi i forebygging eller reparasjon som bringer mye bry. En webmaster er det mest smertefulle dette. Hvor sterkt passordet til angriperen har alltid vært tilgjengelig, men hvordan kan vi oppnå reell sikkerhet? Første, ikke passordet og koble ditt liv, andre, Supermaster det PWD bare du vet best , for det tredje, absolutt nødvendig for å forbedre ditt nettsted programmet. Men hvordan kan vi forbedre, vil det være vår endelige målet med denne artikkelen.
Sikkerhet, hvordan du gjør sikkerhet? Vil beskyttelse er nødvendig å vite hvordan du skal angripe hverandre. Mange artikler er skrevet for å fange et bestemt nettsted, faktisk, veien for sine angrep, men også følgende:
En. Enkel skripting angrep
Slike angrep bør problemer det er kjedelig. For eksempel ****: varsling (), så på grunn av et filter er ikke i nærheten av hva angriper ikke bare tilgjengelig, men han kan virke forstyrrende til formålet. Mange nettsteder stede gratis tjeneste, eller et program på deres eget nettsted er strengt tatt ikke et filtreringssystem problem.
2. Farlige skriptangrep
Slike angrep har vært over til skriptet kan stjele administratoren eller annen bruker informasjon om omfanget. For eksempel vi alle vet, stjele cookies, bruk skriptet på den lokale klienten skrive mer.
Tre. SQL-injeksjon utnytter
Det kan sies at dette angrepet er å starte fra Dongwangluntan og BBSXP. Filtrering bruker SQL spesialtegn er ikke tett, og kryss-forespørsel angrep. For eksempel:
http://127.0.0.1/forum/showuser.asp?id=999 og 1 = 1
http://127.0.0.1/forum/showuser.asp?id=999 og 1 = 2
http://127.0.0.1/forum/showuser.asp?id=999 og 0 (velg count (*) fra admin)
http://127.0.0.1/forum/showuser.asp?id=999'', erklærer @ en sysname sett @ a =''xp_''+
''Cmdshell''exec @ a''dir c :''---& hjelp = 9
Få administratorpassord har kontroll betyr at hele stasjonen trenger ikke å være vert for privilegier, men også for dette trinnet for å gjøre mye forvarsel. SQL-injeksjon angrep ligner på måter og metoder mange forskjellige fil-filteret er ikke tatt for å lukke søket på forskjellige måter. Så å lage en komplett tegn filter der prosedyrer er ikke de neste forsøk er umulig.
4. Remote Injection Angrep
Filter av et område kalt forslagsskjemaet siden er en enkel JS filtrering. For den gjennomsnittlige bruker, trenger du ikke hindre, for overlagt angrep er bekymret, synes ikke å være en slik filtrering effekt. Vi sier ofte at POST angrepet er ett eksempel. Skrevet av eksterne angrep ulovlig informasjon for å oppnå formålet.
Gjennom beskrivelsen av angrepsmetoder, vi vanligvis forstår angriperne veien, følgende beskrivelse vi fokuserer på start, hvordan du effektivt hindre skript angrep!
Så vi starter fra den enkleste:
Mot script angrep
JS skript og HTML skripting angrepsprevensjon er svært enkel: server.HTMLEncode (Str) bin. Selvfølgelig trenger du ikke gråte, hvordan kunne det skje? Du for å la meg til stasjonen jeg liker ikke alle legge til å filtrere oppbrukt? For å lette filtrering, vi trenger bare å HTML scripts og JS skript for å filtrere ut noen viktige tegn kan være : prosedyren kroppen (1) som følger:
«Det følgende er et filter funksjon
'Følgende er eksempler søknad
Brukernavn = CHK (bytt ut (forespørsel ("brukernavn "),"''",""))
Inkluder funksjonen skrevet ved hjelp av offentlige siden, så effektiviteten er den beste.
Prosedyre kropp (1)
I tillegg er det verdt vår oppmerksomhet er at mange brukere av området å registrere deg, eller endre brukerinformasjon siden er også en mangel på skript filtrering, eller bare på et filter, endrer informasjonen registrert i det post-skriptet kan fortsatt angripe. Data presentert av en bruker for å oppdage og filtrere, følger programmet kroppen (2) som:
«Det følgende er et filter funksjon
Hvis Instr (forespørsel ("brukernavn "),"=") 0 eller
Instr (forespørsel ("brukernavn "),"%") 0 eller
Instr (forespørsel ("brukernavn"), Chr (32)) 0 eller
Instr (forespørsel ("brukernavn "),"?") 0 eller
Instr (forespørsel ("brukernavn "),"&") 0 eller
Instr (forespørsel ("brukernavn "),";") 0 eller
Instr (forespørsel ("brukernavn "),",") 0 eller
Instr (forespørsel ("brukernavn "),"''") 0 eller
Instr (forespørsel ("brukernavn "),"?") 0 eller
Instr (forespørsel ("brukernavn"), Chr (34)) 0 eller
Instr (forespørsel ("brukernavn"), chr (9)) 0 eller
Instr (forespørsel ("brukernavn"), "") 0 eller
Instr (forespørsel ("brukernavn "),"$") 0 eller
Instr (forespørsel ("brukernavn ")," ") 0 eller
Instr (forespørsel ("brukernavn ")," ") 0 eller
Instr (forespørsel ("brukernavn "),"""") 0 så
response.write "venn, for å sende inn brukernavnet inneholder ulovlige tegn, endring, takk til return"
response.end
avsluttes hvis
Prosedyre kropp (2)
For å gi den effektiviteten vi søker å fremme filtrere innholdet av prosedyrer, slik at filtrering effektiviteten til de ulike parametrene vil i hovedsak være økt: for eksempel program kroppen (3)
"Etter hovedprogrammet
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
'Følgende er eksempler på noen Application
for i = 0 til ubound (Bword)
hvis instr (FQYs, Bword (i)) 0 og deretter
errc = sant
avsluttes hvis
neste
hvis errc da
response.write ""
response.end
avsluttes hvis
Prosedyre kroppen (3)
Med over filteret funksjonen du kan plassere i anvendelsen av noen trenger å filtrere filteret fungere direkte på den. Dette bringer oss til restaureringsarbeidet sterkt forenklet.
Også, jeg vil gjøre et nytt mer påminnelse, et lite antall nettsteder under uttrykk for UBB ikon vises når filteret transformasjonen problemet, fordi det er ikke lett å finne skjulte:
Slike som:
Vi endrer teksten etiketter,
Visste ikke du forstår, før en eneste sitat og prosedyrer fastsatt i venstre anførselstegnet, enkle anførselstegn brukes i det andre og lukket rett anførselstegnet, slik at produksjonen prosessen som:
ARP angrep er ikke et virus - og dermed nesten alle anti-virus programvare for alle hjelpeløse, men det verdt et virus - fordi den bremser ned lyset kan føre til kommunikasjon, nettverk lammelser, vil føre til informasjon vekt lekkasje. Gjennom årene har ARP angrep alltid eksistert, men ikke en god løsning. Mange Internett-brukere lide, nettverket i ledelsen ikke klarer å starte, miserable. I denne studien, introduserer analyse av ARP-protokollen og fusk prinsippet, dette papiret hvordan man implementerer ARP angrep, hvordan du finner ut at ARP angrep lider, hvordan forhindre og løse ARP angrep.
1.ARP Avtalen og bedrag teori
(1) Ethernet fungerer. Ethernet i datapakke sendes ut, må vi først dele (den største gruppering av pakker), til emballasje (i Nettverk-laget legger kilden IP-adresse og målet IP-adressen i Data Link laget for å legge til kilden MAC-adressen og neste hop's MAC-adresse), i en binær bitstrøm, prosessen er vist i figur I-1. Pakker nå målet etter gjennomføring av prosessen med å sende motsatt side, er strømmen av binære bits inn i rammen, pakkeløsningen (Data Link lag av det første målet i MAC sammenlignet med samme lokale nettverket kortets MAC eller kringkaste MAC, som samme er Fjern ramme overskriften, så pass på Nettverkslaget pakker, eller forkastet; Network Layer destinasjon IP-adresse er sammenlignet med den samme maskinen, vil de samme fortsatt adresse, ellers forkastet). Hvis avsenderen og mottakeren i samme nettverk, neste hop MAC er målet i MAC, slik som avsender og mottaker ikke er på samme nettverk, neste hop MAC er inngangsporten MAC. Fra denne prosessen er ikke vanskelig å finne, Ethernet dataoverføring hastighet eneste målet i IP-adresse som ikke er nok, må også vite det neste hop MAC-adresse, som krever hjelp av en annen se på avtalen, ARP (Address Resolution Protocol).
Figur I-1 data pakking og utpakking
2) ARP fungerer. Computer før du sender data pakken, sammenlignet med målet IP-adresse, blir finne kilden og målet ikke det samme segmentet, slik som det samme nettverket segment, pakken mål MAC, hvis ikke er på samme nettverk segment, pakken gateway MAC. Før emballasje, se maskinens ARP cache for å se om det er noen tilsvarende neste hop IP og MAC kartlegging oppføringer, om de direkte innkapsling, hvis ikke vil sende ARP søket pakken. ARP spørring og respons pakker av formatet som vist i Figur I-2, query pakke "Ethernet destinasjon adresse" for 0xffffffffffff broadcast adresse, "Ethernet kilde adresse», basert nettverk kortets MAC-adressen til maskiner, "Frame type" er 0x0806 sa ARP svar eller be, "hardware type" Ethernet-adressen for 0x0001, sa protokoll type "for denne IP-adressen 0x0800," OP "for ARP forespørsel eller svar, ARP forespørsel pakke OP verdien 1, ARP svar pakke med OP er 2, "Ethernet-adressen til avsenderen," MAC-adressen til avsenderen, "avsender IP" som avsender IP-adresse, "hensikten Ethernet-adressen" her for 0x000000000000, "hensikten IP" for kontrollere MAC-adressen til IP. Send denne pakken å kringkaste til nettverket, er alle datamaskiner i LAN mottar denne pakken, bare den lokale IP-adressen til "formål med IP" maskinen reagerer på denne pakken, og svare på denne pakken. Når du begynner å sende motta denne ARP-svar-pakke Chu senere, den tilsvarende tilgang til målet IP MAC-adresse, og deretter datapakkene kan innkapslet.
Figur I-2 ARP spørring og respons pakken format
(3) ARP bedrag. I TCP sekvensnummer og anerkjennelse nummer gjennom de ulike feltene, til gjennomføring av treveis håndtrykk sikrer pålitelig dataoverføring, er ARP en statsløs protokoll, som betyr at med eller uten å sende ARP forespørsel sendt til maskinen så lenge ARP svar pakke, vil datamaskinen ikke legge godkjenningen til å motta, og oppdaterer sine ARP-cache. Etter ca ARP fungerer så lenge den hensikt å fylle Figur I-2 i bestemte felt, kan oppnå effekten av ARP angrep: IP-adresse konflikten, ARP bedrag, ARP angrep.
P-adresse konflikter. Lokal IP-adressen til datamaskinen registrerer om metodene som brukes i Internett er hensikten med maskinen IP-adressen som IP-adresse, sender en ARP forespørsel pakke, hvis det mottatte svar, betyr det at IP-adressen har blitt brukt på Internett, et pop-up IP-adresse som skal brukes dialogboksen, slipper IP-adressen til maskinen. ARP angriper utnytte dette prinsippet, med vilkårlig MAC-adressen (som ikke er en virkelig angriper MAC-adresse) fylt med "avsender Ethernet adresse" feltet, bruker du IP-adressen til angriperen var fylt med "avsender IP"-feltet brukes av angriperens virkelige MAC-adressen til å fylle "hensikten Ethernet-adresse"-feltet, bruker du IP-adressen til angriperen var fylt med "formål IP"-feltet, OP av verdien av "2", som vist i Figur I-3 . Når angriperen fikk etter dette ARP Response, anses det at maskinen IP-adresse på nettverket har blitt brukt, pop-up-dialogboksen IP-adressen konflikter.
Figur I-3 IP-adresse konflikter i ARP-respons-pakke
ARP fusk: som vist i Figur I-4, PC1 er angriperen, angrep rettet mot "break PC2 og inngangsporten kommunikasjon." PC1 genererer en ARP svar pakke, "avsenderens IP" fylle inn gateway IP-adresse »avsenderens Ethernet-adressen" fylle en ikke-gateway MAC-adresse (denne adressen kan være tilfeldig generert), "Mål IP" komplett PC2 IP-adresse, "hensikten Ethernet-adressen" fylle inn PC2 MAC-adresse. Vert PC2 motta de siste etter at ARP svaret pakken, vil den bruke denne inngangsporten ikke er riktig MAC-adresse for å oppdatere sin ARP-cache tabellen, etter at denne feilmeldingen etter PC2 innkapslet MAC-adresse, slik at pakken etter innkapsling kan ikke riktig nå gateway; PC1 liknende re-sende en feil ARP svar pakke til portalen, "avsenderens IP" fylle inn IP-adressen til PC2, "Ethernet-adressen til avsenderen," fylle ut en ikke-PC2 MAC-adresse (dette adressen kan være tilfeldig generert), "Mål IP" fylle inn gateway IP-adressen. Gateway ARP svar mottatt slik informasjon, lagres i feil cache PC2 kartet oppføringer. PC1 og PC2 til gatewayen sender med jevne mellomrom en slik pakke, slik at den aldrende av deres ARP bord, og dermed forhindre dem fra å nå formålet med kommunikasjonen.
Figur I-4 ARP juks diagram
ARP angrep. Som middels angrep (Man-in-the-middle angrep) og ARP fusk liker, bare PC1 sender ARP forespørsel, som fyller i "sender Ethernet-adressen" ikke er tilfeldig generert, men erstatt PC1 maskiner MAC-adresse, åpne ruting PC1 - endre (legg) register alternativet HKEY_LOCAL_ MACH INE SYSTEMCurrentControlSetServicesTcpipParametersIPEnableRouter = 0x1, mens trykke programvaren installert på PC1, PC2 og avskjære all kommunikasjon mellom gatewayen pakken.
2. Hvordan gjennomføre ARP angrep
Her er to ARP angrep for å bruke programvaren, topologi vist i Figur I-5.
Figur I-5 ARP angrep
Programvare er hovedsaklig brukt for det første angrepet, ødelegger normal web-trafikk, som vist i Figur I-5, 2 i den virtuelle maskinen å installere "nettverk magistrat" programvare, ødelegge den virtuelle maskinen 1 og normal kommunikasjon mellom den virkelige maskinen eksperimentet trinnene er som følger.
Riktig konfigurert IP-adressen til datamaskinen. Virtual Machine en korttype Bridged, er IP-adresse 192.168.1.220, maske 255.255.255.0, gateway 192.168.1.1 er DNS 218.2.135.1. Virtual Machine 2 kort typer Bridged, er IP-adresse 192.168.1.210, maske 255.255.255.0, gateway 192.168.1.1 er DNS 218.2.135.1. IP-adressen til den virkelige maskinen er 192.168.1.200, maske 255.255.255.0, gateway 192.168.1.1 er DNS 218.2.135.1.
2 i den virtuelle maskinen for å installere WinPcap. Pakk "nettverk magistrater. Rar"-filen, dobbeltklikker du "WinPcap30.exe" filen for å starte installasjonen WinPcap.
2 i den virtuelle maskinen programvaren er installert på nettverket lagmannen. Dobbeltklikk på "Network lagmannen sprekk versjon 2.8. Exe" filen for å installere nettverket lagmannen.
Kjør nettverket lagmannen. Først kjøre magistrater, åpne dialogboksen vist i Figur I-6, noe som tilsier at overvåking av parametre.
Figur I-6, for overvåking
Fordi bare ett nettverk blokk, velger du det øverste kortet, klikk på "OK"-knappen. Som vist i figur I-7 til åpne kontrollen serien valg dialogboksen angir du overvåking serien er oppført i kortet hvor alle de tilgjengelige IP-adressen delnett, klikker du på diagrammet i "legg til / rediger", og legger til omfanget, klikker "OK"-knappen.
Figur I-7 kontrollere omfanget av valget
Attack før testen. 1 på en virtuell maskin, åpner du DOS-vinduet, skriver ping 192.168.1.200-t, kontinuerlig pinge IP-adressen til den virkelige maskinen kan bli funnet er gjennom. Ikke lukk vinduet.
Begynte å angripe. Sorenskriveren programvare kan overvåke nettverket til samme subnett for alle på Internett verter magistrat i nettverket administrasjonsgrensesnitt, høyreklikker du den virkelige maskinen, fra hurtigmenyen, velg "Manuell håndtering", som vist i Figur I-8.
Illustrasjon I-8 magistrat administrasjonsgrensesnitt
Som vist i figur I-9 i dialogboksen, velger du det tredje alternativet "mot alle andre verter ...", klikk på" Start ", deretter den virtuelle maskinen kan bli funnet mellom 1 og reelle maskin teste ping Start Tips "Forespørsel avbrutt", kuttet kommunikasjon av. Real miljø, kan du også bare velge "Forbud og sentrale verten forbindelse ..." og klikk "-tasten master", ved å legge adressen til gatewayen, slik at angrep datamaskinen og inngangsporten forbindelsen blir avbrutt, og LAN datamaskinen uforstyrret kommunikasjon mellom.
Figur I-9 ledelsen datamaskin manuell
Annet ledd av programvaren som brukes til å stjele verdifull informasjon, som vist i Figur I-5 i den virtuelle maskinen for å installere en "Kain og Abel" programvare, undergrave den virkelige maskinen virtuelle maskin 1 og normal kommunikasjon mellom den eksperimentelle trinnene er som følger.
Installert på den virtuelle maskinen en Kain og Abel. Dobbeltklikk på "ca_setup.exe" filen for å starte installasjonen, kommer installasjonen nær slutten, vil bli bedt om å installere WinPcap4.0, som vist i Figur I-10, velg "Installer", for å starte installasjonen WinPcap4.0.
Figur I-10 for å installere WinPcap4.0
Kjør Kain og Abel. Dobbeltklikk på skrivebordet, "Kain" ikonet, åpne Kain & Abel's administrasjonsgrensesnitt, klikker du administrasjonsgrensesnitt i "Start / Stop Sniffer"-ikonet, som vist i Figur I-11 til å begynne pakken fange.
Figur I-11 begynte Sniffer
Under passord for hub. Klikk på kartet for I-11 i toppen av "Sniffer" fanen, deretter under "Passord"-kategorien, og begynner å fange passord og sensitiv informasjon, inkludert e-post, Telnet, FTP og så videre. I den virtuelle maskinen to åpne en Telnet tjeneste, i den virkelige maskinen telnet 192.168.1.210, og deretter gå inn bruker og passord, som vist i Figur I-12 venstre navigasjonslinjen for å fange en Telnet rask informasjon.
Figur I-12 skjerm sensitiv informasjon
Klikk den venstre navigasjonslinjen av "Telnet", listen i høyre kolonne, høyreklikk fange for oppføringen, hurtigmenyen, velg "View", åpen som vist i Figur I-13 notisbok papir, fra ikke vanskelig å se brukernavnet er administrator, er passord Cisco. Tallet for hver bokstav i ordet administrator showet to ganger, fordi når en telnet-ekko.
Figur I-13 til fange passordfila
Passordet for bryteren miljøet. Bare veldig lett å få passord, fordi den virtuelle maskinen virtuelle maskinen 1 og 2, og den virkelige maskiner er koblet til den virkelige datamaskinens nettverkskort, tilsvarer alle koblet i en hub, et miljø, jo oftere svitsjer, vil to brytere ikke vert eller en vert og inngangsporten til passere trafikk mellom angriperens verten. Deretter må bruke ARP bedrag, klikker som vist i Figur I-12 under "ARP" kategorien, og klikk deretter "Legg til liste" verktøylinje ikonet, som vist i Figur I-14.
Figur I-14 for å øke ARP fusk til listen
Åpne ARP oppføringene som vist i Figur I-15, til venstre for å velge en IP-adresse, til høyre velge en IP-adresse, vil være vert for to IP-adresser bli bedratt.
Figur I-15 valget ved å lure datamaskinen
Klikk "OK"-knappen for å returnere, og klikk deretter Figur I-11 som vist i verktøylinjen "Start / Stop Sniffer" ikon til høyre for "Start / Stop ARP" ikonet for å starte gjennomføringen av ARP bedrag, som vist i Figur I-15 utvalg kommunikasjon mellom datamaskiner en overføring fra den virtuelle maskinen, virtuell maskin kan man selvsagt få sensitiv informasjon mellom dem eksplisitt. Sett i dette lys bryteren nettverket sikkerhetsrisikoer eksisterer.
Tre. Fastslå lider ARP angrep
ARP spoofing angrep beskrevet ovenfor vil ikke føre til stor trafikk på nettverket, men lekkasjer oppstår, etterfulgt av å innføre en løsning. Finn ut om det er første ARP angrepet metoden er enkel, følger du disse trinnene.
Kontinuerlig ping får ikke tilgang til IP-adressen. I problemet datamaskinen (virtuell maskin 1) i DOS-vinduet, skriv "ping 192.168.1.200-t", brukes til å teste nettverkstilkobling; 192.168.1.200 er ikke normal kommunikasjon datamaskinen (dette er den virkelige maskinen), selve prosjektet erstattet får ikke tilgang til samme segment av målet datamaskinens IP-adresse. Hvis du lider av ARP angrep, vil skjermen bli bedt om å "Forespørsel tid ut".
I den berørte datamaskinen (virtuell maskin 1) Forrige å åpne en annen DOS-vindu, type "arp-d", er ARP en DOS-kommando, for å løse IP-adressen til tilsvarende nettverkskortet MAC-adresse,-d å tømme hurtigbufferen for alle IP av maskinen og den tilhørende MAC-adressen. Hvis du finner ut at Trinn 1 av vinduet innholdet inn i en vedvarende «Svar fra ... ...", ARP som har blitt utsatt for angrep, er nå normalisert, Om det bare var en «Svar fra ... ..."-pakken, har ryggen blitt en "Forespørsel tid ut" pakker, og deretter datamaskinen er utsatt for kontinuerlig ARP angrep.
4. Hvordan forebygge og løse ARP angrep
ARP angrep løsninger variert, men på grunn av ulike begrensninger, kan svært lite implementeres etter hvert, selv en slags finner ikke gjennomføringen. Følgende løsninger ikke uttømmende, men uansett hvordan den konkrete nettverksmaskinvare utstyr, vil være i stand til å finne de mest egnede løsningen.
Metode 1: Etter at en dommer har funnet, ARP angrep, hvis angrepet vedvarer, offerets datamaskin implementering av "arp-d", da gjennomføring av "arp-a",-en rolle vises på datamaskinen alle ARP cache . Som vi kan finne et par poster, er én post inngangsporten eller få tilgang til målet vert, det er en annen post, kan det være flere. Mer enn gjennomføringen av flere "arp-d", "arp-a", oppsummere, det er egentlig den største delen av posten ARP IP-adressen til den virkelige angriperen.
Fordelen: Det er enkelt, passer for nesten alle nettverk, uten støtte programvare og krever ikke kunnskap om nettverksadministrasjon er veldig profesjonelle, kan du identifisere angriperen, så angriperen for nettverket isolasjon. Ulempe hvis angriperen er bare ødeleggelse, ikke for kontroll formål, arp "-en" ser ingen pålitelig registrering av.
Metode 2: I målenheten og offeret maskinen IP-adresse og MAC henholdsvis den statiske adressen bindende. For eksempel gjennomføringen av datamaskinen:
"Arp-s 192.168.1.1 00-aa-00-62-c6-09"
I routing eller bytte utstyr (der kun Cisco-utstyr for eksempel) til å utføre:
"Cisco-6509 (config) # arp 192.168.1.2 0009.6be2.3ca3 ARPA"
Behovet for å beskytte målenheten IP-adresse og MAC-adresse bindende for ulovlig innreise ARP angrep uten hull. Ikke alle brukere har rett til sine egne enheter ved inngangsporten til å bruke IP-adresse og MAC-adresse bindende, men kundene kan gjøres i alle fall i sine egne datamaskiner til gatewayen IP-adresse og MAC-adresse bindende være det beste laget en batch-fil hver gang maskinen starter, alle gjennomføringen av filen, ved hjelp av denne metoden effektivt kan unngå angripe andre lekkasjen.
Denne metoden har fordelen av relativt liten skala anvendelse av nettverket. Ulempen er vanskeligheten med gjennomføringen, større, mer dersom Internett verten, og vert hyppige endringer, for eksempel universitetene i denne gruppen hvert år, og hovedfagsstudenter nytt å rapportere, fortsatt bundet til stor arbeidsbelastning, vanskelig gjennomføre, for mye bundet elementer av utstyr vil påvirke gjennomføringen hastighet og redusere effektiviteten, selv ARP angrep ville ikke påvirke internett, men et stort antall ARP pakker sendes, eller for å ta opp mye nyttig båndbredden; nødvendig utstyr for å støtte statisk bindende funksjon.
Metode 3: Bruke Dynamic ARP Advokat teknologi, kombinert med funksjoner DHCP, IP og MAC for å oppnå den automatiske bindende. I likhet med metoden og metoden 2, men bindingen er gjort automatisk, og kan bli deployert i tilgang laget bryteren, vil den ulovlige ARP-pakke bryteren byttes, interesserte venner, for å finne teknisk dokumentasjon tilhørende utstyr.
Fordelen er den beste måten å løse ARP angrep, trenger ikke hjelp fra ledelsen, kan det illegale ARP pakkene ikke tilgang til nettverket. Det er verken skader eller påvirker nettverksytelsen. Ulempen er å kreve at administratoren har bedre teknologi, om støtte av nettverksutstyr, Cisco-enheter støtter denne funksjonen minst tre mer (få innenlandske bedrifter i tilgang laget ved hjelp av tre enheter), mange produsenter av utstyr er ennå ikke støttes.
Metode 4: Managed bryteren, med et minutt du kan finne de angriper. 1 i forrige løsningen, kan du finne MAC-adressen til målet IP er ikke en ekte MAC, MAC-adressen til dette notatet, hvis MAC er "0050.bae3.2305", i administrerte svitsjer (hvor bare Cisco-utstyr eksempel) til å utføre:
"Cisco-2950 # vis arp | omfatter 0050.bae3.2305
Internett 10.168.168.9 239 0050.bae3.2305
ARPA FastEthernet1/17 "
Den første linjen er gjennomføringen av ordenen, en enkel "show arp" vil vise alle bryterne lære MAC-adresser, MAC angrep svært vanskelige å finne, "| omfatter 0050.bae3.2305" spiller en filtrering funksjon, bare vise den tilsvarende linjen . Den andre linjen er gjennomføringen av resultatene, vil du finne MAC-adressen fra Fa1/17 porten. Finn porten verten er funnet tilsvarende å angripe kilden, dersom porten ikke er koblet til en datamaskin, men en annen bryter, gjentar metodene til du finner den ultimate maskinen.
Fordelen med metoden er mest mulig å implementere raskere, alle de administrerte bryterne støtter denne funksjonen, anbefales sterkt. Ulempen er at det er mange enheter fortsatt bruke de uovervåkede svitsj eller hub.
Metode 5: uovervåkede svitsj eller hub av saken, kan du bruke 10 minutter av tid til å finne angriperen. Å være angriperens maskin (virtuell maskin 1) for å åpne to DOS-vindu, et vindu av gjennomføringen av "ping 192.168.1.200-t", en annen DOS vindu intermitterende implementering av "arp-d", hvis en rekke Taiwan og Afrika Nettverk rør-type svitsj eller hub, som igjen kuttet av sin makt, da det ble den andre DOS-vinduet av et vedvarende «Svar fra ... ...", så den kan avsluttes fra denne ARP angrepet kilden nettverksenheter. Tok å gjenopprette strøm til enheten, kabelen trekke ned en rot, da finne en andre DOS vindu av en vedvarende «Svar fra ... ...", så den kan konkludere med at nettverkskabelen er tilkoblet utstyr er ARP angrep kilde. Hvis denne søkemetoden sakte, kan du bruke binære søk, det vil si halvparten av en pull linje, måler det er vanligvis ikke mer enn 10 minutter kan du finne angrepet kilden.
Fordelen med metoden er egnet til nesten alle nettverksmiljøer. Ulempen er at gjennomføringen av opp litt hard, den beste typen svitsj eller nettverk som den erstattet.
Metode 6: vanlige brukeren selv-redning. Som en vanlig Internett-brukere til nettverket reparasjonen ikke kan løses i tid, skriver en batch fil for å kjøre datamaskinen kan løse problemet ARP angrep. Batch-filen som følger:: en
Arp-d
Ping 1.1.1.1-n 1-w 100
Gå en
Til tekstfil som a.bat, og dobbeltklikk deretter gjennomføring av brukerens datamaskin vil åpne et DOS-vindu, vil programmet løkke, ikke lukk vinduet ARP angrep kan løse problemet. Hvis ARP fjerning metoden er for treg, kan du endre over 100 (for 0.1s) til ønsket verdi.
Denne metoden har fordelen av felles bruker ARP angrep problemet kan løses, for nesten alle nettverksmiljøer. Ulempen er ofte klare ARP cache, ARP broadcast pakker å sende hyppige, ville hun presentere en ekstra byrde på datamaskinen og nettverket.
Hvis bildet ikke eksisterer, så koden, vil aktivere onerror implementering script. For enkle anførselstegn er filtrering av nettsteder, som her, komplett med doble anførselstegn. **** For de filtrerte feltet, og bare varsling () også kan. Så vi må filter for å filtrere helt, ikke gi angriperen muligheten til å forlate et spor.
Forhindre SQL-injeksjon utnytter
Det kan sies her synes å være fokus for hele artikkelen. SQL-innsetting sårbarhet på diversifiseringen også gjør vårt forsvar på programmet måtte tenke litt mer. SQL-injeksjon i møte med sterk "støtende", det vi i slutten av filter?
Risikoen for enkelte vanlig brukte tegn
Database fields''closed Diskriminering
- Mark noen av databasen merknad
# Noen database merknad tegn
"Kan føre til feil,
Cross-katalogen
3221143836nicode tegnkoding funksjoner
$ Kan benyttes for variabel etikett
/ Og det samme
NULL forsiktig "tomme" komme inn i risikoen for behandlingen kan føre til databasen eller system feil, bruker feil struktur overløp.
Med plass and''to konstruere sql injeciton
= & Dersom den andre parameteren kan være omskrevet querystr.
(1) fra den mest generelle. SQL-injeksjon bedriftene til visning: brukernavn og passord på filtrering problemer, slik som:
Forfatter: Brukernavn:''eller''''='' bruker passord er:''eller''''=''
Starter fra prosessen, kan vi komme til, følgende database
Sql = "SELECT backup bin conf config data eshow_sitemap.html generate.sh logge maint sitemap.html svn tmp FROM lUsers WHERE brukernavn ='''' eller''''='''' og Passord ='''' eller ''''=''''"
På denne måten, så vil SQL server returnere alle poster lUsers tabellen, mens ASP skriptet vil bli tatt for en angriper å skrive inn en lUsers den første posten i tabellen, slik at angriperen til brukeren påloggingsnavnet nettside. Synes å forhindre denne typen injeksjon er svært enkel:
Bruk følgende fremgangsmåte kan oppnås, programmet kroppen (4)
strUsername = Erstatt (Request.Form ("Brukernavn"), "''''", "''''''''")
strPassword = Erstatt (Request.Form ("Passord"), "''''", "''''''''")
Prosedyre kropp (4)
(2) for å hindre SQL-injeksjon angrep, er det første skrittet å bruke en rekke sikkerhet betyr kontroll fra ASP forespørselen objektet (Reques, Request.QueryString, Request.Form, Request.Cookies, og Request.ServerVariables) brukerundersøkelser, for å sikre at SQL-kommandoen pålitelighet. Spesifikke sikkerhetstiltak varierer i henhold til DBMS.
SQL-injeksjon angrep kan føre til skade på miljøet avhenger av nettstedets programvare og konfigurering. Når Web-serveren til operatøren (dbo) av identiteten for å få tilgang til databasen, ved hjelp av SQL injeksjon angrep, noe som kan fjerne alle former, skaper nye former, og så videre. Når serveren til super bruker (SA) for å få tilgang til identiteten databasen, ved hjelp av SQL injeksjon angrep, som kan kontrollere hele SQL server; i enkelte konfigurasjoner, kan en angriper til og med lage din egen brukerkonto for å fullt manipulere databasen ligger i Windows server.
Slike som:
http://127.0.0.1/forum/showuser.asp?id=999'', erklærer @ en sysname sett @ a =''xp_''+
''Cmdshell''exec @ a''dir c :''--& hjelp = 9
http://127.0.0.1/forum/showuser.asp?id=999'', erklærer @ en sysname sett @ a =''xp''+
''_cm''+'' Dshell''exec @ a''dir c :''--& hjelp = 9
Kan også utføre slik: nett bruker fqy fqy / legge til denne kommandoen. Selvfølgelig dette krever at du kjører status må Sa, eller du angriper bare en virtuell host, anbefaler jeg deg å stoppe der.
For noen steder for at maskinen skal bruke port 80 for å hindre angrep ved maskinen direkte for å få administrative rettigheter, har det blitt viktig. Filter på xp_cmdshell å være den primære, er mange nettsteder bruker de prosedyrer GET og POST eller GET for å sende data, blandet, og for dette, gir vi en måte å forebygge SQL injeksjonsprosedyren GET atferd: eksempel program kropp (5)
fqys = request.servervariables ("query_string")
dim nothis (18)
nothis (0) = "nett bruker"
nothis (1) = "xp_cmdshell"
nothis (2) = "/ Legg til"
nothis (3) = "exec% 20master.dbo.xp_cmdshell»
nothis (4) = "net localgroup administratorer"
nothis (5) = "velg"
nothis (6) = "teller"
nothis (7) = "stigende"
nothis (8) = "røye"
nothis (9) = "midten"
nothis (10 )="''"
nothis (11 )=":"
nothis (12 )=""""
nothis (13) = "Sett inn"
nothis (14) = "slett"
nothis (15) = "drop"
nothis (16) = "avkorte"
nothis (17) = "fra"
nothis (18 )="%"
errc = false
for i = 0 til ubound (nothis)
hvis instr (FQYs, nothis (i)) 0 og deretter
errc = sant
avsluttes hvis
neste
hvis errc da
response.write ""
response.end
avsluttes hvis
Prosedyre kropp (5)
Jeg ønsker å peke utsagnet er: Ovennevnte prosedyre er en GET-metode på dataene presentert av filteret, ikke blindt gjelder.
I likhet med andre gjenstander fra ASP forespørselen (Reques, Request.QueryString, Request.Form, Request.Cookies, og Request.ServerVariables) angrep metoden bruker input metoder, i stor grad konsentrert i manuset variabelen er forventet antall variable input (ID ), selvfølgelig, vi kan ikke bare se på antall variabler, slik som:
http://127.0.0.1/systembbs/showtopic.asp?tid=99&name=abc''og venstre (userpasswor
d, 1) =''en
http://127.0.0.1/systembbs/addtopic.asp?tid=99&name=abc''og userpasswor
d =''eller''''=''
I tillegg, hvordan en enkelt injeksjon for å unngå feil som dette?
http://127.0.0.1/systembbs/addtopic.asp?tid=99''; slette forum_forum, - & page = 33
Forebygging program: program kropp (6)
...... Addtopic.asp? Action = legg ......
...... Addtopic.asp? Action = delect ......
Action1 = trim (Request.QueryString ())
hvis igjen (action1, 7) "action =" then''must være begrenset til action = querystring
feil (err01)''feilhåndtering
annet
action = Request.querystring ("action")''for å få verdien av querystring
avsluttes hvis
velg tilfelle action''to avtale på querystring
sak "Legg til"
.....
sak "slett"
......
tilfelle else''if at querystring er ikke denne verdien for feilhåndtering
feil (err02)
slutt velger
Prosedyre kroppen (6)
Et slikt angrep finner sted, slik at våre nettredaktører har hodepine igjen, her jeg kan gi deg en løsning på den beste måten, generelt, brukernavnet lengden, antall tegn ikke overstiger 15 tegn, de fleste av de 14 tegnene . Så vi fortsetter fra lengden til filteret: Hvis programmet kropp (7)
Navn = erstatt (navn ,"''","")
Hvis len (navn) 16 da
Response.write "Du gjør hva?"
Response.end
Avsluttes hvis
程序体(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")
else
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
else
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
else
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漏洞,攻击者也不可能马上拿下你的站点。