Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | ||||
| 4 | 5 | 6 | 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 | 15 | 16 | 17 |
| 18 | 19 | 20 | 21 | 22 | 23 | 24 |
| 25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- wireshark
- Reversing
- pwnable
- 자료구조
- bWAPP
- docker
- Dreamhack
- Reflected
- Systemhacking
- AWS
- backjoon
- SISS
- c
- CodeEngn
- beebox
- python
- mount
- datastructure
- fork-bomb
- System
- cloud
- Linux
- acc
- 백준
- 와이어샤크
- htmlinjection
- EC2
- basicrce3
- 유석종교수님
- cgroup
Archives
- Today
- Total
Ctrl + Shift + ESC
[BWAPP] SQL Injection (POST/search) 본문
MISSON. 버프스위트를 이용해 사용자들의 id와 password를 획득하자.
Quest. 데이터베이스 정보를 알아내세요.

이번에도 지난번과 같이 '를 통해 SQL Injection이 가능한지 살펴보았다.

버프스위트를 이용해 살펴보았다.
하단의 title과 action이 눈에 띈다.
action = search는 아마도 이번 injection post/search를 말하는 것 같고, title을 건드려보자.

title에 siss라고 작성한 뒤 forward를 했다.

목록에 siss라는 영화가 없었기 때문에 이런 결과가 나온 것 같다.
버프스위트를 이용해서 홈페이지를 건드릴 수 있다는 것을 알아냈다.
데이터베이스 정보를 알아내자.
0' UNION SELECT ALL 1,@@version,3,4,5,6,7#

그러면 이렇게 데이터베이스에 대한 정보를 알 수 있다.
Quest. 데이터베이스에 존재하는 모든 테이블 명을 출력하세요.
information_schema를 사용해서 확인해보자.
0' UNION SELECT ALL 1,table_name,3,4,5,6,7 from information_schema.tables#

잘 출력되었다.
Quest. 사용자 정보가 들어있는 칼럼을 출력하세요.
이전 실습에서 우리는 사용자 정보가 users에 들어있다는 것을 확인했다.
따라서 users의 칼럼을 출력하면 된다.
0' UNION SELECT ALL 1,column_name,3,4,5,6,7 from information_schema.columns where table_name= 'users'#

Quest. 사용자의 id, password, secret, login 정보를 출력해봅시다.
id, password, secret, login 칼럼을 출력하면 된다.
0' UNION SELECT ALL 1, login, password, email, secret,6,7 from users#

Quest. 사용자의 비밀번호는 해시 값으로 암호화되어 있습니다. 해시값을 크랙해 비밀번호를 알아봅시다. (툴을 설치할 필요 없이 웹사이트를 이용하셔도 됩니다.)
아까 구해낸 password가 해시 값으로 암호화되어 있다.
웹사이트를 이용해 해시값을 크랙하자.
두 사용자의 비밀번호가 같기 때문에 한번만 해도 될 것 같다.

그리고 버프스위트 사용하는 장면을 잘 나타내지 못해서 덧붙여보자면
원래 Search for a movie: 옆에 있는 텍스트박스에 입력해서 문제를 해결했는데 이를 버프스위트의 타이틀에 입력한 뒤 forward를 하면 똑같이 실행된다.