
이번엔 목표가 명확합니다. admin으로 로그인 하시오!!

이렇게 로그인 상태로 캡쳐해주면

HTML 폼 로그인이 아니라 브라우저 기본 인증(HTTP Basic Auth) 이라서 html로 로그인 비밀번호가 안잡힙니다.
그래서 페이지 소스나 Burp의 HTML 요청에 안 보이는 게 정상입니다.
대신 요청 헤더(Authorization) 로 왔다 갔다 합니다.
그리고 이건 base64로 encode 되어있습니다. 다시 풀어보면

이렇게 제가 로그인할떄 입력했던 아이디 비밀번호가 나옵니다.
자 그럼 비밀번호 리스트가 있었죠 한번 보겠습니다.

이게 비밀번호 리스트인데요. 그러면 질문 하나 Repeater로 하나하나 입력해야할까요?? 정답은 아닙니다. 이렇게 리스트가 많을때를 대비해서 아주 유용한 기능 하나가 있습니다. 바로 intruder라는 기능입니다.

이게 intruder인데요 한마디로 브루트포스? 할 수 있는 기능이라고 생각하시면 됩니다.

왼쪽에 admin:1234를 드래기 하고 add를 누르면 양쪽에 어떤 문양이 감쌀겁니다. 브루트포스 하려면 어떤걸 할건지 정해줘야하죠 그래서 저 문양이 감싼곳만 브루트포스 합니다.그러고 오른쪽에서 설정을 조금 해줘야하는데요.

이렇게 붙여넣기 해줍니다. 그리고 위에 사진 자세히 보시면 하나하나 공백이 다 있습니다. 그리고 그 공백을 없애줘야 하는데요.

바로 요 밑에 prosessing이라는 곳에서 가능합니다.

add누르고 match 메뉴 선택 그리고 \s+하면 모든 공백(스페이스/탭/개행) 제거하겠다는 뜻입니다.

그리고 비밀번호만 비교할 순 없으니 아이디도 비교 해줘야겠죠.

add prefix해서admin 그리고 : 이 기호까지 넣어줘야 제대로 잘 작동합니다.
그리고 마지막으로 애초에 요청 헤더(Authorization)이게 base64로 인코딩 되어 있었죠. 하지만 제가 붙여넣기한 비밀번호 리스트와 아이디는 encode가 되어있지 않죠?? 그래서 base64로 encode 해줘야 제대로 잘 작동합니다.

이렇게 하면 아주 편리하게 제가 일일히 encode 할 필요 없이 얘가 알아서 하나하나 encode 해줍니다.
아 그리고

이런 target이나

상황에 따라 이것도 취소 해줘야하는 상황이 생길수도 있습니다. 이게 켜져 있으면, Base64 값 끝의 = 같은 게 %3D 로 바뀔 수 있어서
Basic YWRtaW46cGFzc3dvcmQ%3D 이런 식으로 나가고, 이것도 깨집니다.
찾았습니다. 다른걸 다 401 264인데 얘 혼자만 200에 271이죠 제가 200은 정상이라고 그랬죠? 그래서 얘를 decode를 하면 비밀번호가 나옵니다.

비밀번호는 password123 이였네요. 이걸 제대로 입력하면

성공 메시지 나오고 이건 캡쳐 할 필요없이 f12 눌러서 개발자 모드로 보면 이렇게 flag가 나옵니다.

성공!!!!