본문 바로가기

전체 글241

[시큐어 코딩] PHP - CSRF 대응방안 2차 인증 구현 - 회원정보 수정시 비밀번호 재입력 [회원 정보 수정 페이지] 개인정보 수정같은 경우에 2차인증이 없으면 CSRF를 통해 언제든 개인정보를 공격자가 원하는 정보로 변경이 가능하기 때문에, (게시글 form 태그로 코드를 구현해서, 혹은 GET 방식으로) 이차인증으로 비밀번호 재검증을 하거나 CSRF 토큰을 발급해 사용해야한다. 나는 개인정보 수정 폼에 2차인증으로 비밀번호 재인증을 추가하였다. 세션변수를 활용해서 2차인증을 구현했다. //비밀번호 재확인 폼 //if로 대조 if($_POST['pw_chk']==$_SESSION['user_pw']) 2021.12.05 - [[모의해킹]실습 💻/Burp suite Academy] - CSRF 취약점 실습 CSRF 취약점 실습 ## — CSRF 토큰 검증 미흡 https://portswigge.. 2022. 2. 19.
[시큐어 코딩] PHP - SQLI 대응방안 Prepare Statement - like 함수편 시큐어 코딩 [검색기능] - like 함수 편 catgo 카테고리 부분은 option 으로 세가지만 허용되기 때문에 if문을 이용해 화이트 리스트 기반 필터링을 적용했다. prepare statement like함수는 파라미터에 "%{$_GET['search']}%"로 값을 주어 적용할 수 있었다. 적용시 SQL injecion이 적용되지 않고 검색이 되는 것을 확인할 수 있었다. if($catgo = "title" or "name" or "content") { $param = "%{$_GET['search']}%"; $sql2= "SELECT * from board where $catgo like ? order by idx desc"; $stmt = $db->prepare($sql2); $stmt->b.. 2022. 2. 19.
[시큐어 코딩] PHP - SQLI 대응방안 Prepare Statement Prepare Statement = SQL Injection을 막기 위한 시큐어 코딩 prepare 미리 컴파일 하는 함수에 ?로 값을 만들어놓고 Bind_param으로 값을 바인딩(=매핑)해준다. 앞의 'sssssss'는 뒤의 값이 어떤 타입의 입력인지를 알려주는 역활을 한다. S는 문자형, i는 정수형 등으로 나뉜다. [member_ok.php] 회원가입페이지 해쉬 값이 제대로 들어온 것을 확인, '와 같은 특수문자도 SQL Injection의 위험없이 그대로 입력된 것을 볼 수 있다. [id_check.php] 회원가입페이지 내 아이디 중복 체크 값을 get_result로 받아야 정상 실행이 된다. 까다로운 함수 설정,, [login_ok.php] 로그인페이지 해당 부분은 불러온 함수의 값을 변수에.. 2022. 2. 18.
[18주차] 모의해킹 직무 면접 준비 면접 예상 질문 1. 자기소개 > 인사 2. 헤킹 공부는 어떻게 하셨나요? -> 웹 해킹 스터디를 진행하며 SQL injection, 파일 업로드 취약점 등 주요 취약점을 공부하였습니다. 또한 실제 가상화 머신에 여러 기능을 갖춘 홈페이지를 제작해 본 후 팀원들과 서로의 페이지를 해킹하고, 보고서 작성 후 리뷰, 시큐어 코딩을 수행하였습니다. 3. 가장 자신있는 해킹 공격 기법이 무엇인가요? -해킹 공격기법 설명 무엇, 왜 일어나는지, 시나리오, 대응방안 을 위주로 간결하게 설명해야한다. 4. 할 수 있는 다른 공격 기법 학원에서 많이 시켜서 대답하는 류 >스니핑 >sql map 답변 추천 - ARP Spoofing - Xpath injection - XXE [공격 기법 정리] (1) SQL Injeci.. 2022. 2. 18.
[18주차]SSI Injection 취약점 *SSI Injection(Server Side Include Injection) 아파치 서버에서 사용 공격 가능 확장자: .shtml, .shtm, stm 서버측에서 실행가능한 코드를 삽입한다. SSI HTML SSI Directory -> Shtml로 [bwapp로 실습] --SSI 실습 페이지-- --해당 First, Last name 에 임의의 값(1234) 입력 후 엔터-- 해당 부분에 Burp suite 를 사용해 서버 측 실행코드(SSI Directory)를 삽입하여 공격할 수 있다. [서버측에서 실행가능한 코드] #현재 시간 출력 #include로 출력 # cmd 출력 1234대신에 서버측에서 실행가능한 코드다. 삽입해서 실습이 가능하다. 나는 Burp Suite 까는게 어려워보여서 다른 .. 2022. 2. 17.
[CSS] 디자인 - 웹페이지 크기에 따라 움직이는 객체 고정 웹 만진 4개월 내내 어떻게 적용해도 객체가 자꾸 동적으로 이동해서 absolute나 fixed도 안먹었는데, 부모 객체를 static로 설정하고 자식 객체를 absolute로 고정하니 객체가 고정된 것을 알 수 있었다 position: static 다른 설정 무시됨. HTML 기준 원래 있어야할 자리에 위치된다. position: absolute : static이 아닌 첫번째 상위요소가 해당 요소의 배치기준이 된다. 만약 요소 상위에 static이 아닌 상위요소가 없다면 DOM 트리의 취상위 요소인 가 기준이 된다. 참조 https://www.daleseo.com/css-position/ CSS의 position 속성으로 요소 배치하기 Engineering Blog by Dale Seo www.dale.. 2022. 2. 17.
[17주차] 보고서 리뷰(팁, 예상질문) 모의해킹 리뷰) #모의해킹 수행정보 개요, 대상, 수행 기간, 인력 #모의 해킹 결과 총평에서는 강조되어지는 취약점 1-2개를 위험성 위주로 설명 #취약점 위험한 취약점을 앞 순서로 배치. 설명과 함께 항목당 보안 권고를 이 때 함께 제시한다. #보안 권고안 보안 가이드로 활용. 리뷰 시 나올 수 있는 Q&A Q1 ) PHP 코드 오픈 소스 라이브러리를 써서 못 고치는데 어떻게 하나요? 이걸 처리해야 근본적인 해결이 가능하지만, 화이트 리스트 기반 필터링을 수행하는 방안이 있습니다. 그러나 필터링은 언제든지 우회가 가능해서 위험할 수 있다. 1. 오픈소스 라이브러리에 취약점이 얼마나 많은지 애플리케이션의 70%가 취약한 상태. 2. 각 프로그래밍 언어나 프레임워크의 특성에 따라 취약점의 특성도 달라짐. .. 2022. 2. 10.
[#1] 도커 환경 설정과 구축 실습 1) 도커와 마이크로 서비스 이해 -도커 컨테이너 기술을 지원하는 다양한 프로젝트중에 하나로 사실상 표준으로 사용되어지고 있다. 다양한 운영체제에서 사용가능하며 애플리케이션에 국한되지 않고 의존성 및 파일 시스템까지 패키징하여 빌드, 배포, 실행을 단순화. 리눅스의 네임 스페이스와 cgroup와 같은 커널 기능을 사용하여 가능함(윈도우 불가) -모놀리식 라이프 사이클과 마이크로 서비스 라이프 사이클 비교 모놀리식) 전부 개발 후 빌드-테스트-배포 마이크로 서비스) 각기 빌드-테스트-배포 후 조립 -마이크로 서비스의 장점 서비스 단위 고효율 저비용 Scale-Out(트래픽 관리기술) 구조 서비스 단위로 스케일링이 가능하여 불필요한 서비스는 줄이고 더 많은 자원이 필요한 서비스는 확정가능. 라이브러리 종속성.. 2022. 2. 7.
[#1] kali 기본 명령어 1) 파일 가져오기 [복사 붙여넣기] apt-get install open-vm-tools open-vm-tools-desktop [파일 가져올시] 1. 드래그하기 2. 대용량일 시 윈도우에서 hfs 다운로드 받아서 파일 프로그램에 넣고 wget http:// ~ 로 받아온다. IP대역 잘 맞추기 2) 공부법 리눅스 명령어, 보안 중심 공부, Metasploit 공격코드 공부, 깃허브 활용, exploit-db.com 3) dpkg 패키지 관리 -l 리스트 확인 dpkg -l | grep z* z로 시작하는 패키지 검색 Nessus-7.1.1-debian6_amd64.deb cd Downloads/ dpkg -i Nessus-7.1.1-debian6_amd64.deb ness시작 명령어 안내됨. -i 옵.. 2022. 2. 6.