분류 전체보기 (124) 썸네일형 리스트형 ftz level 1 [level1] 우선 ls -al 로 파일들을 확인해보았다. 별다른 설정된 파일들을 찾을 수 없다. 따라서 명령어를 사용해서 파일을 찾아본다. 이므로 find 명령어 사용. level2 권한이므로 -user level2 를 옵션으로 사용, setuid 가 걸린 파일을 찾는 것이기 때문에 퍼미션 -4000 옵션 사용. 퍼미션 디나이 사이에 /bin/ExecuteMe 파일이 보인다. 한번 실행시켜 보자. my-pass 가 입력이 안되므로 cat my-pass 등은 먹히지 않을 것 같지만 그래도 system 함수를 한번 사용해봤다. 나오지 않는다. 따라서 level2 권한으로 실행 시킬수 있다는 점에 다시 집중해서 쉘을 띄워봤다. 배시 쉘에 들어간 후 my-pass 를 띄우니 level2 pw 획득 성공 ! "hacker o.. webhacking.kr / Old-1. php [write-up] 오랜만에 웹 워게임을 풀어보는 것 같다. 그럼 시작 ㅎㅎ 소스보기를 눌러보자. 디폴트 user_lv 쿠키 값은 1로 설정해둔 것으로 보인다. 아래 부분 php 를 보면 user_lv 쿠키가 6이상이면 다시 1로 설정, 5 초과면 solve 인 것도 볼 수 있다. 5 초과 6 미만인 수를 쿠키의 user_lv 값으로 설정하면 풀릴 것 같다. 쿠키 값을 변경하기 위해서 editcookie 를 사용한다. 1로 설정되어 있던 값을 5.5로 변경해주었다. 새로고침하면, 엄청 간단하게 해결! webhacking.kr / Old-25. php [write-up] 개발자 도구로 열어봐도 별거 없어보이고 해서 url 에 file = flag 를 입력해봤다. flag 가 코드안에 있다고 한다. 아무리 살펴봐도 모르겠어서 구글링을 해보았다. php wrapper 라는 것을 이용해 filter 기능을 사용하면 된다고 하는데.. 잘 모르겠어서 형태를 먼저 살펴보았다. php://filter/convert.base64-encode/resource= 이런 식으로 사용하고, 알고 싶은 php 파일의 이름을 맨 끝에 적어서 url 에 전송하면 되는 것 같다. 우리는 flag.php 를 봐야하니까 php://filter/convert.base64-encode/resource=flag 를 입력하면, flag 가 base64로 인코딩된 값이 필드에 출력되게 된다. 이렇게! 이제 여기 .. webhacking.kr / Old-58. javascript [write-up] 우선 맨 밑에 send 가 궁금하니까 a를 입력해본다. command not found ! 콘솔창인가보다. ls 를 쳐보자. js 파일과 html 파일이 보인다. 이 둘은 역시 먹히지 않는다. cat flag 도 먹히지 않고, flag 를 입력하니 권한이 없다고 나온다. 이럴땐.. 개발자 도구!!!! 음 username 이 현재 guest 인데 한번 admin 으로 바꿔보자. 이렇게 오른쪽에서 admin 으로 변환해주고 flag 를 입력해도 아무런 변화가 없었다. 그래서 구글링을 해보니 소켓을 콘솔에서 전송해보면 되는 것 같다. 문법을 자세히 모르는채로 마구잡이로 입력하다보니 계속 실패.. 계속 도전하다가 성공!! auth 에 제출하면 58번 해결. webhacking.kr / Old-34. javascript [write-up] 확인 버튼을 누르면 그냥 검정색 화면이 뜬다. 개발자 도구로 확인해보자. 아찔2.... 구글링 해보니 이 엄청난 문자열을 보기 편하게 바꿔주는 javascript beautifier 를 사용해서 보기 편하게 변경할 수 있을 것 같다. 예쁘게 변환된 코드로 다시 보자. 예쁘게 정리되어도 뭐 꽤나 길게 변환된 이 소스에서 alert 를 먼저 찾아보자. if 문에 적힌 조건대로 입력했을 때와, else 에 적힌 조건대로 입력했을 때의 차이를 보면, 먼저 콘솔 창에 alert(b('0x1e', '14cN')); 를 입력했을 때에는 그냥 처음에 문제 페이지에 들어올 때의 alert 가 나오는 걸 볼 수 있다. 그래서 if 문의 alert(b('0x1b', 'RLUb')); 를 입력해보았다. password 라는 .. webhacking.kr / Old-23. xss [write-up] 저 스크립트를 인젝션 시키면 된다고 한다. 아마도 필드에 필터링이 걸려있겠지? 먼저 그냥 를 입력해보니 no hack 이 뜨면서 url 에 내가 입력한 값이 나왔다. ( ) ; / 이 4문자가 url 인코딩되어 적용된 것을 볼 수 있고, 아마 script 라는 문자가 필터링 되었을 것 같다. url 에서 직접 수정해서 입력해봐도 no hack. Script, sCript 등으로 입력해봐도 역시 no hack 이 떴다. 사이사이 공백을 넣어서 입력해보자. 하나씩 추가하면서 확인해보았다. 왜 안돼 내가 입력으로 준 값 사이사이마다 %00을 넣고 제출하니 성공했다. 왜 사이사이마다 %00을 꼭 다 입력해야만 우회가 가능했던 것인지, 무슨 우회 방법인지 궁금해서 구글링을 해보니 * NULL byte inject.. webhacking.kr / Old-17. javascript [write-up] 그냥 a 입력해서 check 눌러봤다. 한번 개발자 도구로 확인해보자. 저 연산을 한 후 필드에 입력하면 되는 문제 같다. 콘솔에서 간단하게 연산 후 나온 값을 입력했다. 엄청 간단하게 완료! webhacking.kr / Old-16. javascript [write-up] 별..... 이쁘다 아니 개발자 도구를 열자. 근데.. random 함수가 있다. 새로고침을 한번 해봤다. !!!!!!! 맨 끝에 별 색깔이 계속 바뀐다. 소스를 제대로 확인해보자. 일단 * onkeypress (=onkeydown) : 키가 눌렸을 때 이벤트 발생 * event.keyCode : Javascript 로 사용자의 키입력을 감지하여 함수를 처리 : ASCII 코드에 기반 * onmouseover : 마우스 커서가 해당 요소 위에 위치할 때 이벤트 발생 키보드로 입력한 값이 mv 함수로 넘어가고, 그 입력 값이 100, 97, 119, 115, 124 일 때 각각 다른 일을 수행하는 것 같다. 아스키 코드로 100은 d , 97는 a, 119는 w, 115는 s, 124는 | 이다. d를 눌.. 이전 1 ··· 3 4 5 6 7 8 9 ··· 16 다음 목록 더보기