procedure

webhacking.kr

[webhacking.kr] old-55 (sqli → procedure)

문제에 접속하니 점수와 함께 초록모양의 아이콘이 있다. 마우스를 움직이면 점수가 쌓이면서 초록모양 아이콘이 마우스 방향으로 이동한다. rank 링크를 눌러서 들어가보니 순위표가 나열되어있다. 하단을 확인해보니 위와 같은 php 코드가 보인다. 소스를 자세히 보면 insert 문 맨 오른쪽에 $flag 값이 있는 것을 확인 할 수 있다. insert 문을 이용해 DB에 rank를 저장하는데 이때, flag값도 같이 저장하는 것 같다. 다시 돌아와서 순위표를 보면 score 부분에 하이퍼링크가 있어서 눌러보니 id 와 점수가 상단에 뜨는 것을 확인 할 수 있다. 추가적으로 URL 부분을 보니 score 파라미터를 이용해 점수를 보내서 상단에 정보를 출력하는 것을 알 수 있다. 이번에는 score 파라미터 값..

webhacking.kr

[webhacking.kr] old-53 (sqli -> procedure)

문제에 접속하니 소스만 있어서 바로 소스를 분석해봤다. 1. answer 파라미터 값이 $hidden_table과 같으면 문제 클리어 2. val 파라미터에 select , by 가 들어가면 프로그램 강제종료 3. sql 쿼리를 실행해서 val 값이 $hidden_table 이라는 테이블에 존재하면 화면에 출력 결론적으로 문제를 해결하기 위해서는 쿼리가 실행되는 테이블의 이름($hidden_table)을 알아내야 한다. DB에서 테이블 이름에 접근하기 위해서는 메타데이터 영역에 접근해야 하는데 문제는 select를 사용할 수 없어서 메타데이터에 접근할 수 없을 것 같다. 그렇다면 어떻게 해야 테이블 이름을 알아낼 수 있을까?? 여기서는 테이블 이름을 알아낼 수 있는 다른 방법인 procedure 함수의 ..

keyme
'procedure' 태그의 글 목록