분류 전체보기
-
webhacking.kr 문제 6번 풀이web/webhacking.kr 2019. 6. 7. 17:20
webhacking.kr 6번 문제를 풀어보도록 하겠습니다. 문제 풀기에 앞서 base 64를 알아보도록 하겠습니다. (위키"base64") 우선 코드를 살펴보면 cookie user의 id와 pw가 있는 것을 유추할 수 있습니다. 그리고 base64로 인코딩을 반복문을 통해 20번 하는 것을 볼수 있습니다. PHP의 str_replace함수를 통해 숫자가 있으면 특수 문자로 바꾸는 것을 볼수 있습니다. // ex) str_replace("1","!","hi1") --> "hi!" 밑에 캡처는 디코딩을 하는걸로 보입니다 그렇게 해서 쿠키의 user id와 pw가 admin으로 20번 암호화한 것을 쿠기에 넣어야 해결되는 거 같다. 저는 현제 파이썬을 조금씩 공부하기에 파이썬으로 코드로 해결했습니다. 근데..
-
webhacking.kr 문제 4번 풀이web/webhacking.kr 2019. 6. 7. 16:44
webhacking.kr 4번 문제를 풀어보도록 하겠습니다. 먼저 4번 문제에 들어오게 되면 이런 이해 안 되는 문장이 나오게 되며 우리는 이것을 해결해야 합니다. 우선 이 문장을 잘 보시면 마지막에 "=="을 보실 수 있습니다. 이것은 base64만의 특징이라 할수 있습니다. ^^ 따라서 위 암호문을 base64로 디코딩 해줍니다. 하게 되면 아래와 같이 또 풀리지 않은 암호문이 나옵니다. 여기서부터가 문제였습니다. 방대한 암호 방법 중 무엇을 써야 하나 고민이었습니다. 저는 대학교에서 암호학을 배워 대략 40바이트 였기에 sha-1(해쉬 함수)을 사용했습니다. //음... 제가 암호학을 배우지 않았다면 디코더 싸이트에 들어가 모든 디코더 시도를 해보았을 것입니다.^^: 이렇게 base64를 한번한 암..
-
webhacking.kr 문제 16번 풀이web/webhacking.kr 2019. 5. 15. 16:08
webhacking.kr 16번 문제를 풀어보도록 하겠습니다. 먼저 16번 문제에 들어오게 되면 '*'을 볼 수 있습니다. 그리고 스크립트 태그에 문제를 해결할 방법이 있습니다. 저는 이 문제를 풀며 숫자는 아마 아스키코드 일거라는 확신을 가졌고 vm 함수의 위 4개의 if문과는 다르게 한 개의 if문은 페이지 위치를 지정할 수 있기에 124번 아스키코드를 확인해 보았습니다. //아스키 124는 '|'입니다 ( | = shift +\(보통 엔터기 바로 위 키)) 이 키를 누르게 되면 패스워드가 나오게 됩니다. 이 패스워드를 auth에 입력하면... 16번 문제를 해결할 수 있습니다. 이렇게 16번 문제를 해결해 보았습니다.
-
webhacking.kr 문제 12번 풀이web/webhacking.kr 2019. 5. 15. 15:52
webhacking.kr 12번 문제를 풀어보도록 합시다. 먼저 12번 문제에 들어오면 이렇게 스크립트 태그 안에 이렇게 무수히 많은 수를 보실 수 있습니다. 이 수는 아스키 코드로 해석해야 할거 같습니다. 하지만 이런 수작업을 console로 처리할 수 있습니다. //콘솔 기능은 F12를 누르고 console로 들어오시면 됩니다. 숫자들을 해석했더니 코드가 나옵니다. 패스워드를 확인하기 위해 alert 내용을 봅시다. 보시게 되면 ck 변수가 중요하다는 것을 볼 수 있습니다. 그런데 ck는 선언되길 URL에서 '='부터해서 만들어진 것이 저장된다는 것을 알 수 있습니다. 그런데 if 문 에 ck==~~이 있는데 해석하기 힘들게 숫자로 되있습니다. 이 것 또한 콘솔로 처리하면... 코드를 보여줍니다. c..
-
webhacking.kr 문제 15번 풀이web/webhacking.kr 2019. 5. 15. 15:28
webhacking.kr 15번 문제를 풀어보도록 합시다. 먼저 15번 문제에 들어오면 이렇게 접근 제한이 되는 것을 보실 수 있습니다. 그 후 이전 페이지로 돌아가면서 잠시 패스워드를 보여주지만 보다 확실하게 하기 위해 버프 스위트를 이용했습니다. html 코드를 보시면 경고창으로 접근 제한을 해놓고, 현제 페이지의 바로 전 페이지로 이동하는 history메서 드를 사용한걸 보실수 있습니다. 그 후 패스워드를 출력합니다. 그 패스워드를 auth에 입력해 줍니다. 이렇게 15번 문제를 해결해 보았습니다.
-
webhacking.kr 문제 14번 풀이web/webhacking.kr 2019. 5. 6. 16:28
webhacking.kr 14번 문제를 풀어보도록 합시다. 아무 설명 없이 text를 쓸 수 있는 공간과 버튼만 존재합니다. 그래서 F12로 코드를 보았습니다. 우선 이름이 "pw"인 폼 태그에 패스워드를 입력할 수 있는 input 태그와 이벤트를 발생시킬 수 있는 버튼 타입의 input 태그가 존재 했습니다. 그래서 "ck()"라는 이벤트를 확인해보기 위해서 script 태그를 보았습니다. 보게 되면 document.URL을 ul 이라는 변수에 저장한다고 합니다. 그렇게 되면 ul = http://www.webhacking.kr/ch.... 이 렇게 저장이 될 것입니다. (여기서 http://www 생략된 것을 포함해야 합니다.)그러고 나서 다시 ul.indexOf(".kr")을 ul에 저 장하게 됩니..
-
webhacking.kr 문제 32번 풀이web/webhacking.kr 2019. 5. 6. 16:05
webhacking.kr 32번 문제를 해결해 보도록 하겠습니다. 처음 들어오게 되면 아래와 같은 화면을 보실 수 있습니다. 그리고 스크롤을 끝까지 내리게 되면 Join이라는 버튼이 있습니다. 그렇기 때문에 버튼을 눌러줍니다. 그럼 아래와 같이 아이디(NAME부분)가 작은 창에 뜨는 것을 볼수 있습니다. 그럼 아래와 같이 자신의 아이디(NAME부분)가 등록된 것을 볼 수 있습니다. 그리고 자신의 아이디를 클릭하면 수가 하나 증가 하는 것을 볼 수 있습니다. 하지만 이후 클릭을 하면 no라는 창이 나오며 올라가지 않습니다. 왜냐하면 vote_check라는 쿠키에 ok라는 값으로 투표 를 했다는 것이 남기 때문입니다. 따라서 저는 vote_check라는 쿠키를 금지시켰습니다. 그 후 저는 제 NAME을 계속..
-
webhacking.kr 문제 52번 풀이web/webhacking.kr 2019. 4. 27. 11:46
webhacking.kr 52번 문제를 풀어보도록 합시다. 문제의 웹 페이지입니다. 헤더 인젝션 이라고 나와있습니다. 또한 클리어 조건이 걸려 있는 것을 볼 수 있습니다. id와 clear 두 가지를 다 만족해야 합니다. 첫 번째 헤더 생성을 하면 아래와 같이 url에 GET메서드를 이용하는 id값이 자동 생성이 됩니다. 이제 클리어 부분만 우리가 작성하면 됩니다. 따라서 저는 줄바꿈 코드인"\n"을 넣고 clear부분을 복사 붙여 넣기 해서 성공했습니다. 이렇게 52번 문제를 해결해 보았습니다.