웹 응용 프로그램은 SQL 주입과 같은 새로운 클래스의 컴퓨터 보안 취약점을 제공했습니다. 입력 검증 기반 취약점의 클래스입니다. SQL 주입의 일반적인 사용 데이터베이스에서 기밀 정보가 누출, 바이 패스 인증 로직 또는 데이터베이스에 무단 계정을 추가합니다. 이 보안은 데이터베이스에 대한 무단 액세스를 방지하고 또한 적절한 권한없이 사용자가 데이터를 변경하거나 삭제하는 것을 방지합니다. 악의적 인 텍스트 감지기, 제약 조건 검증, 쿼리 길이 검증 및 텍스트 기반 키 생성기는 SQL 주입 공격이 데이터베이스에 액세스하는 것을 감지하고 방지하는 데 사용되는 네 가지 유형의 여과 기술입니다.
우리는 우분투 에서이 프로젝트를하고 있습니다
보안 수준을 높이기 위해 프록시 서버에서 SQL 주입을 감지 할 것입니다. Nginx가 더 빠르고 사용하기 쉽기 때문에 프록시 서버로 사용합니다. 웹 애플리케이션은 Apache Server에서 실행됩니다.
따라서 브라우저의 트래픽이 Nginx 서버로 나오면 포트를 구성합니다.
저장소에서 /etc/nginx/sites-enabled 에 webproxy 파일을 추가하십시오.
Nginx의 사이트에 웹 프록시를 추가하십시오. 여기서는 Nginx 서버를 통해 HTTP 트래픽을 포트 8080으로 라우팅했습니다.
이제 HTTP 서비스의 Apache Server의 Port Of Apache 서버를 업데이트합니다. /etc/apache2/ 의이 저장소에서 ports.conf 를 업데이트하십시오 /etc/apache2/sites-enabled 저장소에서 000-default.conf 파일을 업데이트하십시오.
이 저장소에서 html 폴더를 /var/www/ 폴더로 교체하십시오. run bank.sql mysql에서 데이터베이스를 만들 려
여기에 우리는 은행 신청서를 추가했습니다
service nginx start
service apache2 start포트 번호에서 Nginx 서버가 구성되어 있는지 확인하십시오. 80 및 Apache 서버는 포트 번호에서 구성됩니다. 8080.
localhost:8080/bank/login.html 로 이동하십시오. 사용자 이름을 AA 로 입력하고 비밀번호를 '또는'y '='y 로 주입하십시오.
이제 전체 데이터베이스를 볼 수 있습니다.
localhost/bank/login.html 로 이동하십시오. 사용자 이름을 AA 로 입력하고 비밀번호를 '또는'y '='y 로 주입하십시오.
이제 전체 데이터베이스를 볼 수 없으며 다른 쿼리를 주입 할 수 없습니다.
사용자 자격 증명이 취약한 시스템에 입력되면 데이터베이스 소프트웨어로 직접 전달됩니다. 그러나 Proxy Server와 같은 웹 애플리케이션에 도달하기 전에 입력 유효성 검사를 제공하면 Apache 서버의 부담을 줄이고 더 빠른 NGINX 서버에서 효율적으로 처리 할 수 있습니다.
따라서 SQL 주입 공격에 사용되는 모든 MySQL 키워드를 컴파일하고 모든 입력이 검증되고 공격을 확인할 수 있도록 가중치를 할당했습니다.
이러한 SQL 주입 공격이 방지됩니다.
저자와 제작자 : Jayant Rane