백도어 파일이 준비되었고 이제 메타스플로잇 프레임워크를 이용한 페이로드를 exploit 명령을 사용하여 시작합니다
이제 희생자 시스템으로 이동하여 만들어 놓은 백도어를 칼리 리눅스에서 실행중인 웹 서버에 접근하여 다운받은 후 실행합니다
실행 후 아무일도 일어나지 않지만 칼리 리눅스로 돌아와 메타스플로잇 프레임워크를 이용하여 exploit을 실행한 터미널로 이동한다면 새로운 연결이 생성된 것을 확인할 수 있습니다
미터프리터로 연결된 리버스 쉘을 볼 수 있습니다
웹 서버를 이용하여 백도어를 전달하는 것은 매우 기본적인 전달 방법입니다
대상 컴퓨터에 연결을 확인한 후 미터프리터에 여러가지 명령어를 사용할 수 있습니다
간단하게 sysinfo 명령어를 작성했습니다
미터프리터 세션을 이용하여 컴퓨터에서 할 수 있는 모든 작업이 가능합니다
리버스쉘을 얻기 위해 여러가지 방법이 존재합니다
이중에서 사회 공학 기법을 이용할 수 도 있습니다
이전에 사용했던 Beef 프레임워크를 사용했습니다
사회 공학 탭에 존재하는 Fake Notification Bar인 파이어폭스를 선택합니다
플러그인 주소를 백도어가 존재하는 시스템의 IP주소에 파일로 적어서 백도어를 전송하도록 합니다
그러므로 플러그인 등 여러가지 설치가 필요하다는 문장은 결국 백도어 파일을 다운로드 하는 것입니다
백도어 실행 전 미터프리터에 접속하여 이전과 같이 exploit을 진행합니다
이 또한 이전과 같이 연결할 수 있습니다
XSS를 방지할 수 있는 방법들
XSS가 발생하는 이유는 사용자가 텍스트 상자, 매개변수를 해당 입력은 HTML에 표시되고 페이지의 일부 인 것처럼 취급되므로 자바스크립트가 실행중입니다
악용을 방지하기 위해서 신뢰할 수 없는 입력의 사용을 최소화 하는 것입니다
HTML에 표시되거나 사용될 항목이 무엇이든지 항상 이스케이프 처리를 해야 합니다
XSS는 페이지에 표시되는 위치에만 주입하는 것이 아닙니다
또한 사용자의 입력이 어디에서나 사용될 때 코드가 포함되면 HTTP로 인코딩을 진행합니다
DVWA에서 high 수준의 XSS를 방지하는 코드를 확인했습니다
웹 페이지에 코드 그대로 보여지게 됩니다
해당 부분을 Inspect를 사용하여 확인했습니다
코드를 태그 사이에 넣었습니다
소스코드를 확인해보면 우리가 입력한 문자들은 htmlspecialchars()라는 메서드를 거친 후 웹 페이지에 보여지게 됩니다
즉 특정 기호를 입력 시 특정한 코드로 변경됩니다
그렇기 때문에 소스코드로서 실행되지 않고 문자열로서 입력됩니다