본문 바로가기

보안공부

(72)
Suninatas 5번 풀이 오랫동안 활동하지 못했던 이유는 개인적인 사정으로 너무 바빳던 터에 블로그에 글을 올릴 시간이 없어서 그랬습니다.이제 점점 활동량을 늘리도록 노력해 보겠습니다. (믿어주세요) 그럼 이제 본격적으로 Suninatas 5번문제를 풀어봅시다.들어가니 뭔가 딱 값을 넣고 체크를 해봐야 편-안할것 같아 보이는 폼이 하나 있습니다. 그러나 값을 입력하고 CHECK버튼을 눌러도 아무런 반응이 없이 input에 입력한 데이터가 사라지기만 하는것을 볼 수 있습니다.웹해킹의 기초라 불리우는 관리자 도구를 이용하여 이 페이지의 코드를 확인해 보면 (예상대로)다음과 같이 주석으로 힌트가 숨겨져 있는것을 볼 수 있습니다. 그 값을 복사해서 input에 넣고 Check를 눌러보지만, 역시나 아무런 반응 없이 지워지기만 한다는것을..
Suninatas 2번 풀이 Suninatas 2번문제를 풀어봅시다.들어가니 왠 폼이 뜹니다. 뭔가 하고 폼부분 코드를 확인해보니 왠걸 스크립트가 있고, 버튼을 누를 경우 해당 스크립트를 실행하도록 설계되어 있었습니다. 스크립트 부분만 떼어낸 다음, 비교구문을 제거하고 개발자 도구의 console을 통해 overwrite해준 다음 id와 pw값을 같게 해주고 Join을 누르면 Authkey가 나온다. 문제 해결! sunintas.com 2번 문제 클리어!
Suninatas 1번 풀이 Suninatas 1번문제를 풀어봅시다.
Suninatas 4번 풀이 Suninatas 4번문제를 풀어봅시다.우리가 사용할 수 있는 버튼은 [Plus] 하나뿐이니 계속 연타해주면25에 도달했을 즈음에다음과 같은 alert창이 발생한다. 그리고 이 페이지의 코드를 확인해보면 처음에는 없던 주석이 생긴다.SuNiNaTaS로 50을 만들라는것 같다.문제에 User-agent값이 나와있던것으로 보아 User-agent를 SuNiNaTaS로 변조하여 보내주면 될것 같은 느낌이 들었다.피들러에 브릭포인트를 걸고 패킷을 잡아User-agent 헤더값을 SuNiNaTaS로 변조한 뒤최종 확인한 다음피들러가 지원하는 반복 보내기 기능(Replay - Reissue Sequentially)을 활용하여부족한 횟수인 25를 입력하고 브릭포인트를 풀어준 다음실행해주고사이트로 돌아가서 Plus 버..
SolveMe URL filtering 풀이 오늘은 URL filtering 문제를 풀어보자. 이 문제에서는 다음과 같은 코드를 주었다. 우리는 GET 메소드를 통해 do_you_want_flag로 yes라는 값을 보내야 하기에 /?do_you_want_flag=yes 라는 페이로드와 함께 올려야 하는데 하지만 필터에 의해 다음과 같이 필터된다.하지만, 먼저 필터에 들어가기 전에 다음과 같은 코드를 확인할 수 있을것이다.$url_query = parse_url($url, PHP_URL_QUERY); 이 함수(parse_url)에는 취약점이 있다.이 취약점에 대한 자세한 정보는 http://skysec.top/2017/12/15/parse-url%E5%87%BD%E6%95%B0%E5%B0%8F%E8%AE%B0/ 에서 확인할 수 있다. 따라서 /를 하..
webhacking.kr 47번 문제 풀이 오늘은 47번 문제를 풀어보자. 문제를 읽어보니 메일 헤더 인젝션을 통해 플래그를 얻는것 같다. 이 문제에서 제공해준 코드를 읽어보니 다음과 같았다. 받아온 값에 From: 을 붙혀 아무런 필터 없이 그대로 메일을 전송하는 것이다.이렇게 된다면 참조자(cc)를 넣었을때도 메일이 정상적으로 발송된다는 결과가 나온다.따라서 데이터 교환을 수정하여 참조자(cc)를 추가하여 전송해보자. 원래는 다음과 같이 값이 넘어간다. 하지만 이제 저 값에 Cc를 추가해서 보내보자. 위와 같이 전송하니 답이 나왔다. WEBHACKING.KR 47번 문제 클리어!
webhacking.kr 33번 문제 풀이 오늘은 33번 문제를 풀어보자. 문제를 열자마자 다음과 같은 화면이 반겨준다. 제공해준 코드를 확인해보니 GET메소드을 통해 넘겨받은 get이 hehe이면 다음으로 넘겨주는것 같다. 그래서 문제가 코드가 요구하는대로 했더니 문제는 해결되었다. 2단계 문제가 나왔다. 주어진 코드를 확인했더니 이번에는 post 메소드를 통해 post에 hehe를, post2에 hehe2를 담아서 보내라 한다. JS로 가상의 폼을 만들어 전송할 수 있지만 귀찮으니까 HTML 수정을 감이해 보내보자. 위처럼 코드를 작성하여 Submit 버튼을 누르니 풀렸다. Next를 눌렀더니 3단계가 나왔다. 제공해준 코드를 확인해보니 get 메소드를 통해 myip에 내 아이피 주소를 담아 전송해주면 되는것 같다. 따라서 요구대로 해줬더니 ..
webhacking.kr 32번 문제 풀이 오늘은 32번 문제를 풀어보자. 처음 들어갔을 때 내 이름이 없었다.그래서 아래로 내려보니 Join 버튼이 있었다. 이 버튼을 누르니 내 닉네임이 팝업창으로 뜨며 랭킹에 이름이 올라갔다. 그리고 랭킹에 올라간 내 이름을 누르니 0에서 1로 올라갔다. 그래서 뭔가 100 채우면 인증될것 같아서 한번 더 눌러보았더니 다음과 같은 팝업이 뜨며 값이 올라가지 않았다. 혹시나 하는 마음에 쿠키값을 확인했더니 못보던 값을 찾았다. 그래서 이 못보던 값을 삭제해주고 다시 눌러주니 값이 증가했다. 두번 해보고 찍어서 3인거에요 읍읍 코드를 확인해보니 hit값에 있는 닉네임의 값의 숫자를 올려주는 모양이다.그래서 vote_check값을 제거한 후 /challenge/codeing/code5.html?hit=jeongjy..