一、SQL注入的简介

在输入的字符串之中注入恶意SQL语句,使其当作参数值传递到服务器,而注入的SQL语句会被数据库服务器误认为是正常SQL语句而运行。


  • 产生原因

    1. 开发人员未对用户的输入进行转义及过滤
    2. 开发人员构造动态拼接SQL语句
    # 例如: PHP
    $query = "SELECT * FROM users WHERE username = ".$_GET["payload"];

上面代码我们可以控制 payload 参数进行构造恶意SQL语句,达到攻击目的


二、SQL注入分类(根据SQLMap)

UNION query SQL injection(可联合查询注入)

Stacked queries SQL injection(可多语句查询注入)

Boolean-based blind SQL injection(布尔型注入)

Error-based SQL injection(报错型注入)

Time-based blind SQL injection(基于时间延迟注入)

除此之外还还有Cookie注入、POST注入、请求头注入 , 都是字符型注入

其实总结起来主要分两大类:整型字符型

标签: SQL注入, Web

添加新评论