SQL Injection opetusohjelma

SQL injection hakata suoritetaan palvelimiin, jotka eivät ole tarpeen turvallisen ohjelmoinnin.Nämä ovat yleensä suoritetaan palvelimilla jossa web-sivun koodi käyttää inline SQL, mikä tarkoittaa kysely on web-sivun koodi sijaan sijaitsee tallennettu menettely.Tietäen kuinka SQL injection hakata toimii auttaa verkkosivustojen omistajia suojaamaan asiakkaan tiedot ja varmistaa web-sivuja.

muodostetaan muuttuja

  • ensimmäinen vaihe ymmärtämään, miten SQL-injektio hyökkäys on luonut, on replikoimalla ongelma.SQL-injektio-iskut ovat onnistuu muodossa muuttujia HTML-sivun.Luominen muoto mahdollistaa webmaster simuloida ja testata turvallisuutta web-palvelin.Alla on esimerkki muodon objektin käyttää luomaan SQL-injektio hyökkäys.

    & lt; input type = \ "text \" name = \ "MYNAME \" & gt;

    Vaikka tämä on yksinkertainen muoto oppikirja, se on kaikki, mitä tarvitaan suorittaa SQL-injektio.

Hacker koodi

  • Kun SQL tehdään, sovellus rakentaa SQL-koodin, joka lähetetään tietokantaan.Ku

    n merkkijono lähetetään tietokantaan, koodi näyttää jotain alla teksti:

    select * from myTable jossa name = "myVariableFromtheForm '

    rasti merkki merkitsee loppua SQL-koodin, ja tämä on silloin, kun hakkerit kohdistaa.Kun oppikirja kaltainen luotu § 1 käytetään rakentaa merkkijono, hakkeri voi tulla jotain seuraavista osaksi oppikirja:

    "tai 1 = 1;-

    Tämä voisi näyttää siansaksaa, mutta todellisuudessa se injects koodin tietokanta, joka hoitaa palvelimen.Kun \ "myVariableFromtheForm \" korvataan koodin edellä, lausunto hoitaa palvelimen todella näyttää seuraavasti:

    select * from myTable jossa name = "" tai 1 = 1 - "

    \" -\ "on kommentit koodi SQL Server, joten viimeinen päättyy rasti ohitetaan.Merkkijono on tyhjä ja hakkeri ruiskuttaa koodi \ "1 = 1 \" osaksi julkilausuman.Mikä tämä vain palata joka rivin taulukon hakkeri.Näin häikäilemätön henkilö varastaa yksityisiä tietoja tietokantapalvelimiin.

Vahvistaminen ongelma

  • Paras tapa korjata ongelma koodi, joka on altis SQL injection hakata on käyttää \ "Korvaa \" -toiminto kaikissa tapauksissa, jossa teksti on syötetty käyttäjiltä.Esimerkiksi ASP-koodin, seuraava koodirivi korvaa yhden rasti merkkiin kaksi.Kun SQL Server toimii koodia kaksi asteikkomerkin välissä, se lukee ne kirjaimellisesti ja merkkijono ei ole päätetty.

    string.Replace (\ "'\", \ "' '\')
    GO

    yllä oleva koodi korvaa kaikki esiintymät yhden valintamerkki kaksi, poistamalla haavoittuvuus SQL-injektio hyökkäys.

209
0
0
Tietokantaohjelmiston