본문 바로가기

전체 글93

File Upload File Upload 공격자가 임의의 파일을 업로드할 수 있는 공격 여러 가지 코드를 올려서 취약점을 공격할 수 있지만 웹 쉘을 올려 서버를 장악하는 것을 초점으로 잡을 것이다. 웹 쉘은 공격자가 원격에서 웹서버에 명령을 수행하도록 올린 스크립트 파일이다. 따라서 File Upload 공격으로 웹 서버에 웹 쉘을 올리고 실행할 수 있게 된다면 공격자는 서버를 장악할 수 있게 된다. 가장 중요한 건 우리가 웹 서버에 실행할 수 있는 파일을 올릴 수 있어야 하고 그 파일이 업로드된 위치를 알고 실행할 수 있어야 한다. 웹 쉘을 올린 후 우리는 웹 브라우저로 올린 웹 쉘을 요청하게 되고, 이를 이용하여 소스코드를 탈취하게 된다.(DB를 탈취함) 또는 웹 쉘을 올린 후 Reverse shell을 연결시켜 킨다... 2023. 6. 2.
[10주차-1] 추천(좋아요) 기능 다른 사람의 게시글에 추천(좋아요) 기능을 넣어줄 것이다. 먼저 게시글 DB(topic)에 like_count라는 컬럼을 추가해 주고 게시글을 조회했을 때 해당 게시글의 작성자가 아니라면 추천기능을 넣을 것이다. 그리고 좋아요를 관리해 줄 like_management 테이블을 하나 생성했다. 좋아요를 누르면 게시글의 ID값과 누른 사람을 같이 추적해서 기록으로 남길 것이다. 먼저 read.php를 수정해 줬다. 좋아요의 개수가 보이고 본인이 쓴 글이 아니면 좋아요 버튼이랑 취소 버튼이 나온다. GET으로 게시글의 id값을 넘겨받았다. 다음은 like_inc의 소스코드이다. GET으로 게시글의 id값을 넘겨받으므로 URL을 수정해서 좋아요를 올릴 수도 있으므로 14 ~ 17줄로 그것을 방지하였다. 18 ~.. 2023. 6. 2.
SSRF 실습 SSRF 공격에 대해서 실습을 해볼 것이다. https://portswigger.net/web-security/ssrf/lab-basic-ssrf-against-localhost Lab: Basic SSRF against the local server | Web Security Academy This lab has a stock check feature which fetches data from an internal system. To solve the lab, change the stock check URL to access the admin interface at ... portswigger.net 위의 링크로 들어가서 실습을 해볼 수 있다. 문제를 해결하려면 관리자 인터페이스에 액세스 해서 carl.. 2023. 6. 1.
[9주차-1] 게시글 날짜 지정 검색 게시판에 검색기능은 있었다. 이제는 작성일을 포함하여 검색하는 기능을 넣을 것이다. 검색기능에 날짜를 선택할 수 있게 추가하였고 board.php에서 입력한 날짜를 GET으로 받아오고 기존의 switch로 있던 것을 $option변수를 이용하여 코드를 간결하게 만들었다. 날짜를 입력 받으면 날짜를 기준으로 게시글을 가져오고 날짜를 입력 받지않으면 원래 코드처럼 게시글을 가져온다. 마찬가지로 수정을 해줬다. search.php도 날짜를 검색할 수 있게 추가시켜줬다. 2023. 5. 31.
CSRF 1, 2, 3 문제풀이 CSRF에 관한 문제를 풀어볼 거다. CSRF 1 1번 문제이다 CSRF를 이용해서 admin의 비밀번호를 바꾸는 문제이다. 로그인 페이지가 있고 회원가입을 먼저 할 거다 아이디는 test 비밀번호는 1234로 회원가입을 진행했다. 로그인을 하였고 마이페이지를 먼저 확인했다. URL로 값이 넘어가는 게 보이고 버프스위트로 확인할 것이다. 파라미터가 GET으로 넘어가는 것을 확인할 수 있다. 따라서 http://ctf.segfaulthub.com:7777/csrf_1/mypage_update.php라는 주소에서 url로 파라미터를 넘겨주면 비밀번호를 변경할 수 있다. http://ctf.segfaulthub.com:7777/csrf_1/mypage_update.php?id=&info=&pw=1234 위의 .. 2023. 5. 30.
38. 각종 애플리케이션 보안위협 및 대응책 각종 애플리케이션 보안위협 및 대응책 좀비와 봇 감염된 시스템의 CPU와 네트워크 자원을 공격자 자신의 용도로 사용하는 종류 살라미 공격 눈치채지 못할 정도의 적은 금액을 빼내는 컴퓨터 사기 수법 데이터 디들링 원시정보 자체를 변조 및 위조해 끼워 넣거나 바꿔치기하는 수법 이블 트윈 공격 소셜 엔지니어링 공격 기법 자바 보안 클래스 로더, 바이트코드 검사기, 보안관리자 대응책 Java Applet 외부에서 받은 프로그램을 JVM이라는 보호된 영역 안에 가둔 뒤 작동시키는 방법 프로그램의 폭주나 악성 바이러스의 침투를 막는다 Active-X 전자 서명과 신뢰된 인증기관에 의존하는 인증 코드 기술을 사용 2023. 5. 29.
37. 침해사고대응(디지털 포렌식) 해킹 어떠한 의도이든 상관없이 다른 컴퓨터에 침입하는 모든 행위 해커 기술 개발에 정열을 쏟는 고급 기술자 선진국에선 사이버 범죄자인 크래커와는 엄격하게 구분하여 사용 해킹 기법 해킹기술의 변화 공격기술의 발달로 침입에 요구되는 지식수준이 낮아져 침입자수가 급격히 증가 일반적인 해킹 순서 해킹 대상에 대한 정보를 수집하고 불법 로그인 접근을 통해 루트 권한을 획득한 후 스니퍼 등을 이용하여 네트워크 트래픽을 감청, 중요정보를 가로채어 자신의 컴퓨터로 전송 침해사고 대응과 포렌식 CERT 컴퓨터 응급 대응센터 사고대응 7단계 절차 사고 전 준비 과정, 사고 탐지, 초기 대응, 대응 전략 체계화, 사고 조사, 보고서 작성, 복구 및 해결 디지털 포렌식 다양한 디지털 장치에서 범인과 연관된 자료를 발견하고 분.. 2023. 5. 29.
36. 전자상거래 보안 전자상거래의 정보 보호 전자상거래는 인터넷상의 불특정 다수 간에 다양한 거래를 가능하게 하는 반면, 정보보호의 측면에서는 커다란 불안요인을 안고 있음 전자상거래의 보안 공격 유형 인증, 송·수인 부인, 기밀성, 무결성 전자상거래 보안 요구사항 신분 확인 수단이 필요 제3자의 중재가 필요 전자화폐 디지털 데이터로 구성된 화폐 발행 단계, 지불 단계, 결제 단계 요구 조건 디지털 정보화, 재사용 불가능성, 익명성, 오프라인성, 양도성, 분할이용 가능성, 부정사용자의 익명성 취소, 이중사용 방지 전자지불 시스템 은행, 고객, 상점, 인증기관으로 구성 전자지불 시스템의 종류 기술적인 분류 신용카드, 전자화폐, 계좌이체, 모바일 지불 브로커의 유·무에 따른 분류 Payment Broker, 전자화폐 전자지불 시스.. 2023. 5. 28.
35. 데이터베이스 보안 데이터베이스 보안 요구사항 데이터베이스 보안 데이터베이스 보안을 강화하면 해커가 내부 네트워크에 들어와서 데이터베이스가 유출되었다 하더라도 핵심 자신인 데이터베이스는 암호화되어 있기 때문에 볼 수 없다. 데이터베이스 시스템 보안 요구사항은 일반적인 컴퓨터 시스템의 보안 요구사항과 비슷함 보안 위협 주요 위협 애그리게이션(집성) 개별적인 여러 소스로부터 민감하지 않은 정보를 수집, 조합하며 민감한 정보를 생성 집성에 대한 대응책으로는 제안된 것이 거의 없음 추론 일반적인 데이터로부터 비밀정보를 획득할 수 있는 가능성을 의미 사용자가 통계적인 데이터 값으로부터 개별적인 데이터 항목에 대한 정보를 추적하지 못하도록 하여야 함(통제하기 가장 어려운 위협) 보안 요구사항 무결성 보장, 운영적 무결성 보장, 의미적.. 2023. 5. 28.