Forem

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 Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read more

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Dive into an ocean of knowledge with this thought-provoking post, revered deeply within the supportive DEV Community. Developers of all levels are welcome to join and enhance our collective intelligence.

Saying a simple "thank you" can brighten someone's day. Share your gratitude in the comments below!

On DEV, sharing ideas eases our path and fortifies our community connections. Found this helpful? Sending a quick thanks to the author can be profoundly valued.

Okay