검색결과 리스트
글
들어가니 대놓고 Blind Sql Injection 이라고 나온다.
위와 같은 Keyword 들을 필터링한다고 나와있다.
평소처럼 코드를 봐보니 위와 같은 주석이 있었으며
그 내용을 보니 guest / guest 로 로그인 할 수 있고 admin의 password 를 찾으라는 것 같다.
guest / guest 로 로그인 하니 위와 같이 OK guest 가 나왔다.
이 외의 ID 나 잘못된 PW 를 입력하면 위와 같이 False 라고 나온다.
admin 으로 로그인하기 위해서 admin' and 1=1 -- 라는 Query 문을 작성했다.
위와 같이 OK admin 이라고 나온다.
나는 admin 의 password 를 알아내기 위해 true / false 를 반환하는 DB에
len() 이라는 function 을 이용하여 pw 의 길이를 유추했다.
Password 의 길이는 10 글자라고 한다.
하나하나 입력해보려면 시간이 너무 오래 걸리니 브루트포싱을 이용해서 찾기로 하였다.
굳이 Burp Suite 가 아니여도 되기는 하지만 여기서 User-Agent 와 Cookie 를 확인하고
다음과 같은 코드를 통해 Admin 의 Password 를 구할 수 있다.
위의 Substring () Function 은 MySQL 에서 substring(string, start point, length) 와 같은 형식으로 사용된다.
이 문제의 DB가 MySQL 이라는 걸 알 수 있었던 이유는 Injection 할 때 MySQL 에 있는 함수를 사용할 수 있다는 걸 알았기 때문이다.
따라서 위의 코드는 PW 가 10 글자 이니 10번의 반복을 하고,
DB 의 pw 에서 한 글자씩 가져와 비교해보고 OK 라는 문구로 True 값이 확인되면 key에 더하는 형식으로 admin 의 pw 를 찾았다.
'Hacking > Web Hacking' 카테고리의 다른 글
Webhacking.kr 5번 문제 (0) | 2018.09.21 |
---|---|
Suninatas 23번 문제 (0) | 2018.09.20 |
Webhacking.kr 3번 문제 (0) | 2018.09.18 |
Webhacking.kr 14번 문제 (0) | 2018.09.18 |
Webhacking.kr 15번 문제 (0) | 2018.09.18 |
RECENT COMMENT