목록hacking study (69)
wonder

☞ 파일 업로드 공격 시나리오 및 사례 웹쉘과 같이 파일업로드로 인해 웹서버에 접근할 수 있다면 추후에 이차적인 공격이 다방면으로 가능합니다. 1. 백도어 파일 업로드 서버 측에 백도어 파일을 업로드할 수 있습니다. 또한 리버스쉘과 같이 다양한 쉘을 올릴 수 있습니다. 2. 악성 실행 파일 업로드 웹쉘로 접근한 후에 디렉토리에 업로드 권한으로 악성 실행파일을 업로드할 수 있습니다. ex) 트로이목마 .exe 파일을 웹 트리에 업로드 > 피해자가 실행 파일을 다운로드합니다. 3. XSS script 코드 실행 A. 파일 업로드를 통해 스크립트 코드도 실행시킬 수 있기 때문에 Stored XSS가 가능합니다. ex) 스크립트가 포함된 .html 파일 업로드 > 피해자가 XSS(교차 사이트 스크립팅)를 경험합..

☞ Gobuster 웹해킹을 할 때 사이트에 대해서 겉으로는 드러나지 않는 어떤 디렉토리가 있는지 확인해야합니다. 접근할 수 있다면 좋겠지만 대부분의 사이트들은 사용자가 관리 디렉토리에 접근 못하도록 막아놨을 것입니다. gobuster는 dictionary 검사로 brute force 방식입니다. 하지만 스레드를 60~100으로 설정하여 훨씬 더 빠른 검사가 가능해서 효율이 좋습니다. 기본적으로 칼리리눅스에 저장되어있는 사전파일을 선택합니다. 200 성공 301 찾음 403 접근금지 404 그런 사이트 아예없음 500번대 서버문제 역시 예상대로 접근할 수 있는 파일이 없습니다. (rb는 메인페이지) 하지만 확인해보는 것이 좋습니다. ☞ Setuid 웹상에서 웹쉘을 파일업로드하여 쉘까지 실행시킬 수 있었다..

☞ 파일 업로드 공격과정 1. 게시판업로드, 프로필사진등록, 서류제출 등 파일창이 있는 곳이면 어디든 찾아봅니다. 2. 이미지를 올려 어떤 경로로 저장되는지 확인합니다. burp suite 또는 새창에서 열기로 현재 경로를 알아냅니다. 3. webshell.php 파일이 올라가는지 확인합니다. 올라가지 않는다면 4. intercept를 켜고 클라이언트측 알림창인지, 서버측 알림창인지 확인합니다. 요청을 잡지 않고 알림창이 뜨니까 클라이언트 측 에러라고 볼 수 있습니다. 클라이언트측이라면 요청이 서버까지 가서 응답을 받아온 것이 아니라 웹브라우저 측에서만 겉으로만 막아냈다고 보시면됩니다. 조금 더 보안에 신경쓴 사이트라면 자바스크립트가 노출되어있지 않고 .js 파일로 include했을 것입니다. A. 어떻..

☞ 메인페이지 구성 메인 로그인 페이지에서 바로 비회원 문의 게시판으로 이동하도록 합니다. 회원 게시판은 로그인을 해야 했다면 비회원 게시판은 로그인없이 같은 기능을 사용할 수 있도록 제작합니다. 옵션 검색부터 정렬, 페이징 등은 그대로 사용하도록 하고 파일업로드는 제외하였고, ask_board로 테이블을 새로 등록시켰습니다. ☞ 연락처 추가 기능 추가될 기능은 연락처이며 추가/수정할 때만 등록한 익명 회원에게 보입니다. 다른 사람들이 글을 읽었을 때는 연락처가 포함되지 않고 DB에 저장만 돼있습니다. ☞ 비밀번호 기능 비밀번호는 회원가입없이 등록된 비밀번호로 삭제/수정 가능합니다. 임의의 비밀번호로 사용가능합니다. 원래는 새로 글을 등록할 때도 로그인한 세션에 대한 비밀번호를 검증했다면 지금은 그 단계..

☞ 파일업로드 공격 파일업로드 공격은 DB만 장악하는 SQL처럼이 아니라 서버측에 파일을 업로드하여 서버전체를 장악하는 공격이라고 할 수 있습니다. = 공격자가 원하는 임의의 파일을 업로드할 수 있는 취약점입니다. 서버에서 실행할 수 있는 악성코드입니다. 한줄코드로 간단하게 제작이 가능한 웹쉘을 php 파일 확장자로 서버에 올립니다. cmd.php 웹쉘 php기반서버에서는 php만 실행되고 jsp인지 php인지 맞춰서 웹쉘 코드를 써줍니다. system()명령어는 쉘에다가 명령어를 넣으면 실행시켜줍니다. echo system('ls') 처럼 실행시킬 수 있고, URL을 통해 GET방식으로 name="cmd" 라는 명령어를 불러온다는 뜻입니다. 여기서 서버에 올린 파일이 실행이 되는 이유는 웹서버 원리를 ..

☞ CSRF토큰 사용으로 요청을 막을 때 csrf 토큰은 변경 전에 마이페이지에 들어왔을 때 세션에 과 함께 저장됩니다. 그다음 정보변경 요청을 할 때 토큰값을 검사하여 서로 맞다면 요청을 받아들입니다. csrf 토큰으로 요청을 막을 때 우회방법은 iframe을 통해 마이페이지로 들어가 CSRF토큰값을 받아와야합니다. 그 다음 post 폼안에 토큰값을 넣고 자동으로 submit합니다. write는 띄어쓰기를 안하지만 writels은 띄어준다는 점에서 차이가 있습니다. ☞ VPN(virtual private network) vpn은 가상사설망이며 반대 개념인 public 네트워크와 달리 데이터 통신내용이 공개되지 않고 서로 연결하도록 암호화가 됩니다. public network는 누구나 접속가능하기 때문에..