[极客大挑战 2019]EasySQL【SQL注入】

题目简介

图片

  • 题目名称:[极客大挑战 2019]EasySQL

  • 题目平台:BUUCTF

  • 题目类型:Web

  • 考察知识点:

  • SQL注入

解题步骤

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

图片

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

图片

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

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

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

图片

知识详解

一: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

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

分享网络安全学习笔记和CTF真题详解,更多内容欢迎大家关注公众号:【张甲】

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值