Metasploit SQL注入漏洞渗透测试实战

1、SQL注入漏洞简介

现代化Web应用程序在设计时都会将代码与数据进行分离,这些数据会独立保存在服务器中。当数据量较大的时候,需要使用一种特殊的数据管理程序,也就是常说的数据库。目前比较常用的数据库软件有MySQL、SQLServer、Access等,不过它们的操作都要遵循SQL(Structured Query Language,结构化查询语言)标准,但是不同的产品之间存在着一定的差别。

SQL注入攻击是通过操作输入来修改SQL语句,以达到执行代码对Web服务器进行攻击的方式。需要注意的是,虽然SQL注入攻击与命令注入都将命令作为参数进行提交,但是两者并不一样。SQL注入攻击中提交的是SQL语句,目标主要是Web应用程序使用的数据库,而命令注入提交的是系统命令,目标主要是Web应用程序所在的操作系统。

SQL注入攻击是目前世界上排名靠前的Web攻击方式之一,因此也得到业界广泛重视。近年来,SQL注入攻击的门槛越来越高,攻击的数量下降了很多,但是渗透测试者使用的手段也越来越隐蔽,因此更加难以防御。

程序开发人员会将对数据库的操作语句写在代码中。这里以DVWA中的SQL Injection页面的代码为例进行演示,首先来查看其中low安全级别的代码。

其中,SELECT first_name, last_name FROM users WHERE user_id = '$id'就是一条SQL语句,它的作用是读取users表的内容,并从其中找到一条user_id等于$id的记录,输

猜你喜欢

转载自blog.csdn.net/qq_35029061/article/details/134680765