Objective
Find the version of the SQL database software through a blind SQL attack.
SQL 데이터베이스 프로그램의 버전을 찾는 것이 목표이다.
블라인드라고 id에 1, 7을 넣었더니 ID가 있다, 없다라는 문구만 알려준다. 이것을 통해서 참, 거짓을 판별할 수 있을 것 같다.
반복 작업이 필요할 듯 하니 버프스위트에서 패킷을 잡아서, 리피터로 반복을 하도록 하겠다.
패킷을 보면 id값이 get인자로 넘어와서 저곳을 수정해서 계속 패킷을 날려보면 될 것 같다.
sua 멘토링 시간에 배운 팁을 이용해서 참일 때 뜨는 단어인 exists를 검색을 걸어두었다.
1%27+order+by+1%23 (1'+order+by+1#) 로 입력하니 여전히 exist가 떴다.
2도 마찬가지였으나, 3을 입력하니 sql 에러페이지로 넘어갔다.
컬럼 수는 앞의 취약점과 마찬가지로 여전히 2개 인 것을 확인할 수 있었다.
근데 생각해보니 어차피 블라인드 sql이니, 바로 버전 정보를 찾아보기로 하였다.
1'and substr(version(),1,1)='1'# 이렇게 입력하면 버전정보의 가장 앞 글자가 1이면 참을 출력할 것이다.
실제로 exists가 검색되어, 참임을 알 수 있었다.
얼마나 긴지를 모르니 1'and length(version()) = 1# 를 입력하여 찾아봤는데, 8까지 손으로 입력했으나 참인 값이 나오지 않아서 intruder를 사용했다.
길이는 15이다.
다시 각 자리를 찾는 것으로 넘어와서, 아래와 같이 intruder를 돌렸다
길이 순으로 나열하면 아래처럼 조금씩 찾을 수 있었다.
무료 버전인지라, 속도제한이 있어서 꽤 오래 걸렸는데, 파이썬으로 짜면 금방 걸리는 것 같다.
https://dominicsecurity.tistory.com/64
중간에 화딱지가 나서 10.4.24??a?iadb 요렇게 나왔는데, 딱봐도 답이 보여서 게싱해봤다.
and version()="10.4.24-mariadb"#
정답이었다!
근데 분명 셋팅은 mysql로 했는데 mariadb로 됐네..
'해킹 > DVWA' 카테고리의 다른 글
DVWA 실습 10. DOM XSS (Low) (0) | 2022.05.21 |
---|---|
DVWA 실습 9. Weak Session IDs (Low) (0) | 2022.05.20 |
DVWA 실습 7. SQL Injection (Low) (0) | 2022.05.20 |
DVWA 실습 6. Insecure Captcha (Low) (0) | 2022.05.20 |
DVWA 실습 5. File Upload (Low) (0) | 2022.05.19 |