쿠키 탈취/변조하기

세바님·2024년 4월 18일
0

서론

오늘은 쿠키와 관련된 문제를 풀었습니다.
글을 임시저장만 해놓고 출간을 안해서,,, 밀려버렸습니다(...)

Dreamhack.io simple-web-request

들어가보니 이런 화면이 나옵니다.

백엔드 코드를 확인하니
param에 getget, param2에 rerequest를 입력해주면 리다이렉트 된다는걸 확인했습니다.
입력을 해 주니
다음화면이 나옵니다. 다시 백엔드 코드를 확인하니
param에 pooost, param2에 requeeest를 입력해주면 플래그를 렌더링한다는걸 확인햇습니다.
입력해주니 정답이 잘 나오네요 으하하

webhacking.kr old-15

들어가니까 바로 빠꾸당하네요

일단 js부터 꺼줬습니다.

개발자 도구로 소스를 확인하니

이런 js코드가 있습니다.
js를 다시 허용해주고 ?getFlag 경로를 입력해서 가주니 문제가 풀리는 모습입니다.

webhacking.kr old-01

들어가보니 이런 화면이네요.

소스코드를 확인하니

이런 모습입니다. user_lv 라는 이름의 쿠키 값을 4 미만 3 초과인 값으로 바꿔주면 되겠네요.

해결. 굿

webhacking.kr old-24

이번에도 소스코드를 봅니다

대충 REMOTE_ADDR 이라는 쿠키값을 replace문을 통과해서 127.0.0.1이 되도록 해줘야 하는 것 같아 보이네요
REMOTE_ADDR10.270...00...00...1 을 넣어줍니다.
이유는 다음과 같습니다.
10.270...00...00...1 ->
str_replace("..",".") -> 10.270..00..00..1
str_replace("12","") -> 10.270..00..00..1
str_replace("7.","") -> 10.270..00..00..1
str_replace("0.","") -> 127.0.0.1

아무튼 이렇게 넣어주고 새로고침하면 해결

webhacking.kr old-32

처음 화면부터 심상치가 않습니다.

보니까 이름을 클릭하면 투표가 되고, 투표 여부를 쿠키로 관리하네요.
아마 본인 이름의 Hit를 100을 넘겨야 하는 것 같습니다.

그냥 일일히 쿠키 지우고 할 수도 있겠지만 저는 편하게 파이썬으로 request 날려서 했습니다.

import requests

URL = "https://webhacking.kr/challenge/code-5/?hit=닉네임"

for i in range(100):
    response = requests.get(
        URL, headers={"cookie": "PHPSESSID=아이디"}, verify=False
    )

100번날리니까 풀리네요 굿

profile
꼴리는대로 사는게 꿈입니다

0개의 댓글