이번에는 게시글을 쓸 수 있도록 해보겠다. 우선 게시글을 작성하는 창을 html을 통해서 간단히 만들었다. IQ Spoofing 글쓰기 중간중간 태그로 선을 그어주었다. 다만 글 작성을 로그인한 사용자만 사용할 수 있도록 제한하고싶다. 이를 위해서 session변수를 활용하였다. 세션 변수인 loggedin이 로그인시 true로 저장하게 하였으므로 우선 세션을 시작하고 난 뒤 이를 이용하여 로그인 상태를 확인 하였다. 만약 로그인이 되어있지 않을 경우에는 script태그를 이용하여 로그인이 필요하다는 창을 띄우고 게시판으로 리다이렉트시켰다. 아래는 전체 코드이다. IQ Spoofing 글쓰기 위의 데이터를 전송하는 upload_content_1.php를 작성하도록 하자. 우선 세션을 시작하여 세션변수로 ..
일반적으로 요청을 보내게 되면 요청을 전달하는 곳으로 페이지가 이동이 된다. CSRF공격시에 피해자의 세션을 이용하여 요청을 전달하게 되는데 이때 페이지가 원치 않는곳으로 이동하게 되면 피해자가 눈치 챌 가능성이 있다.이를 막기 위한 방법으로 iframe태그를 이용하여 새로운 창을 삽입하고 그 창을 보이지 않게 한 다음 그 창을 통해서 요청을 보내게 된다. 예시 코드는 아래와 같다. //보이지 않는 iframe창을 띄움//iframe(hiddenwindow)으로 요청을 전송하도록 함. //전송이 바로 이루어짐하지만 이 방법을 보다보니 이벤트 핸들러를 통해 버튼을 누르고 JS코드를 통해서 전송만 할 수 있도록 하고 페이지 이동을 막는법을 생각해보았다.생각해낸 방법은 form의 데이터를 가져와 요청을 바로 ..
-Anti XSS Bypass -> Black List 기반 필터링 WAF. 일반 방화벽은 IP주소와 포트번호만으로 차단. WAF는 웹에플리케이션 기반으로 요청을 열어보고 막아줌. 이는 패턴 기반임. 대부분의 WAF는 XSS가 막힘. 1) Client Side 검증 우회 클라이언트측에서 검증을한다? 말이 안됨. javascript와 같은 언어로 클라이언트측에서 특정언어를 필터링 - > burp swip과 같은 프록시툴을 통하여 변경이 가능 2) Script Load ", ' , alert, function 과 같은 특정 단어를 애매하게 필터링 - > 스크립트를 로드할 수 있음 이는 글자수 제한과 같은 부분에 사용이 가능 3)대소문자 혼용 //버튼을 누를 필요가 없음. //보이지 않는 iframe창을 띄움..
여기의 목표는 XSS로 키로거를 삽입하는 것이다. XSS 3과 마찬가리로 검색 페이지에서 검색한 결과가 다음과 같이 나온다. 잘 안보이나 설명하면 a태그 사이에 입력값인 aaaa가 출력된다. 만약 글이 없으면 다음과 같이 alert으로 존재하지 않는다는 창이 뜬다 script코드를 제목에 작성하고 검색을 하게 되면 다음과 같이 코드가 실행된다. 이제 여기에 키로거를 만들면 된다. 코드 확인은 아래의 글에 작성하였다. https://iqsp.tistory.com/56 Keylogger_JS 키로거는 컴퓨터 또는 모바일장치에서 사용자의 키입력을 기록하는 소프트웨어나 하드웨어를 말한다. 키로거는 운영체제 레벨에서 작성하거나 악성 소프트웨어 등으로 숨겨진 상태로 실행 될 iqsp.tistory.com 다만 이 ..
키로거는 컴퓨터 또는 모바일장치에서 사용자의 키입력을 기록하는 소프트웨어나 하드웨어를 말한다. 키로거는 운영체제 레벨에서 작성하거나 악성 소프트웨어 등으로 숨겨진 상태로 실행 될 수도 있다. 사용자의 키보드 사용 즉, 입력이 발생하게 되면 어떠한 형태로든 저장/전송한다. 하드웨어 키로거 컴퓨터 키보드나 usb포트와 연결되어 실제 키 입력을 기록하게 된다. 이러한 하드웨어는 외부에서는 발견하기 힘들며 주로 사전에 접근한 사용자에 의해 설치되는 경우가 많다. 소프트웨어 키로거 소프트웨어 키로거는 이름대로 소프트웨어로 사용자의 컴퓨터나 모바일장치등에 침투해 사용자의 키보드 사용시 입력한 키를 기록한다. JS를 통하여 작성한 키로거는 웹에서 사용이 가능하다. 이때 이벤트 핸들러를 통하여 키의 입력을 판단하고 그..
여기에서의 목표는 XSS취약점을 찾아서 alert를 띄우는 것이다. 이 페이지에서 클라이언트측의 입력이 출력되는 곳은 오직 게시글 검색 한곳이다. 검색창에 값을 입력하게 되면 다음과 같은 응답이 나오게 된다. 작성자 제목 내용 User ID Title Views Date 글쓰기 script태그 사이에 있는 alert함수로 입력값이 출력이 되고 있다. XSS가 성공하기 위해서는 get 방식의 전송이 필요하므로 burp swip의 repeater에서 change response method로 전송방식을 get으로 전송하였더니 같은 응답이 나왔다. 즉 현제 페이지에서는 XSS취약점이 있다는 것이다. 태그를 쓰기위한 특수문자인 ,',"을 넣어서 전송을 해 보았다. 그 결과는 다음과 같다. 즉, 위에서 사용한 특..