웹해킹
-
Challenge 24webhacking.kr 2017. 6. 4. 16:05
24번 문제입니다. 100점. 접속하면 덩그러니 IP와 UA가 뜨고 Wrong IP!가 맞이해 주네요. 이거보고 ZAP 세팅했더니 아니었다. 침착하게 소스를 봅시다 index.phps 접속 $REMOTE_ADDR (PHP) 으로부터 IP를 쿠키에 저장하여 처리 후에 127.0.0.1이면 통과입니다. 한번 넣어봤습니다. 처음 넣을때는 생각없이 진심이었습니다. 1만 남아있네요. 다시 코드를 보면.. str_replace를 이용해 문자를 치환해줍니다. 127.1.이 보이면 지워버리는 듯 합니다. 친절하게 7과 1에는 점까지 같이 지워주네요. 덕분에 간단합니다. 넣어주면 중간의 12 7. 0. 0. 이 삭제되어 127.0.0.1이 됩니다. Clear!
-
Challenge 6webhacking.kr 2017. 6. 4. 15:18
6번 문제입니다. 배점은 100점. base64 문제라고 친절하게 알려주네요.ID와 PW가 나타나 있네요. index.phps를 봅시다 (인코딩 부분) (디코딩/인증 부분) 대충 요약하면IF 쿠키가 비어있다면 id와 pw 변수를 만든 후 base 64로 20번(...) 인코딩. 그 뒤에 치환하고 쿠키에 저장합니다.이후 역순으로 디코딩 한 후 id와 pw가 admin 이면 통과군요. 그러니 우선 admin 문자열을 base64로 20번 인코딩합니다.방법은 자유롭게 웹 인코더를 20번 돌리셔도 되고 프로그램 짜셔도 되고 아! 홈에 있는 인코더를 쓰셔도 됩니다. 저는 파이썬을 사용했습니다. 제대로 쓰지도 못하는 파이썬에서 뿜어져 나오는 문자열 오류 찾느라 삽질했습니다.이러면 base64 인코딩은 끝. 치환하면..
-
Challenge 1webhacking.kr 2017. 6. 4. 14:18
1번 문제입니다. 점수는 후한 200점 index.phps를 들어가봅시다. user_lv 쿠키 값을 비교해서 6이상이면 1로 초기화 시키고, 5보다 크면 성공입니다. 쿠키를 볼 수 있는 방법은 다양하니 아무거나 좋은대로.. 여기서는 크롬 확장프로그램 EditThisCookie를 사용했습니다.1로 지정되어 있군요. 자유롭게 바꿀 수 있습니다.여기서 문제. 5이상 6미만의 수는 무엇이 있을까요? 멍청해서 잠깐 그런거 있나 고민함 당연히 실수도 됩니다. 보통 답 가리는데 의미가 없어서.. 5이상 6미만의 수 아무거나 지정해주고 저장한 후 새로고침 해줍시다. 성공!
-
Challenge 26webhacking.kr 2017. 5. 18. 18:52
26번 문제입니다. 배점은 100점 실력없어서 쉬운 문제만 들어가봅시다. 소스를 보라는군요 if 문을 보면 GET으로 얻은 id 값이 admin이면 no!를 출력하고, 아닐경우 URL 디코딩 하여 admin이면 정답처리합니다. admin을 입력해볼까요 안되는군요. 그러면 admin을 URL 인코딩 해봅시다. 그러나 기본적으로는 숫자, 알파벳은 URL 인코딩에서 제외되기 때문에 (URL-safe 하므로 인코딩할 필요가 없음) Force full url encoding을 해야 합니다. 툴을 찾아서 돌리셔도 됩니다. 아마 찾기 어려울걸요 그냥 ASCII 코드로 변환하면 됩니다. a d m i n 은 아스키 코드로 각각 61 64 6D 69 6E 입니다.URL 코드로 하면 %61%64%6D%69%6E이제 이걸 ..
-
Challenge 17webhacking.kr 2017. 5. 17. 23:23
문제 푸는데 순서따윈 없다. 17번 문제입니다. 점수는 100점. 접속하면 요놈이 덩그러니 맞이해 줍니다. 당연하게 소스보기 입력값이 unlock이랑 같으면 비밀번호는 unlock/10 이라는 팝업창을 띄워줍니다. 그러면 저 식을 계산해야겠죠? 자바스크립트 콘솔을 쓰시던가, 프로그램을 돌리셔도 되고, 울프럼 알파를 쓴다던가 손으로 계산하던가, 암산하던가 해서 자유롭게 계산하면 됩니다. 저는 시작 메뉴에 있던 파이썬 콘솔을 쓰겠습니다. 계산기로 아주 좋습니다. 진짜로. unlock 값이 나왔습니다. 답은 스포방지 미래의 나야 직접 풀으렴 제발. 입력하면 당연히 /10 한 값을 알려주고, 문제 안에 답을 넣을 곳이 없으니 Auth 가서 제출합시다. Clear!