Home » Uncategorized » SQL Injection

SQL Injection

SQl injection to technika używana do skorzystania z luk wejścia do przekazywania poleceń SQL za pośrednictwem aplikacji Web wykorzystywanej do połączenia z bazą danych.

Atakujący wykorzystują fakt, że programiści często łączą ze sobą polecenia SQL z ustawieniami użytkownika pod pewnymi parametrami. Dobrą metodą na uniknięcie SQL Injection jest wykupienie serwera wirtualnego np. takiego Hosting. Można zatem osadzi polecenia SQL  wewnątrz tych parametrów. W wyniku tego atakujący może wykonać dowolne zapytanie SQL i lub polecenie w back-endzie serwera bazy danych za pośrednictwem aplikacji internetowej.

Szczegóły

Bazy danych są podstawowym składnikiem aplikacji internetowych. Bazy danych umożliwiają aplikacji internetowej przechowywanie danych, preferencji i elementów zawartości. Korzystając z SQL, aplikacje WWW współpracują z bazami danych do dynamicznego tworzenia niestandardowych widoków dla każdego użytkownika. Typowym przykładem jest aplikacja sieci Web, która zarządza produktami. W jednej aplikacji sieci Web stron dynamicznych (np. ASP), użytkownicy są w stanie wprowadzić identyfikator produktu i wyświetlić nazwę produktu i opis. Wniosek wysłany do bazy danych, aby pobrać nazwę produktu i  opis realizowany jest przez następujące zapytanie SQL

 

SELECT ProductName, ProductDescription
FROM Products
GDZIE ProductNumber ProductNumber =

 

Zazwyczaj aplikacje sieci Web używają zapytania w którym ciąg zawiera zarówno samo zapytanie i jego parametry. Ciąg ten zbudowany  po stronie serwera z wykorzystaniem języków skryptowych takich jak ASP JSP i CGI, a następnie przesyłanie do serwera bazy danych jako pojedynczej instrukcji SQL. Poniższy przykład ilustruje kod ASP, który generuje zapytania SQL.

sql_query = ”
SELECT ProductName, ProductDescription
FROM Products
GDZIE ProductNumber = „& Request.QueryString (” IDProduktu „)

Request.QueryString połączenia („IDProduktu”) ekstrakty wartość ProductID formularza sieci Web zmiennej, tak że może być dołączony jako SELECT stanie.

Gdy użytkownik wprowadza następujący adres URL:

http://www.mydomain.com/products/products.asp?productid=123

Odpowiednie zapytanie SQL jest wykonywany:

SELECT ProductName, ProductDescription
FROM Products
GDZIE ProductNumber = 123

 

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

*

Możesz użyć następujących tagów oraz atrybutów HTML-a: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

© VPS Hosting
credit