sql 인젝션 관련 질문이 있습니다!
본문
이전에 운영중인 홈페이지에 sql 인젝션 이슈가 있어 추가로 인젝션 코드를 추가했습니다.
추가 후에 테스트를 진행해보고싶은데, 이미 운영중인 홈페이지라 서버에서 테스트도 불가능하고, 어떤식으로 테스트를 진행해야 홈페이지에 오류가 생기지 않고 테스트가 가능한지 방법을 잘 몰라서요..
그래서 질문은 세가지 입니다.
1. 홈페이지에 큰 오류를 불러오지 않을 인젝션 공격은 어떤 방법이 있나요?
2. 작성한 인젝션 방지 코드가 제대로 작동하는지 확인할 수 있는 방법은 무엇이 있나요?
3. 로컬에서 인젝션 공격 테스트를 해도 서버와 동일하게 작동하나요?
참고로 인젝션 관련하여 생겼던 이슈는 검색창에 악의적으로 구문을 입력하여 sleep 처리를 해 홈페이지가 다운된 이슈였습니다..;;
답변 1
1. 테스트를 위한 제일 좋은 환경 구축
- 운영중인 홈페이지에 직접 테스트하지 말아야 합니다.
- 운영중인 홈페이지를 디비, 웹 소스 모두 로컬에 구축하여 로컬서버환경에서 작동시켜야 합니다.
2. 잠시 운영중인 서버에서 테스트 환경 구축
- 위의 방법이 불가하다면, 운영중인 서버를 잠시 외부서비스 포트를 막아야 합니다. 그래야 외부에서 접근 못합니다.
- 웹 소스와 디비 등 홈페이지를 다시 원상 복구하는데 필요한 모든 리소스들을 백업합니다.
3. 테스트 방법
먼저 문의사항에 답하겠습니다.
- 홈페이지에 큰 오류를 불러오지 않을 인젝션 공격은 어떤 방법이 있나요?
SQL인젝션으로 부당한 가입자가 로그인 시도할수 있습니다.
공격패턴은 10만건이상이나 되므로 그 위험도를 구분하자면 전문가의 협조가 있어야 합니다.
- 작성한 인젝션 방지 코드가 제대로 작동하는지 확인할 수 있는 방법은 무엇이 있나요?
세계적으로 유명한 취약점 분석소프트웨어인 Acunetix로 15만건 정도의 공격패턴을 적용하여 보면 알수 있습니다.
- 로컬에서 인젝션 공격 테스트를 해도 서버와 동일하게 작동하나요?
로컬에서 인젝션 공격 테스트 해도 서버와 동일하게 작동합니다.
물론 앞단에서 방화벽규칙같은게 일치하다고 가정할 때 말입니다.
사실 취약점 분석은 고수들에게 의뢰하는게 더 낫습니다.
제가 이미 Acunetix로 그누보드의 취약점을 분석해보았고 이런 보안이슈 문제는 상당한 경험을 보유하고 있습니다.
참고로
https://sir.kr/qa/386053?vpage=1#c_386993
[별첨]
취약점으로, SQL인젝션만 있는것이 아닙니다.
XSS공격, CSRF공격 등 다양합니다. 이런 공격도 다 방지하도록 협조해드릴수 있어요.