해킹스터디 7

Web Shell CTF #3 풀이

이번에는 WebShell #3 문제를 풀어보겠습니다. 링크의 lfi_1라는 텍스트를 보니 LFI 취약점을 이용하는 문제인 것 같습니다. flag.txt 의 파일 내용을 읽어내야 하는 문제입니다. 회원가입을 진행해주고 로그인을 합니다. 기존의 문제랑 달리 배치가 모양새를 띄고 있네요 ㅋㅋ 인사말 페이지에 취약한 파라미터가 있을 확률이 높을 것 같습니다. 게시판에 들어가 제목과 간단한 내용을 작성하고 간단한 이미지 파일을 업로드해서 패킷을 어떻게 주고받는지 살펴보겠습니다. Intercept 를 on 해줍니다. 대략 이런 패킷들이 주고받아지고 있습니다. 이상한 건 intercept 를 on 하고 Download를 눌렀는데도 다운로드가 받아졌다는 것입니다. 그래서 파일의 저장 위치를 알아내기 위해 개발자 도구를..

File Download CTF #2 풀이

이번엔 File Download CTF 두번째 문제를 풀어보겠습니다. 파일 다운로드 취약점을 발견했다면? 아마 파일 업로드도 해보고 다운로드도 해보고 웹 사이트를 탐색하다가 발견했을 겁니다. 그렇게 download.php라는 파일에서 filepath라는 파라미터로 다운로드 받는다는 것을 알아낸 상황입니다. 슬래시 다음 제 아이디 다음 슬래시 파일 명입니다. 그럼 오른쪽 Response에서 PNG 파일 시그니쳐와 함께 다운로드된 것을 볼 수 있습니다. 테스트를 위해 이전 디렉토리로 가는 ../를 넣어주겠습니다. 어라? 그래도 다운로드가 됩니다. /bokyu/itsfruit.png도 다운되고 /../bokyu/itsfruit.png도 다운이 된다? 이건 업로드할 때 이중으로 저장되는 게 아닌 이상 어떤 글자..

[9주차] 해킹 스터디 정리 - CSRF Token, SSRF, File Upload 공격

CSRF 공격 Remind > 요청이 서버에 날라간다. -WHERE > 모든 요청 -> 컨설턴트 주관 -> "비밀번호 변경" -> 게시판 글을 작성 CSRF (1) GET method > URL > 로그인 한 다음에 볼 수 있는 페이지 (2) POST method > 무조건 XSS 공격 포인트를 찾아야 함 -> 같은 도메인에서. 왜 꼭 같은 도메인?! -> 세션을 이용하기 위해서! 예전에는 공격자 사이트에 접속만 해도 모든 입력 정보를 받을 수 있었다. 최근에는 좀 더 똑똑해져서 도메인 별로 쿠키를 다르게 뿌려준다. (3) Referrer Bypass -> meta (4) CSRF Token -> 요청을 위조할 수 있다. -> XSS 공격이 있다면 Bypass 가능. 게시판이 위 코드를 복붙해서 원하는 ..

해킹/Web Hacking 2023.05.25

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..

XSS CTF 정리 3번 문제

이번엔 XSS CTF 3번 문제를 풀어보겠습니다. 목표는 alert를 띄울 수 있는 Reflected XSS 취약점을 찾는 것입니다. 처음 로그인 창이 뜨는 것은 2번 문제와 같습니다. 아마 계정이 연동될테니 그대로 로그인 하겠습니다. 예상대로 로그인 되었습니다. 마이페이지를 들어가 보겠습니다. Burp Suite로 어떤 파라미터가 들어있는지 분석해봅니다. 이 페이지는 user라는 파라미터를 GET 방식으로 보내고 있는데, 저 인코딩된 문자를 디코딩해보면 내 이름이 나오는 것을 알 수 있습니다. 검색 기능에 hi를 넣고 user 파라미터에 hi로 바꿔 send를 눌렀더니 match가 되는 것을 확인할 수 있습니다. 실제 페이지에서 테스트를 해봐도 placeholder의 값이 잘 적용됩니다. 럭키입니다. ..

[3주차] 회원가입 페이지 구현 #2 - 아이디 중복 체크

여태까지 만들어놨던 로그인 창이다. 여기에 회원가입 버튼을 만들어 회원가입 기능을 구현해볼 것이다. login_proc.php로 보내는 로그인 부분과는 별도로 새로운 form 태그를 열어준다. 그리고 그 form 태그는 enroll.php로 데이터를 POST형식으로 전송한다. test.php test.php 코드 저장하고 브라우저를 보면 회원가입 버튼이 생긴 것을 볼 수 있다. 회원가입 버튼이 빨간 건 test.css파일을 생성해서 input 버튼에 부여한 enroll id에 css코드를 입력해서 그렇다. 코드는 다음과 같다. test.css #enroll { color : red; } 회원가입 버튼을 누르면 회원가입 페이지 (enroll.php)로 이동한다. 현재까지는 주소 검색 기능이 없고 중복체크 ..

개발/웹 개발 2023.04.22

[2주차] 해킹 스터디 정리 - 쿠키,세션,세션ID,Burp Suite 사용법

HTTP : Hypert Text Transfer Protocol 쉽게 말해 통신 양식이다 관공서같은 곳에서 서류 작업을 할 때 제출해야 하는 양식 * 로그인 구현 -HTTP 프로토콜 > "요청" / "응답" HTTP는 로그인 후 다른 작업을 할 때 다시 인증을 받아야 하는 문제가 생긴다. 즉 연결성이 없다. 쿠키 이를 해결하기 위한 것이 쿠키 쿠키는 Set-Cookie를 통해 서버가 포스트잇처럼 client에 넣어주고 다음부터 client가 요청할 때마다 딸려오게 된다. 그럼 서버는 그 쿠키를 보고 사용자임을 알고 추가 인증을 할 필요가 없는 연결성을 부여해줍니다 여기서 취약점이 발생합니다 클라이언트에서 출발한다는 점이 변조가 가능하다는 것이다. mario라는 사용자가 cookie를 변조하여 bokyu..

해킹/Web Hacking 2023.04.06