webhacking.kr(19)
-
webhacking.kr 53번 문제(old)
53번의 문제는 이러하다. 소스코드를 해석해보면 숨겨진 테이블의 이름을 찾아내고 그 값을 answer 에 입력해주면 풀리는 문제인것 같다. 여기서 문제를 풀기전에 procedure analyse() 함수에 대해서 알아야한다. mysql> select id from test where no=1 procedure analyse(); +--------------+-----------+-----------+------------+------------+------------------+-----+ | Field_name | Min_value | Max_value | Min_length | Max_length | Empties_or_zeros | Nulls | +--------------+-----------+-..
2019.10.18 -
webhacking.kr 25번 문제 (old)
25번 문제에 들어가면 출력되는 화면이다. -rw-r--r-- 1 root root 이런식으로 적혀있습니다. 이 기호는 리눅스에서 쓰이는 기호입니다. 그리고 문제의 주소창을 보면 GET 방식으로 파일명을 받아오는것 같습니다. 그리고 그 파일을 저 회색 화면에 출력하는것 같습니다. 근데 화면에는 파일명이 hello.php 라고 출력이 되어있는데 왜 주소창에는 hello 만 적혀져 있는것일까요? 아마도 주소창에서 받은 값에 .php 라는 문구를 더해줘서 ?file=hello 라고 적었으면 ?file=hello.php 라고 인식되는것 같습니다. (뇌피셜...) 그러니 일단 flag.php 파일을 열기 위해서 주소창에 flag 를 입력해봅시다. 위의 사진을 보면 FLAG is in the code 라는 문구가 ..
2019.10.16 -
webhacking.kr 7번 문제 (old)
7번문제에 들어가면 다음과같은 화면을 볼 수 있다. 바로 auth 를 눌러서 인증을 해보자. 역시 바로 인증 권한을 주진 않는것 같다. 그럼 소스를 확인해보자. 소스를 확인해보면 GET방식으로 받은 값을 go 변수에 저장하고 필터링을 거친 후에 아래 5개의 조건문으로 거쳐가는것 같다. 마지막 elseif 부분을 보자면 data 의 값이 2이면 solve함수가 실행된다. 이 것을 보면 go 의 값에 2라는 값을 넣어주어서 lv를 2로만들어주면 풀릴 것 같다. 하지만 그전에 preg_match() 함수를 통해서 사칙연산과 2 , = 등을 필터링해주어서 2를 직접적으로 입력하거나 또는 1+1 , 3-1 등과같은 결과값으로 2를 만들어 주지 못한다. 하지만 절대 2를 만들수 없는건 아니다. char() 함수나 ..
2019.10.16 -
webhacking.kr 27번 문제(old)
27번 문제의 메인 페이지이다. 바로 소스를 확인해보자. 이 문제는 id 의 값이 admin 이면 풀리는 문제인것 같다. 하지만 저 코드에서 쿼리문 부분을 보면 id의 값이 guest로 지정되어있다. 그리고 아래 보면 주석처리로 // admin's no=2 라고 적혀져 있다. 아마 저 주석을 이용해서 문제를 풀 수 있을것 같다. 우선 메인페이지에서 아무값이나 넣어보며 결과를 확인해보자. 이 사진들은 각각 1,2를 입력했을때의 화면이다. 1을 입력했을때에는 guest가 2를 입력했을땐 query error 가 출력되었다. 아까 주석에서 admin의 no 값은 2라고 했으니 쿼리문을 조작해서 no 의 값을 2로 만들어 보자 0) or no like 2 preg_match()필터링을 위해서 위와같은 쿼리문을 ..
2019.10.15 -
webhacking.kr(old) 15번 문제
문제를 들어가자마자 Access_Denied 라는 문구와 함께 index 창으로 넘어왔다. 이 문제는 자바스크립트로 alert() 창을 띄운 후에 이전페이지 또는 webhacking.kr 의 주소로 이동되는것 같다. 그렇다면 위의 사이트에서 사용되는 javascript를 무력화 해준다면 alert 창이 뜨지 않으면서 15번의 문제로 들어갈 수 있을것 같다. 인터넷 오른쪽 상단의 점 3개? 버튼을 눌러 크롬 설정창으로 이동합시다. 그 후 아래로 스크롤을 쭉 내려서 고급 이란 버튼을 눌러줍니다. 개인정보 및 보안이라는 카테고리에 가서 사이트 설정에 접속합니다 권한이라는 카테고리안에 자바스크립트가 허용된것을 볼 수 있습니다. 자바스크립트항목을 클릭 후 15번 문제의 주소를 복사해서 입력한후 15번 문제의 자바..
2019.10.09 -
webhakcing.kr 11번(old)[정규표현식]
우선 이 포스팅을 보기전 혼자 공부해서 풀고싶다면 https://opentutorials.org/course/909/5142여기서 보고 온다면 충분히 풀 수 있을 것이다. 11번 페이지를 들어가자마자 Wrong 라는 글자가 뜬다. 바로 소스코드를 확인해보자. 소스코드를 해석해보면 $pat 는 위와같은 정규표현식으로 이루어져 있고 GET 방식으로 전달된 val 의 값과 $pat의 값이 같으면 문제가 풀리는 것 같다. 다들 정규표현식을 알거라 생각하고 바로 식을 쓰겠다. 혹시라도 모른다면 상단의 사이트를 클릭해 공부하고 오는 것을 권장한다. [1-3] : 1~3까지의 숫자중 하나 [a-f]{5} : a~f 까지의 문자 5개 *자신의 아이피* \t 탭키 :url인코딩을 하여 %09로 적는다. 사이에 있는 p,..
2019.10.02