다시한번 sql injection문제가 나왔다.

blind sql injection은 한번에 뚫기보다는 보통 길이 정도만 수동으로 알아봐주고

나머지는 파이썬 같은 코드로 알아내면 된다.

우선 제출을 누르니 주소창에 no=&id=&pw=가 나온다

아마 pw를 구하는 문제이지 싶다.

소스를 보니 제출 옆의 input값은 no에 값을넣어 주는 창이고 id와 pw는 따로 hidden으로 숨겨져 있었다.

여기서 1값과 2값을 넣어주니 Result값이 True로 변했다.

이 말은 

no   id   pw

테이블에서 no값은 1,2 라는 뜻 이다.

그렇다면 id의 길이를 알아보기 위해서

넣어보니 1,2 모두 5가 나왔다.

그래서 pw의 길이를 넣어서 찾아보니

1은 5, 2는 19가 나왔다.


그래서 admin이 있나 찾아보기 위해 단어의 제일 처음이 a인 것을 찾으니 

no=2 였고

2번째 자리가 d인 것도 no=2였다.

그래서 no = 2의 pw를 찾기로 해 보았다.

그래서 python소스를 이렇게 짜서 돌려보니

pw가 나왔다!


이것을 인증해 주면

21번도 클리어!!

(힌트: 답을 안보고 하실분은 소문자만 쓰이기 때문에 ascii의 범위를 97~122로 해주면 훨씬 빨리 값이 나옵니다)

'WebHacking > Webhacking.kr' 카테고리의 다른 글

Webhacking.kr 32번  (0) 2018.01.02
Webhacking.kr 27번  (0) 2018.01.02
Webhacking.kr 25번  (0) 2017.12.29
Webhacking.kr 18번  (0) 2017.12.27
Webhacking.kr 39번  (0) 2017.12.27

+ Recent posts