스터디/웹해킹

웹 해킹 2 (Authentication)

hel1oworld 2026. 3. 23. 15:01

Authentication

1. authentication vs authorization : Authentication is the process of verifying that a user is who they claim to be. Authorization involves verifying whether a user is allowed to do something.

2.1. 실습 : 무작위 대입 (Username enumeration via different responses)

문제에서 ID 리스트랑 PW 리스트를 제공하며 이에 맞는 계정을 찾는 것이었다. 나는.. 파이썬 코드짜서 101 X 100개 조합을 돌렸지... 너무 오래 걸렸지...하하 (첨부파일로 python 코드 첨부)

그래서 솔루션 확인. burp suite의 기능 사용하는 것이었음;; (본인들 제품 홍보하고 팔려는게 목적이니까.... 그래...)

POST 중에 /login에 ID, PW 입력 파라미터 확인

해당 로그를 send to intruder 해서 조작하도록 하자.

좌측의 Add 버튼 눌러서 우측에서 payloads를 자동으로 입력 가능

이렇게 하면 응답결과의 length가 다른 것을 통해 ID를 찾음. ID 찾고, 비번도 length가 다른 것을 찾아서 로그인하면 끝...

파이썬 같은 코드로 할 순 있지만... 자동화 프로그램있는데 그걸 쓰자는 깨달음

import requests.py
0.00MB

글구 이거 파이썬 코드로 돌려보니까 200 OK만 확인하기 때문에 ID까진 찾는데, 비번은 틀려도 200 OK가 된 것 같음.(비번 list.txt의 첫번째꺼가 답이라고 한 것을 보니.) 이렇게 코드를 작성할 때 입력에 따라서 출력이 달라지는 것을 확인하고 그에 맞게 출력을 비교하는 것이 필요. 즉, burp suite에서 length 비교한 것 처럼..

2.2. 실습2 (2FA simple bypass)

이건 그냥 내 계정 로그인 후, 이메일 인증 받고, 원하는 계정으로 로그인하기.. 2차 이메일 인증 페이지에서 걍 홈페이지 누르면 인증 된 것으로 끝...

즉, 이메일 인증 걍 기능이 제대로 동작 안 한듯? 아니면 이전 세션 유지던가. 개발자가 잘 해야지

 


더보기

단어 정리

conceptually 개념적으로

bypass 우회하다

robust 건장한

audit 심사(감사)

disclose 드러내다, 폭로하다 dis + close (닫는 것을 X니까 드러냄)

unwittingly 모르고

enumeration 열

at times 때때로 (와 이거 고딩때 이후로 정말 오랜만)