목록hacking study (69)
wonder

☞ 인증/인가 차이점 주평기반의 기준을 통해 인증/인가 차이점의 구분을 확실히 합니다. 인증이란 나임을 확인하는 것입니다. 인가란 권한이 있다면 기능을 할 수 있도록 허용하는 것입니다. 인증 취약점이란 나임을 확인하지 않아도, 또는 인증 단계를 뛰어넘어서 기능에 접근할 수 있는 취약점입니다. 인가 취약점이란 권한이 없어도 제한된 기능에 접근이 가능한 취약점입니다. 즉 세션점검을 안한다는 뜻입니다. 즉 확인해야할 점은 인증 취약점: 정보변경 등을 할 때 기존 비밀번호(+ OTP번호 등 2차비밀번호)을 입력하도록 관리하는지 확인하고, 또 그 인증 절차를 뛰어넘을 수 있는지 확인합니다. ex) 정보수정 (비번 변경, 주소 변경, 이름 변경) 을 할 때 기존 비밀번호가 필요하겠고, 글 수정, 삭제, 비밀글 읽기..

☞ 모의해킹업무 전 준비사항 누구에게 연락할지 담당자연락처를 알아둡니다. 담당자에게 궁금한 점을 물어봐야 합니다. 노트북 반입여부를 묻습니다. 노트북을 따로 제공할 수 있기 때문입니다. 포맷을 해야하는지 필수 프로그램 세팅을 하고 가야하는지도 알아야합니다. 프로그램은 usb, 메일로 전달 합니다. 근무지 위치 언제부터 어디로 처음 도착하면 될지 필수프로그램은 아래와같습니다. burp suite wireshark 평문인지 암호화되는지 알아보기 위해 사용합니다. HxD hex editor 웹쉘을 우회하여 업로드할 때 이용합니다. sublime editor SSLyze SSL 버전 점검을 위해 사용합니다. python, node.js(자바스크립트 실행) 등 interpreter(명령을 실행하는 프로그램)을 준..

☞ 파일 업로드 방법 ftp를 통한 파일 업로드/다운로드가 가능합니다. php에서 ftp 코드를 지원하기 때문에 원격으로 ftp서버에 접속이 가능하고, 이를 이용하면 업로드 디렉토리 경로를 작성하지 않고도 다른 서버에 파일업로드할 수 있습니다. 일단 centos 도커를 작동시키고 ftp서비스 데몬을 시작합니다. 172.17.0.2 주소로 접속하면 됩니다. 파일을 업로드 시켜 ftp 처리 페이지로 이동시킵니다. ☞ 파일업로드 ftp 서버 주소, 아이디 등 ftp 관련 정의를 해주고 ftp에 올릴 파일은 받아온 파일(이미지)이름으로, 현제 웹서버의 tmp파일을 올립니다. 여기서 디렉토리를 설정할 수 없고 ftp 서버 루트 디렉토리에만 업로드가능합니다. ftp 연결 부터 로그인, 업로드까지 순서대로 진행합니다..

☞ 파일 업로드 방법 연구 ☞ 방법1) DB에 BLOB파일로 업로드, 다운로드 일단 multipart/form-data 형식으로 파일을 업로드 시킵니다. DB에 파일이 잘 업로드 되었습니다. 이미지 사이즈1은 가로세로 사이즈이고 사이즈2는 파일 크기입니다. try, catch, throw 구문으로 오류가 났을 때 Exception() 알림 처리를 해줍니다. 파일이 있으면 function을 실행합니다. 만약 파일이 tmp디렉토리에 업로드된 상태이면 이미지의 정보를 받아와서 업로드를 합니다. 사이즈는 이미지의 가로세로 사이즈이고, 파일을 업로드 하기위해서 파일 오픈을 해줍니다. 사이즈가 초과되지 않으면 db에 연결을 시키고 DB에 업로드까지 시킵니다. ?에 변수를 연결시켜주는 방식으로 구현합니다. 업로드를 ..

☞ Auth 인증/인가 취약점 CTF 자세한 풀이와 실제 사례 그때도 말씀드렸듯이 현실적으로 실무에서 인증/인가 취약점이 가장 많이 발생됩니다. 사소한 부분이라고 생각하고 넘어갈 수도 있는 부분이 참신한 활용을 떠올려 취약점이 되는 경우가 대다수입니다. 번외로) 전화번호로 아이디 찾기 링크가 전송되는 기능이 있습니다. 아이디 찾기 이름: 홍길동 전화번호: 010 - XXXX - XXXX 만약 제한이 없다는 가정하에, 내가 알고싶은 사람의 전화번호를 알고싶다면 (유명인 등) 이름을 넣고, 번호 3자리만 알고 있다면 브루트포스를 이용해 막 넣어보면 경우의 수가 많이 없기 때문에 찾을 수가 있습니다. 1. 건너뛰기 공지사항 글쓰기 잘읽기: read.php 글쓰기: write, post, create.php 글..

☞ 파일업로드 대응 방안 DB서버를 구축하여 파일업로드를 시킵니다. 파일 업로드 취약점은 파일 확장자를 서버측에서 화이트 리스트 기반으로 잘 막아내기 때문에 크게 문제 없어보입니다. 그래도 안전하게 서버에 영향을 끼치지 않으려면 DB서버에 파일을 업로드 시킵니다. 대용량 바이너리파일을 넣을 수 있는 BLOB형식으로 DB에 저장시킵니다. ☞ 파일 인클루전 대응 방안 인클루전 취약점이 있을 경우에는 파일업로드 취약점을 잘 막아도 파일 업로드 없이 웹쉘을 실행시킬 수 있기 때문에 잘 막아줘야합니다. 인클루전 취약점은 ?lang= 변수값을 그대로 받지 않습니다. 원래는 변수값 ko.php 으로 설정을하고 include로 요청한 php파일을 그대로 받아왔다면 변수값을 ko로만 지정하고, 조건이 있을 경우에만 그에..