webhacking Webhacking.kr old 14번 Writeup 오늘은 Webhacking.kr의 14번 문제를 한번 풀어보겠습니다. 문제 사이트에 접속을 해보면 무언가의 입력을 받고 값을 check해서 그에 맞는 결과 값을 return해주는 것을 보여주고 있습니다. 제일 먼저 개발자모드(F12)로 들어가서 홈페이지의 소스코드를 확인해주겠습니다. 소스코드를 자세히보면 자바스크립트 코드가 있는 것을 확인할 수 있습니다. 해당 소스코드를 분석해보면 아래와 같... webhackingwebhacking.krCTFsCTFs Webhacking.kr old 54번 Writeup 오늘은 Webhacking.kr의 54번 문제를 한번 풀어보도록 하겠습니다. 일단 문제 사이트에 접속을 해주겠습니다. 사이트에 접속을 해보면 Password is ?라고 해서 뒤에 문자열이 계속 바뀌는 것을 알 수 있습니다. 즉, 빠르게 이동하는 이것이 우리가 원하는 FLAG라는 것을 알 수 있습니다. 그렇기 때문에 이를 천천히 받기만 하면 FLAG를 얻을 수 있다는 것을 대충 예상해볼 수 ... webhackingwebhacking.krCTFsCTFs Webhacking.kr old 01번 Writeup Webhacking.kr old1번 문제를 풀어보자 문제에 접속해서 젤 먼저 코드를 보면 PHP로 작성된 것을 볼 수 있다. 해당 소스코드를 해석해보면 user_lv가 4미만 3.1이상일 때 solve(1) 즉, 문제가 풀어진다는 것을 알 수 있다. 그럼 크롬의 개발자 도구를 이용해서 4로 기본 설정된 쿠키 값 (user_lv)을 3.1~3.9 사이의 값으로 변경해준다. 그 다음에 메인페이지... webhackingwebhacking.krCTFsCTFs Webhacking.kr old 17번 Writeup 오늘은 Webhacking.kr의 17번 문제를 한번 풀어보도록 하겠습니다. 문제 사이트에 접속해보면 저번에 풀었던 14번 문제와 마찬가지로 무언가 값을 입력받아서 그 값을 check하고 그 값이 맞으면 solve를 하는 것을 알 수 있습니다. 제일 먼저 개발자모드(F12)를 열어서 소스코드를 확인해주면, 자바 스크립트 코드가 있는 것을 확인할 수 있습니다. 자바 스크립트 코드는 다음과 같습... webhackingwebhacking.krCTFsCTFs Lord of SQL Injection Cobolt Writeup 오늘은 Lord of SQL Injection의 문제인 Cobolt를 풀어보도록 하겠습니다. 일단 문제에 접속해주면 아래와 같은 소스코드를 확인할 수 있습니다. 해당 소스코드를 분석하면 우리가 어떻게 SQL Injection을 수행해야 하고 필터링 처리를 피해서 어떻게 Exploit을 성공시킬지를 알 수 있습니다. 소스코드를 분석해본 결과 if문의 preg_match함수에서 '(싱글쿼터)와 ... webhackingCTFsLord of SQL InjectionCTFs webhacking.kr 38번, 39번, 54번 풀이 우선 38번은 추론 능력이 조금 필요했던 것 같고(추론이라고 거창하게 말하지만 엄청 쉬웠다><) 39번은 치환 문제였으며, 54번은 간단했지만 코드 해석 및 수정할 때 약간 헷갈리는 부분이 있었다. 그냥 1을 입력했는데 아무 일도 일어나지 않았고, 그래서 개발자 도구를 열어보니 admin.php로 이동하라는 내용이 주석처리 되어있는 걸 확인할 수 있었다. 그래서 그냥 뭔가 1 대신 admin... 워게임webhackingwebhacking webhacking.kr 3번, 8번, 29번 풀이 디자인이 더 멋있어지고 새로운 문제들도 점점 생기는 것 같아서 좋은데 문제 배점이 350점짜리가 35점이 되니 기분이 괜히.. 여기서 answer 옆에 ' or 1=1--(공백) 을 추가한 후 포워딩시키면 문제가 해결된다. agent와 HTTP_USER_AGENT가 같지 않을 경우에는 agent, ip, guest 값을 넣어준다. 위처럼 입력해줄 수 있고 아니면 julia','1','admi... webhacking워게임webhacking webhacking.kr 19번, 20번 ,23번 ,25번 풀이 앞서 풀었던 200점짜리 문제들이 그렇게 쉬웠는데 개인적으로 19번 어려웠다ㅜㅜ admin으로 로그인을 하면 되는데 그냥 admin을 입력하니까 안돼서 혹시 sql injection인가 싶어 1을 입력하고 url을 확인했다. 로그인이 되었는데 url이 바뀌지 않았다는게 이상해서 쿠키값을 확인해봤더니 YzRjYTQyMzhhMGI5MjM4MjBkY2M1MDlhNmY3NTg0OWI%3D 이런 값이... webhacking워게임webhacking webhacking.kr 24번, 26번 풀이 1주차 마지막 두 문제들!! 개인적으로 24번 문제 스타일이 재밌다. 뭔가 내가 replace되는 값을 거꾸로 생각하는? 그런 유형을 좋아하는 것 같기도ㅎㅎ 26번은 생각보다 어려웠고 브라우저와 php에 대한 새로운 개념을 알게 해준 문제였다. 대충 REMOTE_ADDR 값이 존재한다면 특정 문자들을 치환해서 저장하고 ip가 127.0.0.1이면 문제가 해결된다는 뜻. 개발자 도구를 확인해보... webhacking워게임webhacking webhacking.kr 1번, 10번, 12번 풀이 드디어 200점대로 진입했다 오예!! 다시 1번으로 돌아왔으니 초심도 되찾고 열심히 풀어보기로 했다ㅎㅎ (다 풀고나서 깨달았는데 12번이 이번주차 문제가 아니었는데 혼자 착각하고 풀어버렸다ㅜㅜ) 💡 1번 문제 풀이 1번 php 소스코드를 보면 개발자 도구를 열어 쿠키값을 확인해야겠다는 생각이 먼저 든다. 확인해 보면 user_lv가 이미 등록되어있고 값은 1로 설정되어있다. 이 값이 5보다 ... 워게임webhackingwebhacking webhacking.kr 36번, 42번, 58번, 59번 풀이 Please help me recover." 라고 써있었고 recover해야 하기 때문에 포렌식 도구를 사용해야 한다는 걸 알 수 있다. vi가 숨김파일이라는 것은 알고 있었지만 '.파일이름.파일확장자.swp'의 경로로 저장되어 있다는 점은 몰랐다. 실제로 '.index.php.swp'를 주소에 입력해보니 한 파일이 바로 다운받아졌다. html 코드 안에 download 링크 코드를 보면, ... 워게임webhackingwebhacking webhacking.kr 46번, 49번, 56번, 60번 풀이 소스코드를 보면, addslashes 라는 부분이 있는데, 이 함수는 문자열 안의 특수문자가 잘 인식되도록 역슬래시를 추가해주는 함수이기 때문에 이 코드에서는 특수문자인 쿼터를 이용한 공격이 통하지 않는다. 즉 이 문제에서는 ' 공백 / * % select 0x limit cash 이런 문자들을 필터링하고 있는 것이다. 따라서 쿼리문을 작성할 때 이 문자들을 포함시키면 안되기 때문에 lv=0... webhacking워게임webhacking
Webhacking.kr old 14번 Writeup 오늘은 Webhacking.kr의 14번 문제를 한번 풀어보겠습니다. 문제 사이트에 접속을 해보면 무언가의 입력을 받고 값을 check해서 그에 맞는 결과 값을 return해주는 것을 보여주고 있습니다. 제일 먼저 개발자모드(F12)로 들어가서 홈페이지의 소스코드를 확인해주겠습니다. 소스코드를 자세히보면 자바스크립트 코드가 있는 것을 확인할 수 있습니다. 해당 소스코드를 분석해보면 아래와 같... webhackingwebhacking.krCTFsCTFs Webhacking.kr old 54번 Writeup 오늘은 Webhacking.kr의 54번 문제를 한번 풀어보도록 하겠습니다. 일단 문제 사이트에 접속을 해주겠습니다. 사이트에 접속을 해보면 Password is ?라고 해서 뒤에 문자열이 계속 바뀌는 것을 알 수 있습니다. 즉, 빠르게 이동하는 이것이 우리가 원하는 FLAG라는 것을 알 수 있습니다. 그렇기 때문에 이를 천천히 받기만 하면 FLAG를 얻을 수 있다는 것을 대충 예상해볼 수 ... webhackingwebhacking.krCTFsCTFs Webhacking.kr old 01번 Writeup Webhacking.kr old1번 문제를 풀어보자 문제에 접속해서 젤 먼저 코드를 보면 PHP로 작성된 것을 볼 수 있다. 해당 소스코드를 해석해보면 user_lv가 4미만 3.1이상일 때 solve(1) 즉, 문제가 풀어진다는 것을 알 수 있다. 그럼 크롬의 개발자 도구를 이용해서 4로 기본 설정된 쿠키 값 (user_lv)을 3.1~3.9 사이의 값으로 변경해준다. 그 다음에 메인페이지... webhackingwebhacking.krCTFsCTFs Webhacking.kr old 17번 Writeup 오늘은 Webhacking.kr의 17번 문제를 한번 풀어보도록 하겠습니다. 문제 사이트에 접속해보면 저번에 풀었던 14번 문제와 마찬가지로 무언가 값을 입력받아서 그 값을 check하고 그 값이 맞으면 solve를 하는 것을 알 수 있습니다. 제일 먼저 개발자모드(F12)를 열어서 소스코드를 확인해주면, 자바 스크립트 코드가 있는 것을 확인할 수 있습니다. 자바 스크립트 코드는 다음과 같습... webhackingwebhacking.krCTFsCTFs Lord of SQL Injection Cobolt Writeup 오늘은 Lord of SQL Injection의 문제인 Cobolt를 풀어보도록 하겠습니다. 일단 문제에 접속해주면 아래와 같은 소스코드를 확인할 수 있습니다. 해당 소스코드를 분석하면 우리가 어떻게 SQL Injection을 수행해야 하고 필터링 처리를 피해서 어떻게 Exploit을 성공시킬지를 알 수 있습니다. 소스코드를 분석해본 결과 if문의 preg_match함수에서 '(싱글쿼터)와 ... webhackingCTFsLord of SQL InjectionCTFs webhacking.kr 38번, 39번, 54번 풀이 우선 38번은 추론 능력이 조금 필요했던 것 같고(추론이라고 거창하게 말하지만 엄청 쉬웠다><) 39번은 치환 문제였으며, 54번은 간단했지만 코드 해석 및 수정할 때 약간 헷갈리는 부분이 있었다. 그냥 1을 입력했는데 아무 일도 일어나지 않았고, 그래서 개발자 도구를 열어보니 admin.php로 이동하라는 내용이 주석처리 되어있는 걸 확인할 수 있었다. 그래서 그냥 뭔가 1 대신 admin... 워게임webhackingwebhacking webhacking.kr 3번, 8번, 29번 풀이 디자인이 더 멋있어지고 새로운 문제들도 점점 생기는 것 같아서 좋은데 문제 배점이 350점짜리가 35점이 되니 기분이 괜히.. 여기서 answer 옆에 ' or 1=1--(공백) 을 추가한 후 포워딩시키면 문제가 해결된다. agent와 HTTP_USER_AGENT가 같지 않을 경우에는 agent, ip, guest 값을 넣어준다. 위처럼 입력해줄 수 있고 아니면 julia','1','admi... webhacking워게임webhacking webhacking.kr 19번, 20번 ,23번 ,25번 풀이 앞서 풀었던 200점짜리 문제들이 그렇게 쉬웠는데 개인적으로 19번 어려웠다ㅜㅜ admin으로 로그인을 하면 되는데 그냥 admin을 입력하니까 안돼서 혹시 sql injection인가 싶어 1을 입력하고 url을 확인했다. 로그인이 되었는데 url이 바뀌지 않았다는게 이상해서 쿠키값을 확인해봤더니 YzRjYTQyMzhhMGI5MjM4MjBkY2M1MDlhNmY3NTg0OWI%3D 이런 값이... webhacking워게임webhacking webhacking.kr 24번, 26번 풀이 1주차 마지막 두 문제들!! 개인적으로 24번 문제 스타일이 재밌다. 뭔가 내가 replace되는 값을 거꾸로 생각하는? 그런 유형을 좋아하는 것 같기도ㅎㅎ 26번은 생각보다 어려웠고 브라우저와 php에 대한 새로운 개념을 알게 해준 문제였다. 대충 REMOTE_ADDR 값이 존재한다면 특정 문자들을 치환해서 저장하고 ip가 127.0.0.1이면 문제가 해결된다는 뜻. 개발자 도구를 확인해보... webhacking워게임webhacking webhacking.kr 1번, 10번, 12번 풀이 드디어 200점대로 진입했다 오예!! 다시 1번으로 돌아왔으니 초심도 되찾고 열심히 풀어보기로 했다ㅎㅎ (다 풀고나서 깨달았는데 12번이 이번주차 문제가 아니었는데 혼자 착각하고 풀어버렸다ㅜㅜ) 💡 1번 문제 풀이 1번 php 소스코드를 보면 개발자 도구를 열어 쿠키값을 확인해야겠다는 생각이 먼저 든다. 확인해 보면 user_lv가 이미 등록되어있고 값은 1로 설정되어있다. 이 값이 5보다 ... 워게임webhackingwebhacking webhacking.kr 36번, 42번, 58번, 59번 풀이 Please help me recover." 라고 써있었고 recover해야 하기 때문에 포렌식 도구를 사용해야 한다는 걸 알 수 있다. vi가 숨김파일이라는 것은 알고 있었지만 '.파일이름.파일확장자.swp'의 경로로 저장되어 있다는 점은 몰랐다. 실제로 '.index.php.swp'를 주소에 입력해보니 한 파일이 바로 다운받아졌다. html 코드 안에 download 링크 코드를 보면, ... 워게임webhackingwebhacking webhacking.kr 46번, 49번, 56번, 60번 풀이 소스코드를 보면, addslashes 라는 부분이 있는데, 이 함수는 문자열 안의 특수문자가 잘 인식되도록 역슬래시를 추가해주는 함수이기 때문에 이 코드에서는 특수문자인 쿼터를 이용한 공격이 통하지 않는다. 즉 이 문제에서는 ' 공백 / * % select 0x limit cash 이런 문자들을 필터링하고 있는 것이다. 따라서 쿼리문을 작성할 때 이 문자들을 포함시키면 안되기 때문에 lv=0... webhacking워게임webhacking