2010-02-28 2 views
23

웹 응용 프로그램을 개발 중입니다. 마찬가지로, 적절한 하나, 나는 멋진 물건을 만들기 위해 Joomla와 같은 것들을 사용했지만 마침내 PHP, MySQL 및 CodeIgniter로 더러운 손을 마침내 얻었습니다.웹 응용 프로그램의 보안 취약점 테스트 : 모범 사례?

대용량 데이터를 처리 할 수있는 심각한 웹 응용 프로그램을 만들 때 데이터 입력에 대해 예방 조치를 취하여 완전히 위생적으로 처리해야합니까? 명백한 트림, 탈출, xss 청소 등이 있다는 것을 알고 있습니다. 그러나 데이터베이스에 주입을 중지하기 위해 다른 기술을 통합해야합니까?

뿐만 아니라 모든 비 입력 데이터를 테스트 할 수있는 비파괴 데이터베이스 주입 코드가 있습니까? 에서처럼, 그것은 뭔가를 주입하지만, 실제로 내 테스트 데이터베이스에 해를 끼치 지 않습니까? 나는 정확히 해커가 아니며 이것에 대한 약간의 지침이 필요하다.

해커가 사용자 데이터를 파괴하거나 읽는 데 사용하는 다른 일반적인 방법은 무엇이며 어떻게 직접 확인할 수 있습니까? 나는 16 세 때부터 보안 컨설턴트를 고용 할 돈이 없지만 컴퓨터에 대한 좋은 경험이 있으며, 그들이 무엇인지에 관해서 몇 가지 힌트를 주면 몇 가지 트릭을 풀 수 있다고 확신합니다.

제가 궁금한 점은 많이 있습니다 만 요약하면 모든 것이 100 % 안전하다는 것을 확인하기 위해 무엇을합니까?

+3

웹 응용 프로그램 보안은 광범위한 주제입니다. 그것에 관한 모든 책이 있습니다. 그러므로, 좋은 질문은, 내 의견으로는 너무 명확하지 않으며 닫혀 있거나 커뮤니티 위키가 될 수 있습니다. 이미 SQL 주입, XSS, CSRF 등을 방지하는 방법에 대해 너무 많은 Q & A가 있습니다. – Gordon

답변

19

SQL 주입 및 XSS는 프로그래머가 가장 자주 범하는 실수입니다. 좋은 소식은 올바른 소프트웨어를 보유하고있는 한 자동으로 테스트하는 것이 가장 쉽다는 것입니다. 펜티스트에있을 때 웹 응용 프로그램 취약점을 찾는 데 Sitewatch 또는 Wapiti을 사용합니다. Acunetix는 가격이 책정되었습니다.

그러나 자동화 된 도구를 실행하여 모든 기능이 제대로 작동한다고 기대할 수는 없습니다.귀하가 선택하는 ANY 취약성 스캐너로 취해야 할 예방책이 많이 있습니다.

1) php.ini에서 display_errors = On으로 설정하십시오. Sql Injection 테스트는 응답 페이지에서 mysql 오류 메시지를 볼 수 있는지에 의존합니다! 오류 없음, 발견 된 취약점 없음!

2) 응용 프로그램의 인증 된 영역을 스캔하십시오. 테스트를 위해 특별히 사용자 계정을 만듭니다. Acuentix에는 로그인 시퀀스를 생성 할 수있는 쉬운 마법사가 있습니다. 와피 티를 사용하고 있다면 와피 티에 쿠키를 줄 수 있고 와피 티에게 사후 요청을 할 수 있습니다. 그러나 이것은 까다 롭습니다.

이후에 응용 프로그램을 테스트 한 다음 서버 구성 오류를 테스트하십시오. 서버를 테스트하려면 상용 제품 인 Nessus의 새로운 무료 버전 인 OpenVAS을 실행해야합니다. 그런 다음 PhpSecInfo을 따라야합니다. 이 테스트는 구성상의 문제점 또는 오래된 취약한 소프트웨어를 실행중인 경우 사용자에게 알려줍니다.

아무 것도 100 % 안전하지는 않습니다. EVER. 당신이 무엇을 하든지간에 균열을 극복 할 수있는 취약점이 있습니다. 모든 개발 플랫폼에는 도구가 테스트 할 수없는 타협을 이끌어내는 취약점이 있습니다. 또한 사용하는 테스트 도구에는 버그가 있습니다. 가짜 포지티브와 거짓 네거티브, 그리고 단지 이 작동하지 않는 몇 가지 테스트가 있습니다., 실제로 합법적 인 취약점을 발견 한 자동화 된 CSRF 도구를 본 적이없는 좋은 예입니다. Acunetix의 CSRF 테스트는 완벽한 시간 낭비입니다.

OWASP testing guide도 자세히 설명되어 있습니다. 이것은 또한 훌륭한 자료 인 OWASP Top 10과 혼동하지 마십시오. PHP Security Guide은 PHP 프로그래머에게도 유용한 자료입니다.

4

I don't have the money to hire a security consultant since I'm only 16
당신은 16 당신이 고용하는 돈이없는 것을 의미하지 않는다 있습니다 : D 합니다.
아무도 고용 할 필요가 없습니다. 웹 응용 프로그램의 취약성을 테스트하는 데 사용할 수있는 많은 무료 온라인 도구가 있습니다.

  1. SQL 주입 취약점을

  2. http://www.parosproxy.org 테스트 http://www.zubrag.com/tools/sql-injection-test.php를 사용해보십시오 : 웹 트래픽 레코더, 웹 거미, 해시 계산기, 및 SQL 인젝션 및 크로스 같은 일반적인 웹 애플리케이션 공격을 테스트하기위한 스캐너 - 사이트 스크립팅

  3. HP WebInspect software 매개 변수 주입, 교차 사이트 스크립팅, 디렉토리와 같은 일반적인 웹 공격을 테스트합니다. 순회, [googling it]

  4. http://portswigger.net/suite/ : Burp Suite는 웹 응용 프로그램을 공격하기위한 통합 플랫폼입니다. 애플리케이션을 공격하는 프로세스를 촉진하고 가속화하기 위해 설계된 수많은 인터페이스를 가진 모든 Burp 툴을 포함합니다. 모든 도구는 HTTP 요청, 지속성, 인증, 업스트림 프록시, 로깅, 경고 및 확장 성을 처리하기위한 동일한 견고한 프레임 워크를 공유합니다.

+0

모든 링크를 제공해 주셔서 감사합니다. 환상적입니다! – Jack

+0

webinpsect와 paraos는 시간 낭비이고 다른 것들은 사용하지 않았습니다. – rook

1

당신은 OWASP 좀 걸릴 수 있습니다.

+0

대단히 감사합니다! :) – Jack

0

WebCruiser Web Vulnerability Scanner를 사용하여 SQL 주입 취약점을 검사하는 WebCruiser는 웹 보안 검사 도구 일뿐만 아니라 자동 SQL 주입 도구, XPath 삽입 도구, XSS 도구입니다.

관련 문제