Hogyan talál + stop SQL injekciós támadás
Kategória: . NET , Classic ASP , hosting , IIS 6.0 , programozás 101 , SQL Server
Van egy csomó dolog ott SQL injekciós támadás, de ott nem sok, hogy segít kitalálni, hogyan lehet megállítani a támadások bekövetkezését.
Először is beszéljünk arról, hogy mi az SQL injekciós támadás valójában. Néhány ember úgy gondolja, hogy ez egy vírus a fajta, ami a "bennfentes webhelyére." Nem ez a helyzet. Ezek a bot támadások más vírussal fertőzött számítógépeken. Egyszerűen használja a nyers erő megközelítést szkennelés URL-eket, hogy POST / GET bemenet és próbál küldeni a saját adatait a számukra.
Szóval, hogyan nyomon követi ezeket és megállítani őket? A weboldal powered by Microsoft IIS, itt van a mi javaslatok:
- Nézd meg az IIS naplófájlokat
Próbálja megkeresni a szó "hadat", vagy "EXECUTE." Ha már érte támadás, ezek több mint valószínű, megjelennek az Ön IIS tuskók - legalábbis minden támadást kísérelt meg, hogy használ "GET" álláshely. Ha nem talál valamennyi esetét "hadat", vagy "execute" ezek az oldalak kezdeni. - Használata központi adatbázis kapcsolat kezelése
Egyszerű, hogy egy központi file (pl. connection.asp használatakor ASP ) Kezeli az összes DB hozzáférést. Ily módon könnyebb, hogy megbizonyosodjon arról, hogy Ön SQL kódolás oldalain. Könnyedén keresőkifejezések a "hadat" és az "execute", és állítsa le a támadásokat halott a zeneszámokat. - Végre egy telek ra kiterjedő megoldás
Ha fut a saját szervert, ajánljuk ISAPI_Rewrite tól HeliconTech ( http://www.helicontech.com/isapi_rewrite ). Ez egy ISAPI szűrő, ami lehetőséget ad a különböző dolgok, beleértve a szkennelés URL adatokat. Ez meg fog állni 99%-a támadások megváltoztatása nélkül kódot a webhelyén! \ - Soha ne használja az "sa", mint az adatbázis-felhasználó, hozzon létre egy felhasználói az adatbázis Ön dolgozik, majd távolítsa el kiváltságokat olvasni a mester dbo. Ez megakadályozza, hogy a támadó a "szippantás" az adatbázis szerkezete, azonban ezek a támadások alakult úgy, hogy fertőtlenítsék tárolt eljárás alapú támadások történnek is ilyen típusú biztonsági helyére. Lásd http://www.ngssoftware.com/papers/more_advanced_sql_injection.pdf További információ és egyéb ötletek megelőzésében SQL injekciós támadás.
Ha valaha is kíváncsi, vakarja a fejét, ahol a szivárgás a programozás (vagy átvett projekt valaki más), akkor a legjobb módja annak, hogy határozzák meg, amely oldalon a támadás történt, a korlátozás ki az IIS naplófájlokat.
Sok tarisznyák elérhető megtisztítására, de a legjobb tipp, hogy hát óránkénti, és hogy kövessék a legjobb gyakorlatok (néhány általam kiemelt itt). Jó szerencse
Segítségével kapcsolódik az SQL 2005 Server Express kapcsolódni Excel
Én vagyok nagyon csalódott, amikor a DTS lehetőségek hiányoznak az SQL 2005 Express, különösen, amikor az importáló excel táblázatok egy táblázatot, így tudok hivatkozni, hogy könnyű egy T-SQL adatokat importálni az én már meglévő relációs adatbázis .
Végül találtam egy kis gyöngyszem, hogy úgy tűnt, működik:
1 2 3 4 5 6 7 8 9 | 'EXCEL2' , 'Excel' , 'Microsoft.Jet.OLEDB.4.0' , 'D: \d ata.xls' , NULL , 'Excel 8.0' , NULL SELECT * FROM excel2... a $ WHERE [ Whatever COLUMN ] IS null EXEC sp_addlinkedserver "EXCEL2", "Excel", "Microsoft.Jet.OLEDB.4.0", "D: \ d ata.xls ', NULL,' Excel 8.0, NULL SELECT * FROM excel2 ... a $ WHERE [Bármi COLUMN] IS null |
Hatékonyan alias az excel dokumentumot csatolt SQL Server (ebben a példában, excel2). Te csak ezt egyszer. Amint ez beállít működik, amíg meg nem de-kapcsolat a szerver alias (vagy ha mozog a adatforrás)
Ez segített abban, hogy hatalmas adat-és lekérdezi, hogy a T-SQL anélkül, hogy importálni, mint szoktam, hogy a DTS. Ön is szeretné, hogy a kilátó a nyelvi különbségek a kettő között, de egy egyszerű COLLATE DATABASE DEFAULT kell ezt a trükköt a legtöbb esetben, amikor belső join'ing illetve összehasonlítása két különböző szerver adatait.













































