본문 바로가기

전체 글

(226)
[12주차] 게시판 구현 #8 - 게시판 날짜 지정 검색 구현 이번에는 게시판에 날짜를 지정해서 검색하는 기능을 구현해보겠습니다. 다음 코드를 form 태그 안 쪽으로 넣어준다. noticeboard.php 이렇게 되면 예쁘게 input 태그가 생겼습니다. GET 파라미터로 첫 번째 INPUT 값에서 pre_date를 받고 이를 시작일로 인식하게 합니다. 두 번째 INPUT 값에서 end_date를 받고 이를 종료일로 인식하게 합니다. 그리고 페이징 구현 부분에서 전달되는 파라미터가 있는 모든 url코드에 pre_date와 end_date를 추가해줍니다. 각 URL마다 변형할 것 없이 똑같이 해주면 됩니다. 이렇게 파라미터가 전해지는 URL에 모두 pre_date와 end_date 파라미터 추가가 완료되었습니다. 그런데 내가 만든 웹사이트에서는 게시판 DB에 작성날..
[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. 파일 검증. - 확장자 검증 - 파일 시그니쳐 검증..
[Git] 두 번째 프로젝트를 열고 싶다면? 원래 GitHub이라는 걸 이름만 알고 있었지 첫 커밋이란 것도 최근에 해보았다 사실 얼레벌레 구글링한걸 따라치다보니 된 느낌이라 테스트용으로 다른 레포지토리를 열어 다시 한번 커밋해보아야겠다고 생각했다 테스트용으로 간단한 html 파일을 하나 만들었다. index.html 쓰다보니 알게된건데 VSC에는 GIT표시가 나와있었다.. VSC 꽤 썼다고 생각했는데 GIT을 알고난뒤에야 이게 보인다..역시 사람은 아는 만큼 보이는듯 git에 익숙해져야겠다고 생각한 내 의도와 저 버튼 연구는 의중이 딱 맞아떨어졌다 저 체크표시를 누르면 Commit이 바로 되는데, 저기 Message를 치면 git commit -m "어쩌구" 이 코드와 같은 효과를 낸다 커밋 후에 git에서 알려준 코드 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 태그에 다운로드 주소가 나와있었다 일단은, 이 위치를 기억해두고 아까 한 줄..
Burp Suite에서 SSL 적용된 웹사이트 접속 설정하기 보호되어 있는 글입니다.
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를 살..