Ogni volta che pensiamo a un tempo in cui gli hacker, pirati informatici tendono a come questo ritratto: un solitario, entrato tranquillamente i server di altre persone, a distruggere o rubare segreti di altre persone. Forse cambierà la nostra home page, richieste fraudolente ruberà clienti di numeri di carte di credito e password. Inoltre, l'attacco hacker a visitare il nostro sito web clienti. Allo stesso tempo, il nostro server è diventato suo complice. Microsoft definisce questo attacco come una "script cross-site" attacchi. La maggior parte di questi attacchi ha avuto luogo a pagine web generate dinamicamente al momento giusto, ma l'obiettivo dell'hacker non è al tuo sito, ma visitare il sito web del cliente.
Descrizione di un attacco cross-site script
In un libro intitolato ADVISORY CA--2000-02 della rivista, CERT ci ha avvertito: se il server su input del client non è efficace verifica, gli hacker malintenzionati entrerà po 'di codice HTML, quando queste HTML ingresso codice viene utilizzato programma script, lo possono utilizzare per eseguire i sabotaggio, come ad esempio l'inserimento di alcune immagini offensive o suoni, Tong Shi può anche Ganrao il Kehu è accuratamente sito web.
Sappiamo che alcuni amici erano stati indotti a libero uno certo numero di siti sospetti, che ricevono solo 10-20 piccola finestra, le finestre sono spesso accompagnata dalla formazione del fallimento di JAVA o button security avascript, questo è noto come la trappola mouse. Chiudi la finestra è vana, quando si chiude una finestra, un'altra finestra si aprirà qualche 10. Questo accade spesso quando l'amministratore non ha in Fasheng Hou. Gli hacker utilizzano l'evento del mouse è cross-site script di esempio metodi di attacco del cliente.
tag SCRIPT e malizia malizioso non sono semplici, si possono perfino rubare informazioni e distrutto il sistema. Non è un abile hacker o anche intelligente sono in grado di interferire o modificare il server utilizzando l'input di dati SCRIPT. codice di script può anche attaccare con sistemi client, fare danni al disco rigido. E si sa, quando si utilizza il lato server, gli hacker SCRIPT è anche un luogo sicuro in cui il server è in esecuzione a! Se il cliente una lettera sul server è identificato, la stessa fiducia che essi SCRIPT codice dannoso. Anche questo codice è in forma di SCRIPT o OBJECT server da parte di hacker.
Anche con un firewall (SSL) non possono prevenire gli attacchi cross-site SCRIPT. Questo perché se il dispositivo genera codice maligno script utilizza anche SSL, il server SSL che non possiamo identificare il codice al. Abbiamo a che fare con il cliente siti attendibili poi consegnare gli hacker esso? E l'esistenza di tale danno, rendono possibile perdita di reputazione tuo sito.
In primo luogo, gli attacchi cross-site script di esempio:
Secondo le informazioni del CERT, l'input dinamico è in genere queste forme: i parametri di URL, elementi del modulo, COOKISE e le richieste di dati. Analizziamo, le uniche due pagine del sito, il sito si chiama: MYNICESITE.COM. In primo luogo utilizzare un modulo o un cookie per ottenere il nome utente:
% @ Language = VBScript%
% If Request.Cookies ("username") "" Then
Dim strRedirectUrl
strRedirectUrl "page2.asp =? username ="
strRedirectUrl = strRedirectUrl & Response.Cookies ("username")
Response.Redirect (strRedirectUrl)
Else%
HTML
HEAD
MyNiceSite.com TITLE Home Page / TITLE
/ HEAD
BODY
H2 MyNiceSite.com / H2
FORM Method="post" action="page2.asp"
Inserisci il tuo nome MyNiceSite.com:
input Type="text" name="userName"
INPUT Type="submit" name="submit" value="submit"
/ FORM
/ BODY
/ Html
% End If%
La seconda pagina torna il nome utente da il benvenuto:
% @ Language = VBScript%
% Dim strUserName
Se Request.QueryString ("username") "" Then
strUserName = Request.QueryString ("username")
Altro
Response.Cookies ("username") = Request.Form ("username")
StrUserName = Request.Form ("username")
End If%
HTML
HEAD / HEAD
BODY
h3 ALIGN="CENTER" Ciao: % =% strUserName / h3
/ BODY
/ Html
Quando si immette del testo normale, spesso, è tutto normale. Se inserite il codice di script: alert SCRIPT (''Ciao script .''; /, un'etichetta di avvertimento avascript aprirà:
La prossima volta che si visita, questa etichetta di avvertimento comparirà lo stesso, questo perché il codice dello script nel tuo tempo dopo la prima visita era stata quella di stare in un cookie. Questo è un semplice esempio di attacchi cross-site.
Se pensi che questo è un caso speciale, si può anche voler guardare altrove on-line, di persona provare. Ho una serie di importanti siti governativi, siti didattici e siti commerciali testati, esiste effettivamente una parte di loro la situazione di cui sopra, ho anche trovato un sito che utilizzano frequentemente le carte di credito anche per essere effettivamente alcun filtro sull'ingresso Bu, Pensate davvero terribile.
In secondo luogo, utilizzando la posta elettronica di Cross Site Script Attack
attacco cross-site script utilizzati nel list server, server usenet e server di posta sono particolarmente vulnerabili a venire. Il seguente è un esempio per spiegare sito MyNiceSite.com. Poiché spesso navigare su questo sito, il suo contenuto non metterlo ti amo, in modo da mettere inconsciamente il browser in una dei contenuti dinamici Web è sempre fiducia in questa impostazione.
MyNiceSite.com sito è sempre attraverso la vendita di sottoscrizione e-mail l'indirizzo del loro lettere e-mail per ottenere il reddito, che è davvero una buona idea. Così ho comprato in un indirizzo di posta elettronica. E fatto un sacco di mail a voi. Nella lettera, ti dico al più presto a visitare questo sito e controlla il tuo account usando l'ultima situazione. Per darvi un comodo, ho anche fatto un link a questa lettera. Vorrei link URL, il parametro nome utente nel codice di script per leccare aggiunto. Alcuni clienti inconsapevolmente cliccare su questo link, che è sul mio, quando (nella foto), e mi hanno anche beneficiato di:
E 'questo lavoro, come quando si fa clic su questo link dopo link nel codice dello script sarà utilizzato per guidare i vostri browser a scaricare il mio programma avascript ed eseguirlo. Il mio script controlla che utilizza il browser IE, di procedere a scaricare particularlyNasty.dll controllo ActiceX. Perché prima di avere il contenuto di questo sito che è sempre sicuro, così il mio codice di script e sostanze attive sulla tua macchina può correre liberamente.
3, Activex attacco descrizione
Quando si discute l'ActiveX, Microsoft CERT e senza alcun riferimento al metodo di script cross-site del rischio da parte. W3C In "" La sicurezza Domande frequenti dei problemi di sicurezza ActiveX sono state effettuate su una descrizione più dettagliata. applet Java sul controllo del sistema è strettamente limitato. Dom sviluppo quando si prevede che solo coloro che non rappresentano una minaccia per la sicurezza del sistema è stato permesso di eseguire l'operazione.
D'altra parte, ActiveX sul funzionamento del sistema non è strettamente limitato. Tuttavia, se uno è stato scaricato, è possibile installare l'eseguibile come fare quello che volevano fare la stessa cosa. browser IE per questa caratteristica è fatta anche di alcune restrizioni, come quelli del sito non sicuro, nelle sue impostazioni di default non consente di scaricare o dare un messaggio di avviso. Si basa sullo sviluppo di ActiveX per aziende come VeriSign Inc., hanno dato numerati controlli ActiveX. Quando si scarica dopo il controllo orario, browser IE vi darà un avvertimento e visualizza il grado della sua credibilità mascalzone. Con l'utente a decidere se credere questo controllo. Come aumenta la sicurezza di un sistema.
Tuttavia, per quegli utenti che non hanno molta esperienza, spesso inconsciamente, le impostazioni originali sono state modificate per permettere a questi controlli, senza alcun sollecito sulla scaricato. Inoltre, un novizio, anche nel caso di una richiesta di scaricare senza pensare non farà qualsiasi marchio, in cui i controlli. Nei nostri esempi, perché si ha fiducia nel sito, cambiando le impostazioni del browser, così, i controlli ActiveX senza alcun sollecito da scaricare, e inconsapevolmente sul vostro computer inizia a funzionare .
4, 16 con codifica esadecimale attacco ActiveX Script
cattive intenzioni dovrebbe distinguere tra l'etichetta e la sceneggiatura è molto difficile. Script può anche essere in forma esagonale di 16 nascondersi. Guardiamo al seguente indirizzo e-mail questo esempio per favore? E 'in forma di 16 esadecimale è inviato:
E 'quasi un messaggio completo, che contiene un 16 hex forgiato parametri URL: mynicesite.com = mittente. Quando l'utente fa clic sul collegamento, il browser dell'utente inizierà il primo caso di cui direttamente al trattamento dei pop-up di avviso finestra.
Parte II: Cross Site Script prevenzione da attacchi della criminalità
In primo luogo, come evitare di essere gli attacchi cross-site server Script
Fortunatamente, prevenzione cross-site script tecnologia attacco sta perfezionando. Diversi modi questo possono essere prese per prevenire gli attacchi cross-site script:
1. Pagine generate dinamicamente Su vengono codificati i caratteri
2. Per filtrare e limitare l'immissione
3. Utilizzo di HTML e codifica URL
1. Pagine generate dinamicamente Su vengono codificati i caratteri
È necessario prima utilizzare viene generata dinamicamente pagine sul codifica dei caratteri, si deve fare, o è probabile hacker di modificare il set di caratteri e facilmente con la linea di difesa. Se il nostro sito è nel sito inglese, quindi se si imposta la codifica dei caratteri in caratteri latini ISO-8859-1 sulla linea, come segue:
meta Http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"
2. Filtrazione e limitare tutti gli input dati
Questo per evitare cross-site script Il secondo metodo di attacco, durante il segno dentro Non lasciare che quei caratteri speciali sono iscritti. Pertanto, possiamo aggiungere le procedure avascript OnSubmit modo per realizzare questa funzione. In questo caso, limite può entrare solo 15 caratteri. Questo farà si che le lunghe input script.
In Knowledge Base QA252985 Questo libro fornisce una breve programma avascript Microsoft per completare i dati di input filtering. Abbiamo inoltre introdotto, secondo le circostanze specifiche di questo codice per il nostro esempio, quali:
checkForm funzione () (
document.forms [0]. userName.value = _
RemoveBad (document.forms [0]. UserName.value);
return true;
)
/ / MICROSOFT''S CODE
funzione RemoveBad (strTemp) (
strTemp.replace (/ / /"/''/%/;/(/)/&/+/-/ strTemp = g ,"");
ritorno strTemp;
)
Utilizzando questo metodo, è possibile filtrare quelle contenute nel carattere di input:
% [] (); & + - "''()
3. Utilizzo di HTML e codifica URL
Sebbene l'uso di filtri e le restrizioni di cui sopra, il metodo di input è quello di utilizzare uno strumento molto importante di difesa, ma era il mio modo di tali attacchi via e-mail o impotenti. Ho messo i parametri URL direttamente sul messaggio. In considerazione di ciò, dobbiamo adottare una delle misure di sicurezza più robusta. Se usiamo ASP, relativamente parlando, per risolvere molto più facile. Finché il totale per generate dinamicamente pagine HTML e la codifica URL sulla linea. Il caso per il nostro esempio, immettere la prima pagina l'URL di reindirizzamento abbiamo fatto le seguenti modifiche:
strRedirectUrl strRedirectUrl & _ =
Server.URLEncode (Response.Cookies ("username"))
Abbiamo aderito alla realizzazione della pagina:
strUserName = Server.HTMLEncode (Request.QueryString ("username"))
E
strUserName = Server.HTMLEncode (Request.Form ("username"))
Microsoft consiglia a tutti gli input e l'output di pagine dinamiche devono essere codificati. Anche i dati nel database e rimuovere lo stesso dovrebbe essere vero. Così che si può in gran parte evitare un attacco cross-site script.
Per raggiungere questi dovrebbero essere aggiunti in Page1.asp:
% @ Language = VBScript%
% If Request.Cookies ("username") "" Then
''Redirect rilevare se il cookie
Dim strRedirectUrl
strRedirectUrl "page2.asp =? username ="
strRedirectUrl strRedirectUrl & _ =
Server.URLEncode (Request.Cookies ("username"))
Response.Redirect (strRedirectUrl)
Else%
HTML
HEAD
META Http-equiv="Content-Type"content="text/html; charset=iso-8859-1"
MyNiceSite.com TITLE Home Page / TITLE
/ HEAD
SCRIPT LANGUAGE="avascript"
! -
checkForm funzione () (
document.forms [0]. userName.value =
RemoveBad (document.forms [0]. UserName.value);
return true;
)
file //*********************************************** *******
file / / Programmer: NON ORIGINALE CODICE - proviene da MICROSOFT
file / / Codice sorgente: Microsoft Knowledge Base Q25z985
file / / Descrizione: Rimuove i caratteri male.
file //*********************************************** *******
funzione RemoveBad (strTemp) (
strTemp = strTemp.replace (/ / /"/''/%/;/(/)/&/+/-/ g, "");
ritorno strTemp;
)
//-- file
/ SCRIPT
BODY
BR
H2 MyNiceSite.com / H2
BR
FORM Method="post"action="page2.asp" onsubmit="return checkForm();"
Inserisci il tuo nome MyNiceSite.com:
INPUT Type="text"name="userName" width="10" maxwidth="10"
INPUT Type="submit"name="submit" value="submit"
/ FORM
/ BODY
/ Html
% End if%
Page2.asp Canada, come:
% @ Language = VBScript%
% Dim strUserName
Se Request.QueryString ("") "" username, allora
strUserName = Server.HTMLEncode (Request.QueryString ("username"))
Altro
Response.Cookies ("username") = Request.Form ("username")
strUserName = Server.HTMLEncode (Request.Form ("username"))
End If%
HTML
HEAD
meta Http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"
/ HEAD
BODY
h3 ALIGN="CENTER" Ciao: % =% strUserName / h3
/ BODY
/ Html
Ora a causa di questo attacco è stato un controllo effettivo. Che tali etichette e sceneggiatura di codice maligno, essi sono in forma scritta, sono emerse, come illustrato di seguito:
Abbiamo anche aumentare la componente di IIS utilizzati per filtrare tutti di un ingresso dinamico dai caratteri speciali. Per coloro che hanno siti web di buono, questo approccio per prevenire gli attacchi cross-site script facile. Siamo in grado di bloccare questo gol richiesta di controllo da pagine ASP, si possono formare, cookie, il contenuto della stringa di richiesta e le procedure per individuare:
Si può anche scrivere file di log attraverso il metodo dei dati statistici di aderire componenti. Ogni volta che un cliente immette un carattere illegale, questo componente prenderà atto del suo indirizzo IP e il tempo. I dettagli sono Doug Preside della Roll tua applicazione sul proprio IIS articolo ASPToday .
Abbiamo solo bisogno di prendere alcune semplici Buju può efficacemente prevenire attacchi di script cross-site. Oltre ai tre metodi di cui sopra, Microsoft e anche CERT raccomanda vivamente di utilizzare un processo che chiamano "check" approccio di sanità mentale. Per esempio, supponiamo che ci è consentito solo per entrare nella finestra di input digitale, e diamo per essere un limitato, consentendo solo 0-9 ingresso digitale. Microsoft e CERT usato per inserire caratteri di questo approccio limitato rispetto all'uso separato di filtrare i caratteri speciali sono molto meglio. Adottato queste misure, si può lasciare che quelli che visitano il sito in cui i clienti visitano il sito da proteggere.
In secondo luogo, da parte di hacker di attaccare il nostro metodo browser:
Quando si naviga in rete al momento giusto, come evitare di essere attaccato? Microsoft e CERT raccomanda di non toccare ipotesi selvatici della linea Hu. In considerazione di ciò, PC Magazine ha nominato John Dvorack una colonna in una risposta interessante. Egli ritiene che ciò sia di Microsoft atti premeditato: che è quello di intimidire le persone che navigano a tali siti sicuri da visitare, come AOL e MSN.com sito web.
Nei nostri esempi, anche se non sono in linea a caso vaganti, non possiamo evitare di trovarsi in attacchi degli hacker su Internet. Ironia della sorte, la maggior parte del rischio proviene dai siti più attendibili. Se si desidera che il sito non deve domanda, si deve a non scaricare alcun contenuto dinamico o di qualsiasi cookie. Indovina i dettagli, consultare le informazioni del browser.
Microsoft ha inoltre avvertito che il browser si deve impostare l'Active Script e di limitare rigorosamente lo stato di posta elettronica è anche impostato per limitare rigorosamente la ricezione. Fare clic sul collegamento nel messaggio, assicurarsi di stare attento. Per ulteriori informazioni si prega di fare riferimento a un nome Microsoft''s articolo della Knowledge Base libro Q253117 . Come precauzione, è meglio essere un po 'più di esperienza online e il tempo di stare attento.
Conclusione
Se sei uno sviluppatore precedente programma UNIX, non si può sapere che cosa significa che lo script cross-site. Voi sapete che molti gestori di siti collegati nome utente e password sono stati root, root. Lo stesso numero di nome del database e la password sono stati sa, la password. Sai Webzine (come Phrack e Alt2600), secondo i metodi che forniscono passo dopo passo ti permette di conoscere la vulnerabilità di un server. In questo hardware, si sa anche che molti dei server di database del sito e il server web non sono auto-protezione. Ma l'esperienza di un hacker, la macchina deve paralisi.
Mentre è facile da prendere per evitare che il sistema di misure hacker, ma il nostro sistema è esposto agli hacker è stato in passato. Abbiamo tutte le ragioni per credere che il prossimo anno ci saranno alcune vulnerabilità di sicurezza. Mr. John Howard il CERT the società sotto la guida è stata menzionata in un articolo: "Secondo lo studio present, a nomi di dominio per il sito Internet di anni la media, attacchi di hacker by at once almeno. "
Sui server, anche se solo un attacco tale è insopportabile. Attacchi di Cross Site Script sono un altro modo gli hacker possono utilizzare. Tuttavia, abbiamo bisogno solo il trattamento di cui sopra semplice può prevenire l'insorgenza di questa forma di attacco.
Ogni volta che pensiamo a un tempo in cui gli hacker, pirati informatici tendono a come questo ritratto: un solitario, entrato tranquillamente i server di altre persone, a distruggere o rubare segreti di altre persone. Forse cambierà la nostra home page, richieste fraudolente ruberà clienti di numeri di carte di credito e password. Inoltre, l'attacco hacker a visitare il nostro sito web clienti. Allo stesso tempo, il nostro server è diventato suo complice. Microsoft definisce questo attacco come una "script cross-site" attacchi. La maggior parte di questi attacchi sono avvenuti nella pagina web generato dinamicamente al momento giusto, ma l'obiettivo dell'hacker non è a your sito, ma la visita il website del cliente.
Descrizione di un attacco cross-site script
In un libro intitolato ADVISORY CA--2000-02 della rivista, CERT ci ha avvertito: se il server su input del client non è efficace verifica, gli hacker malintenzionati entrerà po 'di codice HTML, quando queste HTML Ingresso programma script di codice viene utilizzato, lo possono utilizzare per eseguire i sabotaggio, come ad esempio l'inserimento di alcune immagini offensive o suoni, ecc, ma anche può interferire con il sito giusto cliente.
Sappiamo che alcuni amici erano stati indotti a liberare un certo numero di siti sospetti, che ricevono solo 10-20 piccola finestra, le finestre sono spesso accompagnati dalla formazione del fallimento di JAVA o pulsante di sicurezza avascript, questo è conosciuta come la trappola per topi. Chiudi la finestra è vana, quando si chiude una finestra, un'altra finestra si aprirà qualche 10. Questo accade spesso quando l'amministratore non ha in Fasheng Hou. Gli hacker utilizzano l'evento del mouse è cross-site script di esempio metodi di attacco del cliente.
tag SCRIPT e malizia malizioso non sono semplici, si possono perfino rubare informazioni e distrutto il sistema. Non è un abile hacker o anche intelligente sono in grado di interferire o modificare il server utilizzando l'input di dati SCRIPT. codice di script può anche attaccare con sistemi client, fare danni al disco rigido. E si sa, quando si utilizza il lato server, gli hacker SCRIPT è anche un luogo sicuro in cui il server è in esecuzione a! Se il cliente una lettera sul server è identificato, la stessa fiducia che essi SCRIPT codice dannoso. Anche questo codice è in forma di SCRIPT o OBJECT server da parte di hacker.
Anche con un firewall (SSL) non possono prevenire gli attacchi cross-site SCRIPT. Questo perché se il dispositivo genera codice maligno script utilizza anche SSL, il server SSL che non possiamo identificare il codice al. Abbiamo a che fare con il cliente siti attendibili poi consegnare gli hacker esso? E l'esistenza di tale danno, rendono possibile perdita di reputazione tuo sito.
In primo luogo, gli attacchi cross-site script di esempio:
Secondo le informazioni del CERT, l'input dinamico è in genere queste forme: i parametri di URL, elementi del modulo, COOKISE e le richieste di dati. Analizziamo, le uniche due pagine del sito, il sito si chiama: MYNICESITE.COM. In primo luogo utilizzare un modulo o un cookie per ottenere il nome utente:
% @ Language = VBScript%
% If Request.Cookies ("username") "" Then
Dim strRedirectUrl
strRedirectUrl "page2.asp =? username ="
strRedirectUrl = strRedirectUrl & Response.Cookies ("username")
Response.Redirect (strRedirectUrl)
Else%
HTML
HEAD
MyNiceSite.com TITLE Home Page / TITLE
/ HEAD
BODY
H2 MyNiceSite.com / H2
FORM Method="post" action="page2.asp"
Inserisci il tuo nome MyNiceSite.com:
input Type="text" name="userName"
INPUT Type="submit" name="submit" value="submit"
/ FORM
/ BODY
/ Html
% End If%
La seconda pagina torna il nome utente da il benvenuto:
% @ Language = VBScript%
% Dim strUserName
Se Request.QueryString ("username") "" Then
strUserName = Request.QueryString ("username")
Altro
Response.Cookies ("username") = Request.Form ("username")
StrUserName = Request.Form ("username")
End If%
HTML
HEAD / HEAD
BODY
h3 ALIGN="CENTER" Ciao: % =% strUserName / h3
/ BODY
/ Html
Quando si immette del testo normale, spesso, è tutto normale. Se inserite il codice di script: alert SCRIPT (''Ciao script .''; /, un'etichetta di avvertimento avascript aprirà:
La prossima volta che si visita, questa etichetta di avvertimento apparirà la stessa Questo è perché il codice dello script nel vostro tempo dopo la prima visita era stata di soggiornare in un cookie. Questo è un semplice esempio di attacchi cross-site.
Se pensi che questo è un caso speciale, si può anche voler guardare altrove on-line, di persona provare. Ho alcuni siti web delle pubbliche amministrazioni, siti didattici e siti web business collaudato, si può infatti emerse parte della situazione di cui sopra, ho anche trovato un sito che uso spesso sono in realtà sulla carta di credito di qualsiasi Guolv Shuru Bu, Pensate davvero terribile.
In secondo luogo, utilizzando la posta elettronica di Cross Site Script Attack
attacco cross-site script utilizzati nel list server, server usenet e server di posta sono particolarmente vulnerabili a venire. Il seguente è un esempio per spiegare sito MyNiceSite.com. Poiché spesso navigare su questo sito, il suo contenuto non metterlo giù ti amo, per cui si inconsapevolmente mettere il browser in una dei contenuti dinamici Web è sempre fiducia in questa impostazione.
MyNiceSite.com sito è sempre attraverso la vendita di sottoscrizione e-mail l'indirizzo del loro lettere e-mail per ottenere il reddito, che è davvero una buona idea. Così ho comprato in un indirizzo di posta elettronica. E fatto un sacco di mail a voi. Nella lettera, ti dico al più presto a visitare questo sito e controlla il tuo account usando l'ultima situazione. Per darvi un comodo, ho anche fatto un link a questa lettera. Vorrei link URL, il parametro nome utente nel codice di script per leccare aggiunto. Alcuni clienti inconsapevolmente cliccare su questo link, che è sul mio, quando (nella foto), e mi hanno anche beneficiato di:
E 'questo work, come quando si fa clic su questo link dopo link in codice di script da utilizzare per guide your browser per download il mio programma avascript e eseguire esso. Il mio script controlla che utilizza il browser IE, di procedere a scaricare particularlyNasty.dll controllo ActiceX. Perché prima di avere il contenuto di questo sito web che è sempre sicuro, quindi il mio codice di script e controlli attivi sulla vostra macchina può correre liberamente.
3, Activex attacco descrizione
Quando si discute l'ActiveX, Microsoft CERT e senza alcun riferimento al metodo di script cross-site del rischio da parte. W3C In "" La sicurezza Domande frequenti dei problemi di sicurezza ActiveX sono state effettuate su una descrizione più dettagliata. applet Java sul controllo del sistema è strettamente limitato. Dom sviluppo quando si prevede che solo coloro che non rappresentano una minaccia per la sicurezza del sistema è stato permesso di eseguire l'operazione.
D'altra parte, ActiveX sul funzionamento del sistema non è strettamente limitato. Tuttavia, se uno è stato scaricato, è possibile installare l'eseguibile come fare quello che volevano fare la stessa cosa. browser IE per questa caratteristica è fatta anche di alcune restrizioni, come quelli del sito non sicuro, nelle sue impostazioni di default non consente di scaricare o dare un messaggio di avviso. Si basa sullo sviluppo di ActiveX per aziende come VeriSign Inc., hanno dato numerati controlli ActiveX. Quando si scarica dopo il controllo orario, browser IE vi darà un avvertimento e visualizza il grado della sua credibilità mascalzone. Con l'utente a decidere se credere questo controllo. Come aumenta la sicurezza di un sistema.
Tuttavia, per quegli utenti che non hanno molta esperienza, spesso inconsciamente, le impostazioni originali sono state modificate per permettere a questi controlli, senza alcun sollecito sulla scaricato. Inoltre, un novizio, anche nel caso di una richiesta di scaricare senza pensare non farà qualsiasi marchio, in cui i controlli. Nel nostro esempio citato nel sito a causa della vostra fiducia, ha cambiato le impostazioni del browser, così, i controlli ActiveX senza richieste di conferma per scaricare, date le circostanze, e in macchina si esegue su inconsapevolmente De Shi Kai .
4, 16 con codifica esadecimale attacco ActiveX Script
cattive intenzioni dovrebbe distinguere tra l'etichetta e la sceneggiatura è molto difficile. Script può anche essere in forma esagonale di 16 nascondersi. Guardiamo al seguente indirizzo e-mail questo esempio per favore? E 'in forma di 16 esadecimale è inviato:
E 'quasi un messaggio completo, che contiene un 16 hex forgiato parametri URL: mynicesite.com = mittente. Quando l'utente fa clic sul collegamento, il browser dell'utente inizierà il primo caso di cui direttamente al trattamento dei pop-up di avviso finestra.
Parte II: Cross Site Script prevenzione da attacchi della criminalità
In primo luogo, come evitare di essere gli attacchi cross-site server Script
Fortunatamente, prevenzione cross-site script tecnologia attacco sta perfezionando. Diversi modi questo possono essere prese per prevenire gli attacchi cross-site script:
1. Pagine generate dinamicamente Su vengono codificati i caratteri
2. Per filtrare e limitare l'immissione
3. Utilizzo di HTML e codifica URL
1. Pagine generate dinamicamente Su vengono codificati i caratteri
È necessario prima utilizzare viene generata dinamicamente pagine sul codifica dei caratteri, dovete farlo, o hacker è destinata a cambiare il set di caratteri e facilmente tramite la linea di difesa. Se il nostro sito è nel sito inglese, quindi se si imposta la codifica dei caratteri in caratteri latini ISO-8859-1 sulla linea, come segue:
meta Http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"
2. Filtrazione e limitare tutti gli input dati
Questo per evitare cross-site script Il secondo metodo di attacco, durante il segno dentro Non lasciare che quei caratteri speciali sono inseriti. Pertanto, possiamo aggiungere le procedure avascript OnSubmit modo per realizzare questa funzione. In questo caso, limite può entrare solo 15 caratteri. Questo farà si che le lunghe input script.
In Knowledge Base QA252985 Questo libro fornisce una breve programma avascript Microsoft per completare i dati di input filtering. Abbiamo inoltre introdotto, secondo le circostanze specifiche di questo codice per il nostro esempio, quali:
checkForm funzione () (
document.forms [0]. userName.value = _
RemoveBad (document.forms [0]. UserName.value);
return true;
)
/ / MICROSOFT''S CODE
funzione RemoveBad (strTemp) (
strTemp.replace (/ / /"/''/%/;/(/)/&/+/-/ strTemp = g ,"");
ritorno strTemp;
)
Utilizzando questo metodo, è possibile filtrare quelle contenute nel carattere di input:
% [] (); & + - "''()
3. Utilizzo di HTML e codifica URL
Sebbene l'uso di filtri e le restrizioni di cui sopra, il metodo di input è di usare uno strumento molto importante of defense, but it was il mio modo di attacchi da parte mail o impotenti. Ho messo i parametri URL direttamente sul messaggio. In considerazione di ciò, dobbiamo adottare una delle misure di sicurezza più robusta. Se usiamo ASP, relativamente parlando, per risolvere molto più facile. Finché il totale per generate dinamicamente pagine HTML e la codifica URL sulla linea. Il caso per il nostro esempio, immettere la prima pagina l'URL di reindirizzamento abbiamo fatto le seguenti modifiche:
strRedirectUrl strRedirectUrl & _ =
Server.URLEncode (Response.Cookies ("username"))
Abbiamo aderito alla realizzazione della pagina:
strUserName = Server.HTMLEncode (Request.QueryString ("username"))
E
strUserName = Server.HTMLEncode (Request.Form ("username"))
Microsoft consiglia a tutti gli input e l'output di pagine dinamiche devono essere codificati. Anche i dati nel database e rimuovere lo stesso dovrebbe essere vero. Così che si può in gran parte evitare un attacco cross-site script.
Per raggiungere questi dovrebbero essere aggiunti in Page1.asp:
% @ Language = VBScript%
% If Request.Cookies ("username") "" Then
''Redirect rilevare se il cookie
Dim strRedirectUrl
strRedirectUrl "page2.asp =? username ="
strRedirectUrl strRedirectUrl & _ =
Server.URLEncode (Request.Cookies ("username"))
Response.Redirect (strRedirectUrl)
Else%
HTML
HEAD
META Http-equiv="Content-Type"content="text/html; charset=iso-8859-1"
MyNiceSite.com TITLE Home Page / TITLE
/ HEAD
SCRIPT LANGUAGE="avascript"
! -
checkForm funzione () (
document.forms [0]. userName.value =
RemoveBad (document.forms [0]. UserName.value);
return true;
)
file //*********************************************** *******
file / / Programmer: NON ORIGINALE CODICE - proviene da MICROSOFT
file / / Codice sorgente: Microsoft Knowledge Base Q25z985
file / / Descrizione: Rimuove i caratteri male.
file //*********************************************** *******
funzione RemoveBad (strTemp) (
strTemp = strTemp.replace (/ / /"/''/%/;/(/)/&/+/-/ g, "");
ritorno strTemp;
)
//-- file
/ SCRIPT
BODY
BR
H2 MyNiceSite.com / H2
BR
FORM Method="post"action="page2.asp" onsubmit="return checkForm();"
Inserisci il tuo nome MyNiceSite.com:
INPUT Type="text"name="userName" width="10" maxwidth="10"
INPUT Type="submit"name="submit" value="submit"
/ FORM
/ BODY
/ Html
% End if%
Page2.asp Canada, come:
% @ Language = VBScript%
% Dim strUserName
Se Request.QueryString ("") "" username, allora
strUserName = Server.HTMLEncode (Request.QueryString ("username"))
Altro
Response.Cookies ("username") = Request.Form ("username")
strUserName = Server.HTMLEncode (Request.Form ("username"))
End If%
HTML
HEAD
meta Http-equiv="Content-Type" content="text/html;charset=ISO-8859-1"
/ HEAD
BODY
h3 ALIGN="CENTER" Ciao: % =% strUserName / h3
/ BODY
/ Html
Ora a causa di questo attacco è stato un controllo effettivo. Che tali etichette e sceneggiatura di codice maligno, essi sono in forma scritta, sono emerse, come illustrato di seguito:
Abbiamo anche aumentare la componente di IIS utilizzati per filtrare tutti di un ingresso dinamico dai caratteri speciali. Per coloro che hanno siti web di buono, questo approccio per prevenire gli attacchi cross-site script facile. Siamo in grado di bloccare questo gol richiesta di controllo da pagine ASP, si possono formare, cookie, il contenuto della stringa di richiesta e le procedure per individuare:
Si può anche scrivere file di log attraverso il metodo dei dati statistici di aderire componenti. Ogni volta che un cliente immette un carattere illegale, questo componente prenderà atto del suo indirizzo IP e il tempo. I dettagli sono Doug Preside della Roll tua applicazione sul proprio IIS articolo ASPToday .
Abbiamo solo bisogno di prendere alcune semplici Buju può efficacemente prevenire attacchi di script cross-site. Oltre ai tre metodi di cui sopra, Microsoft e anche CERT raccomanda vivamente di utilizzare un processo che chiamano "check" approccio di sanità mentale.例如,假设有个输入窗口只允许输入数字,我们就给它做个限定,只允许0-9数字的输入。微软和CERT所采用的这种对输入的字符进行限定的办法要比单独的采用过滤特殊字符要好得多。采用了这些措施后你就能让那些参观你网站的客户在访问你网站时受到保护。
二、免受黑客攻击我们浏览器方法:
当你在网上漫游的时侯,怎样来避免受到攻击呢?微软和CERT建议不要在网上胡碰乱撞。针对这种情况,PC杂志一个栏目的名叫John Dvorack作者作了一个饶有兴趣的回答。他认为这是微软公司一起有预谋的行为:就是用来恐吓网上冲浪的人到那些安全的站点去浏览,如美国在线和MSN.com网站。
在我们所举的例子中,即使你不在网上胡乱游荡,也不能避免在网上遭到黑客的袭击。具有讽刺意义的是,大多数的危险都来自于我们最信任的网站。如果要让网站一定不出问题,你只好不下载任何动态内容或者任何cookie。预知详情请参阅浏览器的相关资料。
微软也警告你们应把浏览器的Active Script设置成严格限制的状态并把Email也设成严格限制的接收模式。在点击邮件中的链接时,一定要小心。如需进一步了解情况请参阅一本名叫<<Microsoft''s Knowledge Base Article Q253117>>的书。为了以防万一,你最好是多一点上网经验,并且时刻要小心谨慎。
结论
如果你是以前的UNIX程序开发人员,你也许不会知道跨站script意谓着什么。你知道许多站点的管理人员登录的用户名和密码分别为root,root.同样许多数据库管理员的名称和密码分别为sa,password。你也知道Webzine(如Phrack 和 Alt2600),依据他们所提供的方法能让你一步步地知道某台服务器的弱点。在这种硬件上,你也知道许多网站的数据库服务器和web服务器都没有进行自我保护。一但遭遇黑客,机器就得瘫痪。
尽管我们很容易采取防止系统受到黑客的攻击的措施,但我们的系统是一直暴露在黑客面前的。我们完全有理由相信下一年还会出现一些新的安全漏洞。在CERT公司John Howard先生指导下完成的一篇论文中曾提到:"跟据目前的研究显示,每个在英特网上具有域名的网站平均一年被黑客至少攻击一次。"
对服务器来说那怕只是一次这种攻击也是不能承受的。跨站Script攻击是黑客可采用的另一种方法。但我们只要进行以上所说的一些简单的处理就能防止这种形式攻击的发生。