美文网首页
SQL注入学习笔记

SQL注入学习笔记

作者: Meqiquan | 来源:发表于2019-03-08 10:50 被阅读0次

    SQL注入是在学习网络安全时最先学到的一个漏洞知识点,难度不大,记录一些知识点,以后可以快速回顾。

    首先,SQL是一门用来访问和操作数据库系统的标准计算机语言,而常见的数据库系统有MySQL, MS Access, MS SQL Server, Oracle 等等.
    SQL注入攻击指的是通过构建特殊的输入作为参数传入Web应用程序,而这些输入大都是SQL语法里的一些组合,通过Web应用程序来执行SQL语句进而执行攻击者所要的操作,其主要原因是程序没有细致地过滤用户输入的数据,导致非法语句执行.简单的讲,就是让用户随意输入内容是可能出现问题的.

    但是SQL注入有什么用呢?首先,SQL注入和一般的SQL查询一样,可以读取数据库内容,进而获取管理员后台账号密码,然后进入后台,读取文件,甚至可以写入Webshell.
    在一般的网站上都会有如下的登录页面,页面上会有两条输入框,一行是用户名也就是常说的账号,一行是密码。那么我们正常登录时,输入账号密码,点击登录就会发送验证请求到服务器


    大致的SQL语句为:

    select id from users where username= 'lm7' and password = '123'
    

    而对于这种简单的SQL语句,我们常用的SQL注入有:

    ' or 1=1 --
    

    组装好的SQL语句是:

    select id from users where username=' ' or 1=1 -- and password = '123'
    

    那么在这条语句中的 '-- ' 将会注释掉后面的' and password ='123' ' 因此被执行的只有

    select id from users where username ='' or 1=1
    

    而根据' or 1=1 '的判断条件可以知道where后面的运算结果是1,因此将会从users表中查询所有的id,

    那么如何找到SQL注入漏洞呢?只能说在有输入的地方都有可能存在注入漏洞.而一般有以下三种情况:

    1. GET请求:该请求在URL中发送参数
    2. POST请求:数据被包含在请求体中
    3. 其他注入型数据: HTTP请求的其他内容也可能会触发注入漏洞,例如在COOKIE中、HOST头中等

    最后分享以下SQL注入流程图


    相关文章

      网友评论

          本文标题:SQL注入学习笔记

          本文链接:https://www.haomeiwen.com/subject/ladgfqtx.html