sql注入可能会影响sql数据库的任何网站或应用程序,攻击者利用它来未经许可访问数据库的私密数据,如个人信息,客户信息,商业机密,知识产权等。sql注入攻击是最古老,最流行,最危险的web应用程序漏洞之一。那么sql注入类型有哪些呢?下面凯发旗舰-凯发k8国际手机app下载老师给大家介绍一下。
在选定特定攻击方法之前,攻击者会通过观察系统的行为,然后选择多种方式进行执行,一般有以下几种类型。
带内注入
带内注入是典型的攻击,攻击者一般会基于错误的sql注入,从显示的错误消息中获取有关数据库的信息;或者是基于联合的sql注入,依赖于攻击者能够将union all被盗信息的结果与合法结果连接起来。通过相同的通信通道发起攻击,从而获得结果。
这两种技术都依赖于攻击者修改应用程序发送的sql,以及浏览器中显示的错误和返回的信息。如果应用程序开发人员或数据库开发人员无法正确地参数化他们在查询中使用的值,那么它会成功。两者都是试错法,可以检测到错误。
带外注入
这种攻击有点复杂,当攻击者无法在单个直接查询 - 响应攻击中实现其目标时,攻击者可能会使用此攻击。通常,攻击者会制作sql语句,这些语句在呈现给数据库时会触发数据库系统创建与攻击者控制的外部服务器的连接。以这种方式,攻击者可以收集数据或可能控制数据库的行为。
二阶注入就是一种带外注入攻击。在这种情况下,攻击者将提供sql注入,该注入将由数据库系统的单独行为存储和执行。当二级系统行为发生时(它可能类似于基于时间的作业或由其他典型管理员或用户使用数据库触发的某些事情)并且执行攻击者的sql注入,那就是当“伸出”到系统时攻击者控制发生了。
盲注入
也称为推理sql注入,盲注入攻击不会直接从目标数据库中显示数据;相反,攻击者会仔细检查行为中的间接线索。http响应中的详细信息,某些用户输入的空白网页以及数据库响应某些用户输入需要多长时间,这些都可以是线索,具体取决于攻击者的目标。他们还可以指向攻击者尝试的另一个sqli攻击途径。