본문 바로가기

해킹

(122)
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도 다운이 된다? 이건 업로드할 때 이중으로 저장되는 게 아닌 이상 어떤 글자..
[11주차] 해킹 스터디 정리 - File Download 공격, LFI 취약점 [File Upload] 취약점 이유 > 업로드 되는 파일을 검증X 공격 시나리오 1. 웹 쉘 (리버스 쉘을 업로드하기 전 poc같은 느낌) 2. 도스 공격 3. 디페이스공격 index.html 4. 페이지 변조. 피싱 공격. 5. 악성코드 유포. * 대응 방법! 1. 업로드 되는 파일 DB에 저장. -> CLOB / BLOB 으로 설정하면 파일을 DB에 저장할 수 있음 (결국 웹서버가 아닌 다른 곳에 저장할 수 있게 만들면 어디든 가능) > 이미지 파일도 바이너리 형식으로 저장시킴 2. NAS (Network Attatched Storage : 파일 서버) : LAN으로 연결하는 외장 하드디스크 -> 업로드 파일이 저장되는 서버를 웹서버와 분리. 3. 파일 검증. - 확장자 검증 - 파일 시그니쳐 검증..
해킹 기법 - Metasploit 전쟁에 있어 해킹이란 (1) 시스템 파괴 => 전력 시스템 ICS 댐, 화력발전소, 수력발전소, 전력 시설. (2) 심리전 => Deface 공격 (일반 웹 사이트 대상으로) => Deepfake (3) 디도스 전쟁에서 해킹. -- 우크라 IT군 Metasploit 정말 강력한 해킹 툴. eternalblue 칼리 리눅스에 들어가 search eternalblue 라고 치면 관련된 모듈이 주루룩 나온다 그 중, smb_ms17_010 을 use auxiliary/scanner/smb/smb_ms17_010 라거나 use [ 해당 번호 ] 라고 치면 해당 모듈이 '장착' 된다. show options 라고 하면 어떤 옵션을 넣어야 하는지 required인지를 확인할 수 있다. 저렇게 확인했을 때 Requi..
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를 살..
[10주차] 해킹 스터디 정리 - File Upload 공격 ** 모의해킹 워라벨 -> 정보보안팀 모의해킹 팀. 보안컨설팅. IT -- File Upload What : 공격자가 임의의 파일을 업로드 할 수 있는 공격 -> 웹 쉘. -> 서버 장악. 웹 쉘이라는 건 사실 한 줄로도 만들 수 있음 ** Point ** 1. 우리가 웹 서버에서 실행할 수 있는 파일 2. 그걸 실행할 수 있어야함. (가장 중요) -> 업로드된 파일의 위치를 알아야 함. 만약 mal.php 라는 파일이 있다면? 웹 브라우저로 우리가 올린 파일을 요청하면 됨. 그럼 was에서 php 파일을 실행하고 우리(요청자)에게 전해주게 됨 웹 쉘을 띄웠을 때 가장 먼저 대부분 어떤 일을 할까? 대부분 소스코드를 탈취함 ** 소스코드 탈취. -> DB를 탈취 한다는 말과 동일 > 왜냐면 DB의 계정 ..