반응형
SMALL

1. SQL 인젝션 공격 High 단계 실습

[그림 1-1] SQL 인젝션 공격

DVWA 레벨을 high 설정한 SQL Injection 탭을 클릭하면 기존과는 다르게 영어로 링크가 있다. 링크를 클릭한다.

 

[그림 1-2] 소스코드

SQL 인젝션 공격에 앞서 소스코드를 확인하면 '$id' 뒤에 LIMIT라는 쿼리가 추가 되어 있는데 쿼리는 레코드의 개수를 제한한다. 현재 쿼리는 1 제한 되어 있지만 부분을 우회하기 위해 주석처리를 한다면 우회가 가능하다.

 

[그림 1-3] SQL 인젝션 공격

앞에 값이 참이든 거짓이든 부분을 참으로 만들어 쿼리가 동작하는 구문을 삽입한다. 1' or '1'='1'# 입력한 전송한다. # 주석으로 소스코드에서 Limit 1 우회하기 위해 사용된다.

 

[그림 1-4] 공격 성공

1' or '1'='1'# 입력한 전송된 결과 SQL 인젝션 공격이 성공했음을 확인할 있다. Limit 1 우회되면서 전체 데이터베이스의 정보를 출력된다.

 

[그림 1-5]  테이블 정보

테이블 정보를 확인하기 위해 union SQL 공격 구문을 삽입한다. 1' union select user, password from users# 삽입하고 전송한다. Users 테이블에서 user, password 컬럼을 숫자 1 조합해 참을 만들어 추출한다는 쿼리다.

 

[그림 1-6]  테이블 내용

1' union select user, password from users# 쿼리 전송 결과 아이디, 패스워드로 보이는 정보들이 노출되었음을 확인할 있다. 패스워드는 암호화 되어 있지만 MD5 형식이고 구글에서 쉽게 평문으로 변환이 가능하다.

반응형
LIST

'웹해킹 > DVWA' 카테고리의 다른 글

SQL 인젝션 공격 대응 방안  (0) 2020.01.28
SQL 인젝션 공격(2)  (0) 2020.01.28
SQL 인젝션 공격 (1)  (0) 2020.01.28
브루트 포스 공격 대응 방안  (0) 2020.01.26
브루트 포스 공격  (0) 2020.01.26
블로그 이미지

만년필석사

,