Webhacking.kr 9번
·
Webhacking.kr
9번 문제를 클릭하면 위와 같이 HTTP Authentication 창이 나타남 임의의 값 ("test/test")를 입력 후 로그인 버튼을 누르면 위와 같이 패킷이 전송 됨 * 여기까지 해보고 도저히 감이 안 잡혀서 구글링을 해봄 * 문제에서 요구하는건 "htaccess"를 사용하여 접근 방식을 설정했을 때 발생하는 취약점을 이용하라는 뜻 * htaccess 파일에 " " 형식으로 제한을 걸면 다른 메소드를 검증하지 않음 * 따라서 "OPTIONS" 등을 이용하여 인증 우회 가능 전송되는 패킷을 일일이 프록시에서 "GET = > OPTIONS" 처럼 수동으로 변경해도 되지만 버프스위트에서는 "Match and Replace" 기능을 이용하여 자동화 가능 위와 같이 설정하면 자동으로 OPTIONS 메소드..
Webhacking.kr 8번
·
Webhacking.kr
$agent 변수에 "getenv" 함수를 이용하여 "HTTP_UESR_AGENT" 값을 저장한다. $ip 변수에 클라이언트의 공인 IP 값을 저장한다. $agent 변수에서 공백을 제거(trim) 한다. $agent 변수에서 '.', '/' 문자가 발견되면 '_' 문자로 치환한다. $pat 변수에 필터링 할 여러 문자열들을 저장한다. $agent 변수 값과 $pat 변수값을 비교하여 일치하면(필터링에 걸리면)가 오류가 발생한다. HTTP_USER_AGENT 값에 대하여 특정 문자를 치환한다. $count_ck 변수에 "SELECT" 쿼리 결과가 저장된다. 쿼리 결과(id 컬럼 개수)값이 70개 이상이면 "lv0" 테이블의 모든 데이터를 삭제한다. $q 변수에 쿼리를 저장하는데, 쿼리에서 $HTTP_US..
Webhacking.kr 7번
·
Webhacking.kr
7번 문제 페이지 소스 화면, 주석으로 "admin mode : val=2" 라고 적혀있다. 물론 그냥 URL 부분에 "val=2" 입력하면 안된다. index.phps 페이지에서 소스 분석을 진행한다. URL 에서 "get" 파라미터로 받은 값을 $go 변수에 저장한다. (입력 받지 않으면 자동으로 1 세팅) $go 변수 값을 다시 $ck 변수에 저장한다. $ck 변수 값에서 '*', '/' 문자가 발견되면 '' 으로 치환한다. $ck 변수 값에서 "--", "2", "50", "\+", "substring", "from" 등의 문자열이 발견되면 오류가 발생한다. $ck 변수 값에서 공백(%20)이 발견되면 오류가 발생한다. 1 ~ 5 사이 임의의 값을 $rand 변수에 저장한다. $rand 변수 값에..