본문 바로가기

해킹/해킹 기법

(53)
File Upload CTF 풀이 #2 이제 File Upload 두번째 문제를 풀어보겠습니다. 회원가입을 다시 진행해주고 게시판에 들어갑니다 1편에서 사용했던 webshell.php파일을 그대로 올리려고 하니 php를 업로드할 수 없다고 뜬다. 확장자를 webshell.png.php로 바꿔보았는데도 업로드 되지 않았다. 일단 파일이 어디에 저장되고 다운로드 되는지를 알기 위해서 일반 이미지 파일을 하나 첨부했다 일반 이미지 파일은 잘 올라갔다 파일이 올라갔을 때 png 파일을 올렸으므로 File 시그니쳐가 뭍게 되는데, 이 파일 시그니쳐 맨 끝에 웹 쉘 코드를 그대로 붙여준다. 다운로드를 눌러도 버프 스위트에 반응이 없어서 F12를 눌러 개발자 도구를 살펴봤더니 a 태그에 다운로드 주소가 나와있었다 일단은, 이 위치를 기억해두고 아까 한 줄..
File Upload CTF 풀이 #1 파일 업로드를 위한 간단한 웹 쉘 파일을 하나 생성하자 메모장을 켜서 다음 코드를 작성해줍니다 작성 후 php 파일을 만들어주기 위해 다른 이름으로 저장을 눌러준다. 모든 파일로 바꿔주고 인코딩 방식은 UTF-8 로 해줍니다. 이제 webshell.php 파일이 완성되었습니다. 자 이제 간단한 webshell을 저장했으니 풀 CTF 페이지로 가봅니다. 로그인을 해주고 게시판으로 가줍니다. 전에 연습용으로 적었던 글이 있는데 저건 아닙니다. 글쓰기를 눌러줍니다. 제목과 내용 그리고 파일을 첨부할 수 있는 칸이 구현되어 있습니다. 이렇게 쓰고 올려줍니다. 글 작성에 성공했습니다 Burp Suite로 대략적인 HTTP History를 살펴봤는데 업로드시킨 위치 정보를 찾을 수가 없었습니다. 그래서 다운로드를 ..
[File Upload 공격 정리] 내가 만든 웹사이트를 웹 쉘로 장악하기 집에 있는 데스크탑 pc에서 가상머신으로 웹 서버를 실행시켜 뒀습니다. 포트포워딩까지 끝냈더니 노트북으로 사이트를 들어가니 잘 접속됩니다. 다음번엔 도메인도 한번 구해봐야겠어요 메모장으로 간단한 웹 쉘도 만들었습니다. 글쓰기 버튼을 눌러봅니다. 글 작성 페이지가 잘 뜹니다. 가상머신 쬐끄만 창에서만 보던 걸 노트북 화면으로 띄우니까 감회가 새롭네요 게시판 답게 어그로가 끌릴만한 제목으로 webshell.php를 업로드 해줘보겠습니다. 웹 서버 코드에 allowed_mime_type 변수를 리스트로 생성만 해놓고 조건문으로 걸지 않았더니 php 파일도 잘 등록이 됩니다. 현재 제 서버는 File Upload 공격에 엄청나게 취약하다는 뜻이겠죠 Burp suite 브라우저를 열어 HTTP history를 살..
해킹 기법 - Hash Cracking 케빈 미트닉 > 사회공학기법의 달인 전화 해킹. * 보안! 돈 주고 사는 프로그램, 솔루션이 아니다. rsh -> ssh rlogin R 서비스 . ( Remote ) 홈디렉토리. .rhosts. IP주소 JSZ : IRC IP 스푸핑으로 인증을 다 뚫어버릴 수 있음 공격 원리 TCP Session Hijacking > 클라이언트 pc는 syn 대답을 못하게 마비를 시켜버리고, 공격 pc로 서버에 syn을 날리면 서버가 클라이언트 pc에 synack를 보내고 다시 공격 pc가 ack를 날려서 완성시킨다. (클라이언트 pc는 syn응답을 하지 못하는 마비상태이므로) * TCP / UDP 데이터를 보내는 방법의 차이 - TCP : 데이터 잘 보내는 것 - UDP : 막 보내는 것 * TCP 연결 과정 3 W..
CSRF CTF 문제풀이 #1 이번엔 CSRF CTF 1번 문제를 풀어보도록 하겠습니다 CSRF 공격을 이용해 admin 계정의 비밀번호를 바꾸게 해야합니다. CSRF 공격은 폭과 높이를 0으로 숨긴 iframe을 써서 action 속성으로 전달된 창이 뜨지 않게 할 수 있습니다. 코드를 보면 게시판만 읽어도 mypage_update.php에서 회원 정보를 수정한 효과를 얻을 수 있습니다. Javascript에서는 document.forms 객체로 form 태그에서 사용되는 양식들을 제어할 수 있습니다. 코드대로라면 document.forms[0].submit()은 코드의 처음 form 태그 안에 존재하는 submit 속성을 가진 input을 누르게 될 겁니다. document.forms 사용법 →document.forms[0] →d..
해킹 툴 - MaxPhisher 설치 및 사용법 저번에 들었던 MaxPhisher가 아주 매력적인 라이브러리 툴이라 생각되어 어떻게 사용하는지 한번 사용해보았다 MaxPhisher의 git에 들어가면 설치 방법과 사용법이 차례대로 소개되어있다. 처음에 냅다 git도 깔지 않고 git clone 코드를 입력했더니 안 되었다. 당연한걸.. sudo apt install git python3 php openssh-client -y 이때 -y 옵션은 yes로 설치 시 나타나는 모든 물음에 yes라고 답한다는 뜻이다. 설치과정 중 추가적인 디펜던시나 라이브러리 등의 설치 시 모두 yes를 답한다. 터미널에 코드를 입력하면 설치를 시작한다. Progress 바로 설치 진행률이 보인다. git clone https://github.com/KasRoudra/MaxP..
해킹 기법 - 사회공학기법, 피싱, maxphisher 해킹할 때, 코딩이 필요할까??? > 무조건. > 농구하는데, 점프 없이 농구 가능할까? 하는 느낌 > 그러나 코딩을 다 배우고, 해킹공부를 하는 건 아니다. 사회공학기법. 사람을 속이는 것. 사람의 심리를 공격 사기꾼. - 암호 해킹 기법 [고무 호스 암호 분석] ---------------------------------------------------------------------------------------- [ - ] Piggybacking -> 리얼월드에서 가능 > 어느 회사든 사무실까지 갈 자신. ** 20억이 넘는 보안 시스템. 정부 청사. > 대학생 한명한테 해킹당해 뚫림 -------------------------------------------------------- IP주소 ..
XSS CTF 정리 3번 문제 이번엔 XSS CTF 3번 문제를 풀어보겠습니다. 목표는 alert를 띄울 수 있는 Reflected XSS 취약점을 찾는 것입니다. 처음 로그인 창이 뜨는 것은 2번 문제와 같습니다. 아마 계정이 연동될테니 그대로 로그인 하겠습니다. 예상대로 로그인 되었습니다. 마이페이지를 들어가 보겠습니다. Burp Suite로 어떤 파라미터가 들어있는지 분석해봅니다. 이 페이지는 user라는 파라미터를 GET 방식으로 보내고 있는데, 저 인코딩된 문자를 디코딩해보면 내 이름이 나오는 것을 알 수 있습니다. 검색 기능에 hi를 넣고 user 파라미터에 hi로 바꿔 send를 눌렀더니 match가 되는 것을 확인할 수 있습니다. 실제 페이지에서 테스트를 해봐도 placeholder의 값이 잘 적용됩니다. 럭키입니다. ..