-
webhacking.kr 9번 [900p]$ 웹 해킹 $/webhacking.kr 2019. 4. 9. 23:52
메인 화면입니다.
1,2,3 전부 한번 확인해 보겠습니다.
1,2,3전부가 no=1,2,3으로 되어 있습니다.
0을 입력 하니까 메인 화면이 나왔습니다.
0,1,2,3을 제외한 나머지를 입력해보면 다음과 같이 나옵니다.
sql injection을 이용하는줄 알았는데 아니였습니다.
Blind sql injection 을 이용해보 겠습니다.
다음과 같은 sql구문을 전송해보면
no=if(substr(id,1,1)like(0x41),3,0)
위의 sql 구문을 풀이해 보면
id의 값을 찾기 위해서 sql을 사용한 것 입니다.
substr()은 ( 해당문자열 , 몇번째문자부터 , 몇번째 문자까지 ) 가져오는 함수 입니다. 위에선 substr(id,1,1)이기 때문에 id의 문자열중 첫번째 문자만 가져오는 기능을 합니다.
like는 =이랑 일치합니다.
0x41 = A입니다.
뒤에 3,0은 if문의 기본 형식에 따라서 앞의 값이 참이면 3을 반환, 거짓이면 0을 반환 하는 것입니다.
이처럼 Secret가 나왔다는 것은 no=3 즉, 해당 sql문이 참이라는 뜻이므로 id의 첫 문자는 A였습니다.
이렇게 전부 대입해 보면 되는데 직접 하면 너무 많기 때문에… 파이썬으로 코드를 작성해 보겠습니다.
'$ 웹 해킹 $ > webhacking.kr' 카테고리의 다른 글
webhacking.kr 11번 [300p] (0) 2019.04.09 webhacking.kr 10번 [250p] (0) 2019.04.09 webhacking.kr 8번 [350p] (0) 2019.04.09 webhacking.kr 7번 [300p] (0) 2019.04.09 webhacking.kr 6번 [100p] (0) 2019.04.09