목표 : 로그인 시스템의 취약점을 찾아 브루트포싱을 통해 계정을 탈취하거나 방어 기법 학습하기
실습 환경 구성
Installing DVWA in Windows with XAMPP (윈도우 환경에서 DVWA)
일단 요걸 토대로 XAMPP를 설치하고 웹 해킹 환경을 만든다.
https://xn--portswigger-2m87b.net/burp/releases/professional-community-2024-5-5
버프 스위트도 다운받아준다.
버프 스위트는 웹 애플리케이션의 취약점을 발견하고 악용하는 데 사용되는 강력한 도구이다.
작동 원리는 웹 브라우저와 서버 사이에 작은 프록시 서버를 끼워 모든 연결을 버프 스위트로 분석할 수 있게 한다.
웹 브라우저에서의 모든 요청과 응답을 볼 수 있고, 클라이언트 측의 보호와 무관하게 요청과 응답에 사용하는 패킷을 직접 조작할 수 있다.
오늘 할 실습은 인트루더(intruder)에서 진행된다. 인트루더에서는 브루트 포스 공격이나 사전 공격을 수행한다.
웹 프록시 기능을 통해 오고가는 request와 response를 처리하기 위해 버프 스위트에서 프록시 설정을 확인한다.
일단 초반에 Proxy의 intercept는 off로 둔다.
윈도우에서 프록시 설정을 확인한다.
XAMMP에서 아파치와 mysql을 실행해준다
cmd창에서 본인 ip확인하는 ipconfig 입력 후
IPv4의 주소를 확인해주면 192.168.x.x가 나온다.
http://192.168.x.x/dvwa를 들어가면 로그인하라는 창이 뜨고 admin/password로 로그인을 하면
이런 화면이 보일 것이다.
왼쪽 하단에서 네번째에 있는 DVWA Security를 눌러 Security Level을 Low로 변경해준다.
실습
이제 Burp Proxy의 Intercept를 on으로 변경해준다.
원래 username과 password는 admin/password이지만 다른 비밀번호로 시도를 해보겠다.
이렇게 올바르지 않다고 나온다.
버프 스위트에서 확인하면, username과 password에 무엇을 입력했는지 확인할 수 있다.
우클릭을 해서 send to intruder라는 항목을 누른다.
instruder의 상단에 있는 Sniper attack을 클릭해 Cluster bomb attack으로 변경해준다.
이 이미지의 username, password 부분에서 사용자가 입력한 것을 지우고, ADD 를 누르면 우측에 Payloads가 두개 생성된다.
우리는 여러개의 아이디와 비밀번호를 대입해서 올바른 쌍을 찾을 것이기 때문에 메모장에 여러개의 아이디, 비밀번호를 작성한다. 나는 실습이라 4개만 작성하였다. 실제로는 어마무시하게 많겠지?
Payloads에서 Load 를 눌러 메모장을 불러오고, 2개의 Payload에 다 불러온다.
왼쪽 상단에 있는 start attack을 누른다.
그러면 이렇게 여러개의 조합이 나온다.
그 중 하나를 누르고 Response-Render를 누르면 username과 password에 대입했을 때, 결과를 알 수 있는데 qwer과 qwer1234는 없는 정보이므로 incorrect하다고 나온다.
admin과 password를 클릭하였을 땐 로그인이 되어 아래 이미지가 나온다.
배운점
버프스위트의 프록시 기능을 통해 브라우저와 서버 간의 요청을 가로채 분석할 수 있었고, 이를 활용해 반복적인 로그인 시도를 자동화하는 방법을 배웠다.
단순한 공격 기법으로도 계정이 탈취될 수 있음을 알게 되었고, 웹사이트에 입력하는 개인정보가 어떻게 외부로 유출될 수 있는지 알게 되었다.
'SK쉴더스 루키즈' 카테고리의 다른 글
LLM기반 개인정보 보호 법률 상담 챗봇 프로젝트 (2) | 2025.03.01 |
---|---|
SK 쉴더스 루키즈 24기 - 생성형AI과정 합격 후기 (0) | 2025.02.02 |
OWASP API Security TOP 10 2023 (1) | 2025.01.24 |
[보도자료] 2024 개인정보정보처리시스템 개선안 : 망분리 완화 (0) | 2025.01.24 |
XAMPP - MySQL 오류 (0) | 2025.01.22 |