전체 글

webhacking.kr

[webhacking.kr] old-09

문제에 접속하니 위와 같은 페이지가 나왔다.아마 password를 맞추는 것이 문제인 것 같다.  하이퍼링크가 걸린 숫자들을 하나씩 눌러보자.숫자를 누르면 no 파라미터를 통해 해당 숫자값이 전송되는 것을 확인 할 수 있었고 각각 위와 같은 결과가 나왔다. 마지막으로 3을 눌러보니 secret이라는 문구와 함께 속성이 id,no 이며 no=3의 id 값이 password라고 언급됐다.아마 DB의 테이블의 속성이 id,no 두 가지이며 우리가 구해야하는 password는 no가 3인 레코드의 id값인듯 하다. 결론적으로 password인 no=3의 id값을 구하는게 이번 문제의 목표가 될 것이다. no=3의 id값을 구하기 위해서는 blind sqli를 진행해야 하는데 사실 딱봐도 no 파라미터를 이용해야..

webhacking.kr

[webhacking.kr] old-08

문제에 접속하니 "done!" 라는 문구와 함께 소스가 주어져있다. 소스를 봐보도록 하자. 소스코드를 분석해보자. 1. 클라이언트의 브라우저, os 정보를 가져와 공백제거 후 $agent 변수에 저장(2번 줄)2. 클라이언트의 ip 주소를 가져와서 $ip 변수에 저장(3번 줄)3. $agent 변수에 "from"이 포함되어있으면 프로그램 종료(4~7번 줄)4. chall8 테이블의 id 속성의 레코드 갯수를 가져온 후 $count_ck 변수에 저장 (10번 줄)만약, $count_ck 값 즉, 카운팅 갯수가 70이상이면 chall8 테이블을 삭제 (브루트 포스 방지용 인 것 같다.) (11번 줄)5. 클라이언트의 http_user_agent 정보를 가져와 그 정보에 해당하는 id 속성값을 가져와 최종적으..

webhacking.kr

[webhacking.kr] old-07

문제에 접속하니 Admin page 가 나타났다. auth 버튼을 눌러보니 "access denied" 가 뜨는 것을 확인 할 수 있다.이번문제는 admin page에서 admin이라는 것을 버튼을 눌러서 인증을 해내는 것이 목표가 될 것 같다.다음으로 소스를 봐보자. 소스를 간단히 분석하면 다음과 같다.1. "val" 라는 파라미터의 값을 받고 $go 변수에 저장 후 5번줄을 통해 그 값을 정규표현식을 이용하여 필터링 검증을 받는다. (2,5번줄)2.  rand(1,5)를 통해 1~5 까지 숫자중 랜덤값을 받고 if문으로 들어간다. (7~22번줄)3. 들어간 if문의 sql 쿼리를 실행하고 그 결과(레코드)를 $data 변수에 넣는다. (8~22번줄)4. $data[0]  즉, 결과로 받은 레코드의 l..

keyme
keyme - Security Study