2019. 1. 4. 19:00ㆍWeb Hacking/Webhacking.kr
안녕하세요!
오늘은 비교적 쉬운 100점짜리 문제인
6번 문제를 풀어보도록
하겠습니다!!
자 문제 6번을 클릭하면 아래와 같이 뜨네요!
(1) hint가 base 64 (=암호화 방식중 하나죠)
(2) index.phps (당연히 여기 접소해봐라, 코드 있을꺼다)
(3) ID: admin,PW: admin 둘다 admin이여야 한다
이 정도 힌트네요!
자 그럼 힌트 2번에서 알려준대로!
현재 url창 주소 뒤에 index.phps를 추가적으로
입력하고 소스를 보도록 해요!
소스가 좀 길어서
편의상 두 부분으로 split 했습니다!
우선 한 줄씩 해석하자면,
if(!$_COOKIE[user]) = 쿠키에서 user가 없으면
val_id와 val_pw를 각각
guest와 123qwe로 설정하겠다!
그리고 for문을 20번 도네요!
i=0부터 19까지니까 = 20번
근데 for문이 1번씩 돌면서 뭐하냐?
val_id와 val_pw를
각각 base64 인코딩하네요!
즉, id와 pw를 20번 base64 인코딩한다!
그 이후에는 base64 인코딩 완료된
val_id와 val_pw를
str_replace함수에 넣습니다!
str_replace 함수는
사용자가 지정한 문자가 검출되면
다른 문자로 바꿔주는 함수입니다!
1이면 !
2면 @
3이면 $
.....
8이면 )
val_id, val_pw
모두에 해당되네요!
그리고 마지막에
SetCookie함수로
user에 val_id
password에 val_pw를 넣고 끝냅니다!
자 이제 이 경우는 COOKIE[user],COOKIE[password]가
존재하는 경우입니다!
왜냐?
(1) 일단 앞의 경우가 !COOKIE[user] 였으니 (쿠기가 없을 때)
(2) 여기서는 COOKIE[user]값을 decode_id 변수에 넣는데
COOKIE[user] 값이 없으면 (상식적으로) null이나 빈칸밖에 안들어가는데.....
그걸 가지고 뭘, 그리고 어떻게 decode합니까??
근데 여기는 id와 pw 변수를
str_replace부터 시키네요!
str_replace는 제가 좀 전에 설명하였으니
이번엔 패쓰 하겠습니다!
근데 이 str_replace라고 같은 게 아니에요!
이거는 특수문자만 숫자로 바꿔주는
str_replace에요!!!
그리고 밑에 보면 for문이 위에서와 같이 20번
도네요!!!
이번에는 for문이 한 번씩 돌 때마다,
decode를 매번 해요!
그렇게 20번 decode해서 밑에
if($decode_id=="admin" && $decode_pw="admin")
이면 문제가 풀리네요!
이것은 "쿠키값을 20번 base64로 decode해서 id와 pw가 admin으로 풀리면 인정"
뭐 이런 식으로 이해 할 수 있겠네요!
자 그러면 저희는 쿠키값을 입력해줄꺼기 때문에
쿠기값이 없을때 코드는 무시해도 되겠죠?
아무것도 입력하지 않았을때만
그 코드가 실행되니 말이죠!
자 그러면 20번 해독해서 admin이 나오도록하려면
20번 인코딩해주면 되겠죠?
뭐로?
base64로요 ㅎㅎ
그래서 webhacking.kr 페이지 가서
저기 창에 admin을 입력하고 ->base64버튼을 클릭!
물론 이걸 20번 클릭해야합니다
(금방되던데요?!)
자 그렇게 20번을 클릭하게되면 매우 긴 문자열이 나옵니다!
일단 이것을 복사해서
메모장에 옮겨보도록 할게요!
너무 길어서요!
자 이제 이걸 쿠키 값 id,pw에 입력하면 되는데
저희가 마지막으로 신경써야하는거!
str_replace에 걸릴수도 있는거
안 잊으셨죠?
위에서 쿠키값이 존재하면 제일먼저
디코딩이 아니라 str_replace부터
하잖아요!!
그러니까 특수문자가 혹시 있나 찾아봅니다!
저는 ctrl+f해서 저렇게 일일이 문자가 있나
찾아보았습니다!
근데 결과에 모두 "찾을 수 없습니다."
라고 떳네요!
그래서 이걸 editthiscookie 툴을 사용해서
password 부분과
밑에 있는 user 부분에
메모장에 복사한 값을 붙여 넣으면!
문제가 풀리게 됩니다!!!
생각보다 쉬운 문제였네요!
고생하셨습니다!
'Web Hacking > Webhacking.kr' 카테고리의 다른 글
[어설픈] webhacking.kr 23번 문제풀이 (0) | 2019.01.07 |
---|---|
[어설픈] webhacking.kr 25번 문제풀이 (0) | 2019.01.07 |
[어설픈] webhacking.kr 1번 문제풀이 (0) | 2019.01.03 |
[어설픈] webhacking.kr 26번 문제풀이 (0) | 2019.01.02 |
[어설픈] webhacking.kr 24번 문제풀이 (0) | 2019.01.01 |