워게임/웹해킹kr 썸네일형 리스트형 웹해킹kr 1번 문제 풀이 http://webhacking.kr/challenge/web/web-01/ 웹해킹kr의 시작이자 기본이고, php 소스와 서버와 클라이언트 간 전달되는 값을 알아야 풀 수 있는 문제입니다.index.phps 글씨를 클릭하면 창이 이동하면서 이 페이지에 담겨있는 php 소스코드를 볼 수 있습니다.phps라는 확장자를 가진 파일은 php source의 약자로 말 그대로 php의 소스코드가 담긴 파일입니다. 소스코드를 스크린샷 했습니다. 어차피 이 글을 읽고 계신 여러분들은 index.phps 페이지를 띄워서 보시고 계실 겁니다.처음 시작을 보면, 쿠키를 생성하군요. 쿠키란, 서버와 클라이언트 간 연결한 후 클라이언트에 저장되는 클라이언트의 정보입니다. 브라우저나 서버는 이 쿠키를 이용해 사용자마다 다른 정.. 더보기 웹해킹kr 38번 문제 풀이 http://webhacking.kr/challenge/bonus/bonus-9/ 인젝션 취약점을 가진 입력폼입니다. 힌트는 없고 사용자가 입력한 로그를 확인할 수 있는 Admin 버튼이 있습니다. 돌아가는 상황을 봐서는 입력값에 admin이 들어가야하나 봅니다. 그래서 오늘도 무식하게 admin을 입력해봅니다. 역시 이건 아니라고 뜹니다. admin이라는 문자를 필터링하는 군요. 이제 우회를 시도해야겠죠. admin이라는 정확한 문자열만 필터링하는군요. 역시 sql injection과 다른 탓인지 주석처리는 되지 않고 그냥 출력만 됩니다. 그럼 이제 두번째로 우회를 해보겠습니다. 띄어쓰기(%20)나 탭문자 등등으로요. 아까 입력했던 것은 그대로 남아있고, \t는 되지 않습니다. 그런데! \n을 입력하면.. 더보기 웹해킹kr 54번 문제 풀이 http://webhacking.kr/challenge/bonus/bonus-14/ 사이트를 들어가면 몇초 뒤에 무슨 글자가 한자리씩 뜨며 마지막에 ?를 찍고 멈추는 것을 보실 겁니다.이게 대체 뭐지하고 멍할 수 있습니다. 저도 처음 이 문제 풀때는, 일일이 멈춰가면서 적어 풀었지만 자바스크립트를 이해하면 쉽게 해결할 수 있습니다. 문제 페이지에서 마우스 오른쪽 클릭으로 소스보기를 합니다. function run(){ if(window.ActiveXObject){ try { return new ActiveXObject('Msxml2.XMLHTTP'); } catch (e) { try { return new ActiveXObject('Microsoft.XMLHTTP'); } catch (e) { retur.. 더보기 웹해킹kr 28번 문제 풀이 http://webhacking.kr/challenge/web/web-13/index.php 들어가면 저렇게 뜹니다. index.php에 들어있는 내용이 php로 둘러쌓인 패스워드와 read me 문자열인데,이것을 읽으려면 어떻게 해야 할까요?파일 업로드 기능이 있는 것으로 봐서는 파일 업로드를 이용한 인젝션같습니다.일단 아무 파일이나 업로드해봅니다. 파일의 내용은 표시해주지 않네요.대신 힌트를 출력해줍니다.힌트는 .htaccess인데 이게 무엇인지 찾아보았습니다. https://httpd.apache.org/docs/2.2/ko/howto/htaccess.html 디렉토리별로 설정을 변경할 수 있다는군요.비밀번호가 들어있는 곳은 php이지요. 그럼 비밀번호를 보려면? 그 파일을 다운로드하는 소스? 웹셸.. 더보기 웹해킹kr 12번 문제 풀이 http://webhacking.kr/challenge/codeing/code3.html 링크로 들어가니 검은화면에 하얀글씨만 떠있습니다.자바스크립트 문제는 여기서 처음푸는데 이 문제는 그다지 어렵지 않습니다.먼저 페이지 소스 보기를 합니다. WorkTimeFun이라는 곳에 String.fromCharCode 블라블라가 들어가고, 나중에 WorkTimeFun이 eval에 의해 실행되군요.그럼 저 이상한 블라블라를 먼저 풀어봐야겠죠. 크롬 브라우저나 파이어폭스 등을 사용하고 계시다면 개발자도구(F12)의 콘솔에서 쉽게 자바스크립트 코딩이 가능합니다. 저는 크롬 개발자도구의 콘솔에서 입력했더니 아래처럼 나왔습니다. var enco='';var enco2=126;var enco3=33;var ck=docume.. 더보기 웹해킹kr 11번 문제 풀이 http://webhacking.kr/challenge/codeing/code2.html preg_match($pattern, $subject);$pattern에는 정규표현식이 들어갑니다. $subject는 매칭이 수행되는 문자열입니다. 11번 문제에서 패턴은 $pat="/[1-3][a-f]{5}_.*.*\tp\ta\ts\ts/"; 이네요.이걸 제대로 알려면 정규 표현식을 제대로 알아야겠죠?아래를 이해하기 위해 필요한 정규표현식 설명을 여기1와 여기2에서 알아보세요. 하나하나 분해해보겠습니다. /[1-3][a-f]{5}_.*.*\tp\ta\ts\ts/패턴에서 추출한 문자열은 위와 같습니다.패턴에서 구분자는 / 이군요.그리고 .*은 어떤 문자를 0번이상 반복하는 것인데, 0번 이상이기 때문에 없다고봐도 무.. 더보기 웹해킹kr 33번 문제 풀이 Challenge 33을 지금부터 풀겠다. 먼저 첫번째 페이지는 http://webhacking.kr/challenge/bonus/bonus-6/ 그냥 Wrong이라고 표시되어 있을 뿐이고, phps를 살펴보면 아래와 같다. GET 요청 방식을 사용하네. 참 쉽다.URL 주소창에 http://webhacking.kr/challenge/bonus/bonus-6/index.php?get=hehe 라고 적으면된다.하지만 이걸로 끝날 200점짜리 문제가 아니었다. http://webhacking.kr/challenge/bonus/bonus-6/lv2.php 레벨 2로 넘어갔다. 이번엔 POST 방식으로 보내야한다.POST 방식? 이게 뭘까? 하는 사람은 HTTP 전송 POST방식을 공부하는 것이 좋다.뭐 여러가.. 더보기 이전 1 다음