본문 바로가기

Blind Sql Injection4

webhacking.kr 40번 [Blind SQL Injection] 40번 문제를 열면 아래와 같은 화면을 볼 수 있다. 이 때 no가 1일 때 guest인 것으로 추정된다.따라서 no가 2일 때로 요청해볼 것이다. 원래 guest로 로그인할 경우no=1&id=guest&pw=guest가 된다. 이를 약간 변형하여no=0||no=2&id=guest&pw=guest를 수행할 것이다. 참고로 no=1인 경우 guest에 해당하기 때문에(no=2를 시도하는 이유는 guest가 아닌 유저에 관한 정보를 얻기 위함이다.)no=1||no=2가 아닌 0으로 한 것이다. 0이 실제로 다른 id에 할당된 값인지 먼저 확인하였다. Failure가 출력되는 것을 보면 사용해도 될 것으로 보인다. 그리고 no=2인 경우 admin password를 입력.. 2019. 2. 1.
webhacking.kr 13번 [Blind SQL Injection] 13번 문제를 열면 아래와 같은 화면을 볼 수 있다. 먼저 no에 1을 입력하면 result로 1이 나오는 것을 볼 수 있다. 왠지 true와 false에 대해 result를 반환해주는 듯하여실제로 true와 false를 입력하면 각각 1과 0이 출력된 것을 볼 수 있다. 따라서 이 점을 이용하여 flag를 얻으면 된다.Select flag from prob13password라는 힌트를 이용하기 위해먼저 flag가 존재하는 지 확인하는 쿼리를 작성했다. ( select ( count(flag) ) from ( prob13password ))in(1) (이 문제는 다른 문제에 비해 필터링이 더 많이 처리되어 있었다.아래 인풋 값들은 입력이 가능한 것들을 이용하여 작성.. 2019. 1. 29.
webhacking.kr 9번 Webhacking.kr#9[Blind SQL Injection] 9번 문제를 열면 아래와 같은 화면을 볼 수 있다.우선 1, 2, 3을 눌러보았다. 아래와 같이 1을 누르면?no=1을 수행하고Apple이 나타난다. 2는?no=2이며Banana가 나타난다. 3은 마찬가지로?no=3 이며Secret이 나타난다. 1, 2, 3 이외의 숫자를 입력하면 어떻게 되는지 알기 위해0을 입력해보면 아래와 같이 첫 화면에서 봤던 페이지가 나온다. 이 점을 이용하면 Blind SQL Injection이 가능할 것으로 보인다.위의 페이지에서 힌트로 주어진 컬럼인 id와 no를 보면 no가 1일 때의 id는 Apple일 것으로 추정된다. 따라서 먼저 id의 길이가 5인지 확인해보면 아래와 같이 맞다는 것을 알 수 있다. 참.. 2019. 1. 29.
webhacking.kr 2번 [Cookie-Based SQL Injection, Blind SQL Injection] 2번 문제를 열면 아래와 같은 화면을 볼 수 있다. 페이지 곳곳을 둘러 보면 패스워드를 입력받는 곳을 두 군데 볼 수 있다.첫 번째는 Board이다. 두 번째는 아래와 같은 admin 페이지이다. 이 때 패스워드 창 자체에서는 SQL Injection이 힘들어서 페이지 내에서 다른 요소들을 찾아야 한다. 이 때, 쿠키를 보면 다른 문제들과 달리 time이라는 쿠키 값이 있는 것을 볼 수 있다. 또한 페이지 내의 주석을 보면 시간이 나타나 있는 것을 볼 수 있다. 쿠키 값과 관련이 있는 듯하여 time을 true로 바꾸어 보았다. 그 결과, 2070-01-01 09:00:01 이 나타난다. false일 때 또한 확인해.. 2019. 1. 29.