사용자가 입력가능한 값들에 대한 유효성체크 ex) php Filter
sql 인젝션
cmd 인젝션
시스템명령어 최대한 활용금지 ex) exec, shell_exec, popen, eval
시스템명령어를 사용하더라도. CMD 인젝션에 주의해야함
DB외부접속제한 및 DB외부접속해야하는 것들은 API처리
API만들시 API 인증키 발급
md5말고 암호화 복호화 -> 암호화 key는 env변수로 가지고 있을것. 파일이나 DB에 있으면 위험하다.
개인정보암호화.
개인정보 SSL 처리
html 에디터 XSS공격 막기
파일업로드 웹실행권한이 있는 파일들은 업로드 불가 -> a.php.bak도 업로드가 되고, 업로드된 경로에 파일에대한 실행권한이 있으면 실행되기 때문에 막아야한다.
세션취약점 보안
CSRF(Cross-Site Request Forgeries) 방어 ex)<img src="http://www.example.com/processSomething?id=123456789" />
gif + php hack
<img src="hack.gif.php" title="이건 해킹에 취약해!" /> 이러한 경우도 php를 실행할 수 있으므로, 항상 이미지파일을 불러올때는 이미지 타입을 확실히 구분해야한다.
htmlspecialchars
사용자입력으로 인해 html, css, javascript, php 등 스크립트 작성시 동작하지 않게 막기
http://aa.co.kr/a.php?aaa=binary php code
이렇게 될 경우에 binary php code가 실행될 수 있으므로 주의하자.
php 실행권한이 있을경우 a.php.bak 더라도 소스코드가 php일 경우엔 작동되므로 이러한 부분도 막아야한다.
Posted by Arone
