Skip to content

Latest commit

 

History

History
59 lines (23 loc) · 2.11 KB

File metadata and controls

59 lines (23 loc) · 2.11 KB

첫번쩨, payload설정 방법

아래 이미지와 code를 보자

payload에는 각종 임의의 데이터를 입력하는 구간인데

username과 password를 무차별 대입하여 자동적으로 공격을 진행하는 소스코드라고 생각하면 된다.

payload = {"username": username, "new_password": password, "confirm_new_password": password}

그러면 해당 소스 코드를 실행하기 전에 Wireshark를 켜두고 소스 코드를 실행하면

아래 이미지와 같이 통신이 이루어지는 것을 확인 할 수 있다.

그러나 302 Found로 통신이 실패하고 리다이렉션이 되는데

이 부분은 '두번째, 세션을 유지하는 방법' 에서 다루고 우선 payload 설정 방법을 먼저 이야기 하자면

해당 통신을 보면 username과 password의 데이터 값을 임의로 돌리는 것이 보인다.

즉, 데이터 값을 변조 할 수 있는 것이다.

-> payload = {"username": username, "password": password}

GET과 POST에 따라 패킷 통신 값이 달라진다.

GET 일 경우 :

POST 일 경우 :

그러나 'requests.get'을 이용하여 하위 url로 수정을 하여도 통신은 정상적으로 이루어지지 않고 302 Found로 GET /login.php 파일이 있는 특정 주소로 리다이렉션이 이루어지는 것을 확인 할 수 있다.

그럼 어떻게 설정을 해야 302 Found의 에러가 안나고 정상적으로 통신이 이루어질까 그것에 관한 것은 '두번째, 세션을 유지하는 방법'에서 알아보자