bWAPP SQL Injection [ GET/Search ] Current : low
Search 를 클릭하여 패킷을 잡고 Request 값을 분석합니다.
위와 같이
title
변수를 사용하여 값을 전달합니다.
위 주소를 보면
GET
방식으로 title
, Search
변수를 노출시킵니다.
따라서 ,
URL
부분을 통해 SQL
을 시도하는 방법과 텍스트 폼에 SQL
구문을 넣어 시도할수있습니다.
위와 같이 텍스트 폼에
'
를 넣어 SQL
구문 오류가 발생하는지 취약점을 진단합니다.
이번엔
' or 1=1#
Login SQL
구문을 넣어 아래와 같이 취약점을 진단합니다.
진단 결과 위와 같이 여러 사용자의 이름 및 정보들이 출력됩니다.
이번엔
UNION
구문을 통해 SQL
취약점을 진단합니다. 'UNION ALL SELECT 1,2,3,4,5,6,7#
를 통해 칼럼길이
를 적절히 맞추어 UNION SQL
을 시도합니다.
진단 결과 여러 사용자의 정보들이 출력됩니다.
이번엔
UNION
SQL
구문의 명령어인 @@version
을 통해 버전 정보를 확인합니다.
확인 결과 아래와 같이
Ubuntu
버전이 출력된 것을 확인이 가능합니다.
이번엔
table_name
SQL
구문을 통해 테이블명을 아래와 같이 뽑아냅니다.
테이블명을 뽑아낸 결과 위와 같이
user
테이블의 사용자가 확인이 가능합니다.
이를 통해 위에서 뽑아낸
user
테이블 명에 대해 where
구문을 추가하여 users
사용자에 대한 추가 정보를 아래와 같이 추가적으로 획득합니다.
이번엔 ,
column_name
을 통해 여러 사용자의 정보들을 획득합니다.
위와 같이
column
구문을 통해 id , login , password , email , secret 등 다양한 정보를 추가적으로 획득이 가능합니다.
아래와 같이
concat
을 통해 문자열을 합쳐 여러 사용자에 대해 정보를 조회합니다.
이번엔
concat
을 사용하지 않고 여러 사용자의 정보를 조회합니다.
조회 결과 아래와 같이 사용자의 password , secret 등 각종 정보와
Hash
값으로 추측되는 정보까지 획득이 가능합니다.
취득한 위
Hash
값은 John the Ripper
툴 및 SHA256
패스워드 복호화 툴을 통해 Hash
함수 해독이 가능합니다.
댓글
댓글 쓰기