티스토리 뷰

 

카테고리

sombra

 

문제

TEMPORAL 버튼을 누르면 php 파일 두개와db.sql이 다운받아진다.

 

소스를 확인해보면 아이디와 패스워드 값이 모두 노출되어 있다.

하지만 "gportero" 라는 아이디로 로그인하려고 보면 해당 아이디가 block되어 로그인이 불가능하다.

 

또한 addslashes를 사용하여 인젝션을 방지하고 있다.

 

처음엔 addslashes를 우회해야 된다고 생각하여 0xbf, 0xaa등을 시도했는데 euc-kr을 utf-8로 변환하는 코드가 있어야 가능한 방법이기 때문에 우회가 되지 않았다.

그 다음으로 본 것은 trim 함수다.

trim은 문자열의 공백을 제거해주는 함수인데 스페이스바, 탭, 개행 문자, 캐리지 리턴, 널 등을 제거한다.

trim으로 제거되지 않는 백스페이스(0x08)을 입력하여 우회했다.

(이외에도 trim을 우회할 수 있는 문자들은 많다.)

 

 

 

Code





+)

문제에서 주어진 db.sql 파일을 보면 CHARSET이 utf8로 설정되어 있고 mysql은 utf8의 collate로 기본적으로 utf8_general_ci 를 사용한다.

라틴 계열의 문자 중 같은 알파벳의 의미를 갖는 다른 문자를 입력해줘도 된다.

예를 들어, 'o'를 나타내는 문자들로는 'ò', 'ó', 'ô', 'õ', 'ö', 'ø' 등이 있다.

"gportero" 대신 "gproterò"를 입력하여 blocked user를 우회할 수 있다.

원리는
http://cafe.naver.com/realmysql/52
여기 참고!





댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함