php 웹사이트 보안 최소 구성
페이지 정보
작성자 sbLAB 댓글 0건 조회 502회 작성일 23-08-27 21:26본문
1) PHP 프레임워크 사용(필수)
laravel https://laravel.com/
symfony https://symfony.com/
slim https://www.slimframework.com/
2) https 연결
http 연결차단
3) PHP Server - 브라우저 관계
HttpOnly On - cookie 추출 차단
Secure On - https
SameSite Lax - 외부 리소스(실행 링크) 차단
4) CSRF 처리
- POST, GET, INSERT, UPDATE, DELETE, UPLOAD, AXIOS(AJAX) 전송간.
- 웹브라우저 - 웹서버 전송사이 외부에서 조작 전송값 여부, 전송 출처 검증
- 사용 PHP프레임워크 csrf 모듈사용
5) 파일업로드 로직(주요 공격루트)이 포함된 php 라우터, 로직소스 재확인, 미사용 php 컨트롤러/라우터 삭제
- 업로드 파일명은 암호화 수준 랜덤문자열로 생성(원래 파일명 정보 별도 DB저장)
- 프라이빗한 업로드 파일명은 암호화 수준 랜덤문자열로 생성 + 웹서버 접근(403)거부 등록한 확장자만 사용.
- 프라이빗한 업로드 파일은 별도 다운로드 전용 php 컨트롤러 구현(다운로드 인증값 검증 / 직접 경로 숨김)
6) 로그인 여부 권한 체크 미들웨어(사용 프레임워크) 사용
- 로그인 여부, 로그인 계정 레벨 체크 미들웨어 구현 후 라우터에 Auth 미들웨어 누락없이 적용.
7) 이상 동작(계정생성, 저용량(탈취 스트립트)파일 다수 업로드) 로그기록(ip), 관리자에 e메일 전송
- 메일러 프로세스 별도 구현/상시 작동, 메일러 대기열에 메일 등록, 전송
-----공격 스크립트 예(각 라인내용을 jpg/php/txt 파일로 업로드)-------------
<esi:include src="http://0000.m0e/rpb.png"/>
${9999098+9999408}
12345'"'\");|]*%00{%0d%0a<%00>%bf%27'�
"&&sleep(27*1000)*qczory&&"
-1 OR 2+135-135-1=0+0+0+1
;assert(base64_decode('cHJpbnQobWQ1KDMxMzM3KSk7'));
';print(md5(31337));$a='
if(now()=sysdate(),sleep(15),0)
0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z
'"()&%<zzz><ScRiPt >rMQp(9060)</ScRiPt>
response.write(9482871*9866272)
file:///etc/passwd
1*DBMS_PIPE.RECEIVE_MESSAGE(CHR(99)||CHR(99)||CHR(99),15)
invalid../../../../../../../../../../etc/passwd/./././././././././././././././././././././././././././
-------------------------------------------
댓글목록
등록된 댓글이 없습니다.