Web应用程序带来了新的计算机安全漏洞,例如SQL注入。这是一类基于输入验证的漏洞。来自数据库,旁通身份验证逻辑或在数据库中添加未经授权的帐户的SQL注入泄漏机密信息的典型用途。此安全性可防止未经授权访问数据库的访问,并且还可以防止您的数据被用户更改或删除,而没有适当的权限。恶意文本检测器,约束验证,查询长度验证和基于文本的关键发电机是用于检测和防止SQL注入攻击访问数据库的四种类型的过滤技术。
我们正在Ubuntu做这个项目
我们将检测到代理服务器上的SQL注入以提高安全级别。由于NGINX更快,更易于使用,因此我们将使用它作为代理服务器。我们的Web应用程序将在Apache服务器上运行。
因此,随着浏览器的流量将进入NGINX服务器,我们将配置其端口
将webproxy文件从存储库中添加到/etc/nginx/sites-enabled 。
将WebProxy添加到NGINX的站点。在这里,我们已将HTTP通过NGINX服务器路由到端口8080。
现在,我们将更新HTTP服务的Apache Server端口。从此存储库中更新ports.conf文件,in /etc/apache2/还更新此存储库中的000-default.conf文件,in /etc/apache2/sites-enabled 。
将html文件夹从此存储库替换为/var/www/文件夹。运行bank.sql以在mysql中创建数据库。
在这里,我们添加了银行申请
service nginx start
service apache2 start检查是否在端口号上配置了Nginx服务器。 80和Apache服务器在端口号上配置。 8080。
转到localhost:8080/bank/login.html 。输入用户名作为AA ,并以A'或'y'='y输入密码
现在您可以看到整个数据库。
转到localhost/bank/login.html 。输入用户名作为AA ,并以A'或'y'='y输入密码
现在,您看不到整个数据库,也无法将其注入其他查询。
当用户凭证输入漏洞系统时,它们将直接传递给数据库软件。但是,如果我们在到达Web应用程序之前(例如在代理服务器)之前提供输入验证,我们可以减轻Apache Server上的负担,并在更快的Nginx服务器上有效地处理它。
因此,我已经编译了用于SQL注入攻击的所有MySQL关键字,并分配了权重,以便所有输入均已验证并检查攻击。
因此,防止了SQL注射攻击。
作者兼创造者:Jayant Rane