본 내용은 인프런 무차별 대입 공격(bruteforce attack) with Python 강의를 수강하고 쓴 글입니다.
출처 바로 가기
📂 URL(이름) : Windows PowerShell 창을 열고 nslookup www.naver.com 명령어를 입력하면 다음과 같다
[Windows PowerShell]
사진에 나오는 것과 같이 권한없는 응답에서 Address로 나오는 값을 복사하여 URL 입력창에 붙여넣어 검색을 해보면 곧바로 네이버로 이동하게 되는 걸 확인할 수 있다.
- GET : 리소스 취득 (URL에 타이핑을 쳐서 엔터치는 방식으로 패킷 생성 가능)
URL 자체에 id와 pw를 타이핑해버리면 노출이 되어버리기 때문에 그 부분을 가려야한다.
대량의 양식이거나 숨기고싶은 데이터가 있을 경우 POST로 보낸다.
- POST : 리소스 생성 (Form에 Method가 POST로 되어야함)
- 200 : 서버가 요청을 제대로 처리
- 404 : 서버가 요청한 페이지를 찾을 수 없음
- 503 : 서버가 오버로드 혹은 다운이 됨
바로 지난번 글에 server.py 코드에서 self.wfile.write 코드를 변형한다.
📌 self.path.encod()를 통해 사용자가 입력한 URL을 확인할 수 있다.
localhost:8080을 들어가보면 self.path.encode() 부분은 / 만 나타난 걸 볼 수 있는데
이때, 아무 주소나 하나 긁어서 localhost:8080 뒤에 붙여 검색하면 다음과 같은 결과를 볼 수 있다.
만약 예를 들어 id와 pw를 입력했다고 치면, 다음과 같다.
여기서 우리가 원하는 값만 파싱하기 위해선 (id,pw값) 또 다시 split 해야한다.
split('&')를 통해 id와 pw 각각 값이 분리된 것을 볼 수 있다.
import urllib.parse as parse
👆 파싱해주는 라이브러리
라이브러리를 통해 만든 파싱코드
터미널에 json 형식으로 뽑히는 것을 볼 수 있다.