(인프런) 무차별 대입 공격 with Python ③

krystal·2022년 1월 15일
0
post-thumbnail

본 내용은 인프런 무차별 대입 공격(bruteforce attack) with Python 강의를 수강하고 쓴 글입니다.
출처 바로 가기


POST 요청 데이터 파싱

import requests
👉 패킷을 보내기 위해 필요한 라이브러리. 기본 모듈이 아니기때문에 만약 깔려있지 않다면
아래 사진과 같이 터미널에 pip install requests 명령어 입력 (*만약 설치가 안되는 경우 powershell 관리자 권한으로 실행하여 설치를 진행한다.)
(아나콘다가 미리 깔려져있어서인지 내 화면에는 이미 설치가 완료가 되어있다고 뜬다.)


📌이미 깔려져있음에도 불구하고 requests 라이브러리가 활성화 되지않았었다
👉 Import "requests" could not be resolved Pylance
👉 나같은 경우는 ctrl+shift+p를 눌러 인터프리터를 변경하니 해결이 되었다.

시리즈 ⓛ에서 작성했었던 bruteforce.py 파일에 있는 코드들을 모두 주석처리한 후, 다음과 같이 다시 작성을 해준다.

그 후, server.py와 bruteforce.py를 동시에 실행해주면, server.py를 실행했던 터미널에 다음과 같은 문장이 뜬다

200으로 나왔기 때문에 응답을 정상적으로 했다는 뜻이다. 그러나 데이터로 들어가있기 때문에 파싱이 제대로 되질 않았다. 시리즈 ②에서 했던 파싱처럼 URL 자체에 id와 pw를 작성해준다.



server.py 터미널에 다음과 같은 문장을 볼 수 있다.

for문을 사용하여 pw로 넣어주면 결과화면은 다음과 같다.


앞의 코드에선 reqeusts.get을 통해 실습을 했지만 보통 pw는 post방식으로 전달하고, 로그인 패킷은 데이터로 넣어준다.

[bruteforce.py]

[server.py]
전 실습에서 했던 do_GET 함수 내용을 복사해서 do__POST 함수에 붙여넣는다. (?기준으로 나누기 위해 만들어놓았던 if문 쪽 코드는 지운다)이 때, GET함수와 POST함수의 구별을 위해 각각 함수에 GET과 POST함수 실행이라는 걸 알려주는 print문을 작성했다.
아까와 같이 bruteforce.py파일과 server.py 파일을 동시에 실행시키면, server.py 터미널에서 다음과 같은 화면이 뜬다.

이렇게 실습을 해본것과 같이 패킷을 보낼 수 있다는 것이 요점이다.




profile
https://source-coding.tistory.com/

0개의 댓글