[ 실습 목표 ]
There are 5 users in the database, with id's from 1 to 5. Your mission... to steal their passwords via SQLi.
데이터베이스에 5명의 유저가 존재하는데 이때 이 계정들의 패스워드를 알아내라!
[ 실습 화면 ]
- select 태그를 통해 id 를 전송하고 사용자 계정의 정보를 획득한다.
- id 를 사용자가 직접 값을 입력하는 것이 아니므로 패킷을 이용해서 취약점을 발생 시킬 수 있는지 한번 잡아서 확인해보자!
- User ID 를 1로 선택하고 Submit 버튼을 클릭하고 패킷을 잡아보니 위와 같은 패킷으로 구성되어 있다.
- 이때, 소스코드를 확인해보면 id 의 값을 따옴표를 통해서 받는게 아니라 그냥 직접 정수로 넣어버린다.
- 저번 레벨과 마찬가지로 union 을 이용해보자.
- union select user, password from users# 를 id=1 과 $Submit=Submit 사이에 대입한다.
- Low 레벨에서 users 테이블에서 아이디와 비밀번호의 열 이름은 이미 user, password 라고 구했으므로 위와 같이 쿼리문을 작성할 수 있다.
- 이렇게 모든 유저의 정보가 출력되었다.
- 비밀번호는 md5 으로 암호화되어 있으므로 검색을 통해 알아낸다.
- 이렇게 총 5개의 계정의 아이디와 비밀번호를 알아냈다!
'TeamH4C' 카테고리의 다른 글
[빡공팟 5기] W6 : DVWA 실습 - Weak Session IDs (medium) (0) | 2022.10.30 |
---|---|
[빡공팟 5기] W6 : DVWA 실습 - SQL Injection(Blind) (medium) (0) | 2022.10.30 |
[빡공팟 5기] W6 : DVWA 실습 - Insecure CAPTCHA (medium) (0) | 2022.10.30 |
[빡공팟 5기] W6 : DVWA 실습 - File Upload (medium) (0) | 2022.10.30 |
[빡공팟 5기] W6 : DVWA 실습 - File Inclusion (medium) (0) | 2022.10.30 |