[웹해킹] SQL 인젝션 공격 실습 - Medium 단계

DVWA Security Level 을 Medium으로 설정하고 SQL Injection 페이지로 간다. 이번에는 ID를 폼에다가 입력하는 것이 아니라  정해진 값을 선택하도록 되어 있다.  이 경우 비록 GUI에서 값을 선택하도록 만들어놨지만 Intercept 기능을 이용해서 값을 바꾸는 것을 시도해 볼 수 있다.
Burp Suite의 Proxy -> Intercept로 가서 Intercept를 켠다. User ID를 1로 선택하고 submit을 눌러 본다.

 

Burp Suite에서 위와 같은 화면이 나오는데 여기서 id=1 부분을 id=1' or '1'='1 로 수정하여 Forward를 한다.

 

 

Forward를 했더니 그림과 같이 구문 에러가 난다. id값이 1, 2, 3, 4, 5 로 숫자로 되어 있었는데 문자열로 입력 했기 때문에 발생하는 에러일 수 있다. 소스 코드를 확인해 보자.


 


select 구문이 있고 user_id 부분에 id가 바로 오는 것을 알 수 있다. Low 단계에서는 작은 따옴표가 들어가 있었는데 이번에는 작은 따옴표 없이 id를 처리하고 있다. 이 말은 숫자가 들어와야 한다는 뜻이다.

다시 intercept를 하고 submit을 누른다. 이번에는 작은 따옴표를 넣지 말고 id에다가 id=1 or 1=1 과 같은 구문을 입력해 넣는다.

 

 

Forward를 해보자.

 

 

 

다른 결과들 까지 같이 출력 된다. SQL 인젝션 공격이 성공 되었다.

union공격도 가능한지 확인해보자. id=1 union select user,password from users# 을 넣고 Forward 한다.

 

 

그림과 같이 user ID와 Password가 출력되는 것을 볼 수 있다.

패스워드를 크랙하는 부분에서는 Low 단계에서 했던 부분임으로 넘어간다.

댓글

Designed by JB FACTORY