• 中文
    • 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
    • 0
    • 0
    • 626
    • 请登录之后再进行评论

      登录

      赞助本站

      • 支付宝
      • 微信
      • QQ

      感谢一直支持本站的所有人!

      单栏布局 侧栏位置: