Network 51

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

이번 문제는 투표를 통해 나의 아이디는 dominic 인 투표의 수를 100표를 받는 문제이다. 한번 투표를 하면 쿠키가 생성되어 이미 투표를 할 수 없다고 한다. 피들러를 통해 패킷을 잡아 확인해 본 결과 투표하는 패킷, 투표를 이미 했다는 쿠키를 생성하는 패킷을 따로 보내는 것을 확인한 뒤 바로 투표하는 패킷을 여러번 반복해서 보냈다. 클리어! 라업도 쓰기전에 감 잡아 버려서 너무 빨리 풀어버린 문제..

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

이번문제는 get 파라미터명 : server 해결해야 되는 부분 : 기본적으로 server 인자값에 나의 ip가 들어간다. 그리고 fsockopen() 함수를 이용해 소켓연결을 하는데 포트가 랜덤이고 흔히 쓰지 않는 10000-10100 이다. 소켓통신 (https://mangkyu.tistory.com/48) 즉, 소켓통신은 Server와 Client가 특정 Port를 통해 실시간으로 양방향 통신을 하는 방식으로서 실시간 통신이 필요한 경우에 자주 쓰인다. 우선 fsockopen 함수에 대해 알아 보았다. 소켓연결을 하는 함수이다. 이것 저것 삽질을 통해 보니 인자값이 41개 이상이면 no hack이라고 뜬다. 뭔지 모르겠다.. 빈칸을 넣어보니 ssrf 문제도 아니라고 한다. 뭘까.. ※SSRF란? S..

[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."..