전체 글 172

[webhacking.kr] Challenge(old)_27[150]

이번문제는 필터 되는 부분 : #, select , ( , 띄어쓰기, limit, = , 0x get 파라미터명 : no 해결해야 되는 부분 : id가 admin 인 경우 클리어 처음에 입력 폼에 2%09or%09no%3d2 이렇게 띄워쓰기 대신 탭문자 와 = urlencode 해서 넣어보았는데 urlencode 가 한번 더 되어나타난다. 그래서 url에 직접 get 파라미터 값을 넣어줬더니 정상적으로 들어가지만 =(%3d) 가 필터되어 이것을 처리해주는 방법을 고민해 봐야겠다. ?no=2%09or%09id%09like%09%22admin%22 ?no=2%09or%09no%09like%092 ?no=2%09or%09no%09like%090b00000010 빈칸은 탭으로 처리해주고 = 은 LIKE문으로 우..

[webhacking.kr] Challenge(old)_25[150]

이번문제는 get 파라미터명 : file 해결해야 되는 부분 : flag를 따내는 문제인것 같다? 우선 file 파라미터값을 flag로 줬더니 이렇게 뜬다. FLAG is in the code 플래그는 코드에 있다? 밑에 textarea는 왜 존재 하는것일까? 그냥 결과를 출력해주기 위해서?아마 그냥 출력해주기 위해서 인듯.. 코드에 있다길래 index.php 코드를 유심히 봤지만 아닌것같다! 삽질을 하던 중 ?file=hello/../index 하면 index.php 소스가 textarea에 반복적으로 도는 것을 볼 수 있다. 여기서 파일명에 기본적으로 .php가 들어가는것을 알 수 있다. 파일 취약점에 대해 알아보다가 파일을 여는 함수가 뭐가 쓰이는지 몰라서 fopen()인가 좀 알아보고 그게 아닌 ..

[webhacking.kr] Challenge(old)_19[150]

id 값이 admin으로 되어야 풀리는 문제이다. 해결해야 되는 부분 : 폼에 admin이 기본적으로 되어있는데 잘 우회해서 admin이 뜨게 하면될것 같다. Admin으로 입력했다. 하지만 소문자 까지 완벽하게 해야 풀리는 것 같다. 로그아웃이 안되는데 그 이유가 userid 라는 쿠키가 생성이 되어 고정되어있다. 어? 그러면 setcookie가 되는데 그러면 쿠키를 바꾸면 되지 않을까?? Admin - 'userid' N2ZjNTYyNzBlN2E3MGZhODFhNTkzNWI3MmVhY2JlMjk4Mjc3ZTA5MTBkNzUwMTk1YjQ0ODc5NzYxNmUwOTFhZDZmOGY1NzcxNTA5MGRhMjYzMjQ1Mzk4OGQ5YTE1MDFiODY1YzBjMGI0YWIwZTA2M2U1Y2FhMzM4..

[webhacking.kr] Challenge(old)_54[100]

이번문제는 첫화면에 막 문자들이 빠르게 지나고 마지막에 ?이 뜨는 문제이다. 해결해야 되는 부분 : 그 문자들을 다 찾아서 GET으로 보내 주면 될것 같다. 빠르게 지나가는 문자를 다 일일이 어찌 잡지 생각하다가 개발자 모드에서 Network 에서 보니 하나하나 다 뜨는 것을 확인 해 볼 수 있었다. 그 값은 : FLAG{a7981201c48d0ece288afd01ca43c55b} 클리어!

[webhacking.kr] Challenge(old)_38[100]

이번 문제는 해결해야 되는 부분 : LOG INJECTION이라고 한다. 로그를 조작해서 admin 권한을 따내라는 것 같다. 이런 식으로 로그가 쫙 뜬다. 폼에 admin이라고 입력해 보았는데 admin이 아니라고 뜬다. 별에 별 방법을 시도했는데 하나 의문점이 생겼다. 폼에 admin 입력하면 내 아이피:admin은 안 뜬다. 그렇다면 그렇게 해주면 될 듯? %0a 115.91.214.2:admin test'\\n'115.91.214.2:admin test '%5cn' 115.91.214.2:admin test%0b115.91.214.2:admin test %22%5cn%22 \n %0a 다 안 먹힌다. 115.91.214.2:admin \n115.91.214.2:admin %26%23x003C;pr..

[webhacking.kr] Challenge(old)_26[100]

이번문제는 필터링 되는 부분 : "admin" 문자열 get 받는 파라미터 : id 해결해야 되는 부분 : urlencode를 통해 "admin" 문자열을 우회해 해결하기 아스키 코드표를 참고해서 16진수를 이용해 "admin"문자열을 urlencoding을 해주었다. admin : %61%64%6d%69%6e 하지만 admin문자열 그대로 해석하기에 필터링 되었다. preg_match 은 i를 안썻다면 대소문자 구분을 안한다. ADMIN : %41%44%4d%49%4e AdMin : %41%64%4d%69%6e 대문자도 해보았지만 결과는 최종적으로는 admin으로 인식하지 못했다. 하지만 if문은 지나쳤다. 기나긴 삽질 끝에 urlencoding 을 두번 해보았다. admin : %61%64%6d%69..

[webhacking.kr] Challenge(old)_24[100]

이번문제는 필터링 되는 부분 : htmlspecialchars 으로 특수문자 를 HTML 엔티티로 변환, str_replace로 인한 특정 문자 교체 해결해야 되는 부분 : 필터되는 부분을 뚫고 $ip 변수에 127.0.0.1 이 저장되어야 한다. extract 함수를 이용해 $_SERVER 심볼 테이블로 변수를 가져온다. 그 중 $_SERVER['REMOTE_ADDR'] = 사이트 접속한 사용자 IP = xxx.xxx.xxx.xxx 이 존재하는데 이 것을 변조 하면 된다. 그런데 가만히 보면 이런 순서로 되어있다. 그렇다면 $_COOKIE 에서 $REMOTE_ADDR 을 선언해서 가져오면? 결과는 성공적 이제 필터링 되는 부분만 잘 피해서 가면 될 것 같다. 1(12)27(7.) : "12", "7."..

[webhacking.kr] Challenge(old)_18[100]

이번문제는 필터링 되는 부분 : 빈칸 , /, ( , ) , | , & , select , from , 0x get 받는 파라미터 : no 해결해야 되는 부분 : admin에 해당하는 no를 넣어 주어 해결하면 되는 간단한 문제이다. 빈칸때문에 좀 애좀 먹었는데 %20 -> %0a 으로 우회해서 해결하였다. 연산자 우선순위로 인해 and 연산을 false로 만들고 id='admin'으로 해결하였다. 페이로드 : ?no=0%0aor%0aid='admin' 클리어!