DEV Community

Cover image for Kybersanasto - SQLi
minjahakkeroi
minjahakkeroi

Posted on

Kybersanasto - SQLi

Avaan kybersanasto-julkaisusarjassa erilaisia tietoturvaan liittyviä termejä.

Mikä on SQLi?

SQL eli Structured Query Language on ohjelmistokieli, jota käytetään esimerkiksi tietokantojen ylläpidossa.

Otetaan esimerkiksi vaikka verkkokauppa. Kauppaan on listattu kaikki myytävät tuotteet ja asiakkaat, jotka ovat luoneet tilin verkkokauppaan. Tätä tietokantaa voitaisiin ohjata SQL-komentoja käyttäen.

SQLi eli SQL-injektio on haavoittuvuus, jossa hakkeri pääsee ajamaan näitä SQL-komentoja ja esimerkiksi tekemään muutoksia tai saamaan tietoa ulos näistä tietokannoista.

Päästäkseen ajamaan näitä komentoja, tarvitaan palvelussa oleva toiminnallisuus, johon voidaan syöttää tekstiä. Eli esimerkiksi sisäänkirjautumisruutu tai hakukenttä.

SQL-injektiolta voi suojautua monin eri keinoin, esimerkiksi:
🌸 Käyttämällä valmiita SQL-kirjastoja sen sijaan että koodaa kaiken alusta alkaen itse, esimerkiksi ORM-kirjasto.
🌸 Käyttämällä vain parameterisoituja kyselyitä (prepared statements) SQL-komennoissa.
🌸 Tutustumalla SQL-injektioihin ja ymmärtämällä mistä ne johtuvat.
🌸 Validoimalla ja sanitoimalla palvelimen päässä kaiken tekstin, mitä käyttäjä voi sivulle syöttää. Validointi varmistaa, että syötetty teksti vastaa järjestelmän odotuksia (esimerkiksi hakukenttään tuskin tarvitsee syöttää erikoismerkkejä, kuten ') ja sanitointi poistaa tai muuttaa mahdollisesti haitallisen sisällön (eli esimerkiksi hakua tehdessä poistetaan syötetty '-merkki).

Esimerkiksi Portswigger Academyssä englanniksi tai Hakatemiassa suomeksi on selitetty, kuinka SQL-injektioita voidaan tunnistaa ja korjata.

Yhteenveto

Työskentelen tietoturva-asiantuntijana 2NS:llä. Ota mun minjahakkeroi-tilit seurantaan Instagramissa ja Threadsissä, jos haluat nähdä enemmän työstäni hyvishakkerina!

Image of Datadog

The Essential Toolkit for Front-end Developers

Take a user-centric approach to front-end monitoring that evolves alongside increasingly complex frameworks and single-page applications.

Get The Kit

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

AWS GenAI LIVE!

GenAI LIVE! is a dynamic live-streamed show exploring how AWS and our partners are helping organizations unlock real value with generative AI.

Tune in to the full event

DEV is partnering to bring live events to the community. Join us or dismiss this billboard if you're not interested. ❤️