본문 바로가기

Webhaking/WebHaking CTF15

[Webhaking.kr] old 38번 문제에 들어가면 이와 같은 화면이 먼저 보인다. 아무 문자열이나 삽입하였더니 URL이 이와 같이 변동되었다. 딱히 특별한 반응은 보이지 않는다. 페이지 소스 코드를 살펴보니 admin.php가 admin 페이지라고 주석으로 알려주고 있다. Admin.php에 접속하니 다음과 같은 화면이 보인다. ip와 압력한 문구 순서인 것 같다. 그 위에 문구를 보니 admin으로 접속하면 문제를 풀게 되는 것 같다. admin으로 로그인하려고 하였더니 다음과 같은 문자열이 뜬다. 따라서, admin 문자열은 필터링 되고 있다. ip:문자열 형식으로 넣어야 하는 것 같다. 띄어쓰기 문자열을 끼워 넣어 다음과 같은 방법으로 문제를 풀어보자. 아이피:admin 2021. 11. 14.
[Webhaking.kr] old 23번 처음 문제에 들어가면 보이는 화면이다. 텍스트를 입력할 수 있는 상자가 보이고 옆에 제출버튼이 있다. 아래를 보면 이러한 문장이 보이는데 여기서 우리는 문제의 힌트를 얻을 수 있다. script문을 실행시키는 것이 이 문제를 푸는 방법으로 보인다. JAVASCRIPT문은 태그를 이용해서 html 문서에 직접 작성해 동작시킬 수 있다, 그렇다면 저 문장 전체를 입력하면 어떻게 될까? no hack라는 문장이 나온다. 위에 URL을 살펴보자. ?code=alert%281%29%3B 이 부분을 통해 일단 code라는 변수에 GET 방식으로 작성한 문자열이 전달되는 것을 알 수 있다. 혹시 문자열 필터링일까? 평범한 문자열을 삽입하였을 때는 문자열 필터링이 일어나지 않는 모습을 볼 수 있다. URL 인코딩 방법.. 2021. 11. 14.
[Webhaking.kr] old 20번 20번 문제이다. 문제만 보았을 때 nickname, comment, captcha를 입력하고 submit을 눌러야 하는 것 같다. 위와 같이 입력하였더니 too slow라는 글자가 나오고 사라진다. script문을 확인하였다. 뒤에 ck 함수가 있는 것을 보니 ck 함수를 호출하는 것 같다. hack 값과 attackme랑 같아야 한다. 값이 adgUZr5AAZ인 것을 발견하였다. 한 번 대입해보자. 틀렸다는 문구가 나왔다. 콘솔을 이용해보자 lv5frm.id.value=1; lv5frm.cmt.value=1; lv5frm.captcha.value=lv5frm.captcha_.value; lv5frm.submit(); 위와 같은 값을 콘솔에 입력해보자. 개발자도구의 콘솔에 위와 같은 입력 후 ENTER.. 2021. 9. 30.
[Webhaking.kr] old 16번 16번 문제이다. php 문제이다보니 소스 코드를 확인해보자. 페이지 소스코드를 보자. 여기서 주의해야 할 부분은 부분이다. 코드를 해석해보면 mv 함수으 경우, 100, 97, 119, 115, 124를 cd에 넘겨주게 되면 별이 움직이는 스크립트이다. 아스키코드로 넘겨주는 것 같다는 생각이 들었다. 확인해보니 100: d 97: a 119: w 115: s 124: |(파이프) 이제 키보드를 이용하여 눌러보자. 문제를 풀었다. 2021. 9. 30.
[Webhaking.kr] old 26번 26번 문제에 들어가면 'view-source'만 있다. GET 형식으로 받은 id 값이 admin이면 풀리는 문제인 것 같다. 하지만 조건문보다 위에 preg_match 함수로 admin이란 값을 필터링하고 있기 때문에 admin이란 값을 넣어줄 수 없을 것 같다. 또한, 그 밑에 id의 값을 urldecode() 함수를 통해서 변조시키는 것을 확인할 수 있다. 그럼 admin의 값을 url 인코딩으로 입력해보다. url 인코딩 표를 이용해서 admin을 바꾸면 %61%64%6D%69%6E의 값이 된다. 이 값을 id로 입력해보자. no! 라는 값이 나온다. 맨처음 조건절에서 preg_match() 함수의 막힌 것 같다. 그 이유는 웹서버와 브라우저 사이에서 데이터를 교환할 때 브라우저는 폼에서 입력받.. 2021. 9. 29.
[Webhaking.kr] old 24번 24번 문제이다. 아래의 화면처럼 'client ip'와 'agent' 옆을 보니 사용자의 환경을 뜻하는 것이도고, 'client ip'는 난수가 들어가있는 것처럼 보였다. 그리고 'Wrong IP!'까지 현 화면에서는 문제를 풀 수 없는 것들만 보였다. 처음 화면에서는 아무것도 발견할 수 없었다. 따라서 'view-source'에 들어가서 소스코드를 확인해보기로 했다. 아래 화면은 24번 문제의 소스코드이다. 문제를 풀기 위해서는 쿠키 하나를 추가시켜줘야 한다. "EditThisCookie"라는 확장 프로그램을 이용해서 'REMOTE_ADDR'를 추가시켰다. REMOTE_ADDR에 값을 넣어서 ip 값을 127.0.0.1이 출력되게 하려면 "112277...00...00...1"을 넣어주면 된다. 쿠키.. 2021. 9. 29.