Sql injection을 방어하는 방법중에 하나로 PDO를 사용할 수 있습니다.
PDO는 쿼리문을 다이렉트로 보내지 않고, 바인딩해서 보내기 떄문에 SQL injection을 방어할 수 있고, prepare메소드를 이용해서 미리 컴파일된 SQL문에 파라메터를 변경해서 쿼리하는 형식으로 속도가 향상됩니다.
사용자 입력단에서 SQL 주석 처리하는 '--'을 제거하면 인젝션을 방어할 수 있나요?
- 아닙니다 '#'과 /* 와 같은 것들을 사용할 수도 있습니다.
Addslashes(), mysql_real_escape_string() 을 특수문자를 없애면 SQL injection을 다 방어할 수 있나요?
- 아닙니다. 인코딩 방식의 차이를 이용하여 이를 우회하는 것도 가능합니다.
DB보안에 UNIX 계열 OS 매커니즘이 충분하지 않은 이유는 무엇입니까?
- DB를 편집하는 권한을 가진 로컬 파일 가져와서 DB에 공격해서 OS는 파일이 누구에게 실행되었는지 따지지 않기 때문에 취약함.
addslashes()와 htmlentities()의 차이는 무엇입니까?
addslashes()는 \와 null 같은 문자를 취급하지만 htmlentities()는 HTML entities 로 보여주지만 DBMS에서는 영향을 미치지 않습니다.
- 참조
'개발 > 네트워크 보안' 카테고리의 다른 글
CSRF (0) | 2019.12.13 |
---|---|
XSS (0) | 2019.12.13 |
SQL injection (0) | 2019.12.13 |
리눅스 간단 명령어 (0) | 2019.12.13 |
The Security Development Lifecycle (0) | 2019.12.10 |