顾名思义,简单的SQL注入!

先浅了解一下注入:SQL 注入(SQL Injection) 是发生在 Web 程序中数据库层的安全漏洞,是网站存在最多也是最简单的漏洞。 主要原因是程序对用户输入数据的合法性没有判断和处理,导致攻击者可以在 Web 应用程序中事先定义好的 SQL 语句中添加额外的 SQL 语句,在管理员不知情的情况下实现非法操作,以此来实现欺骗数据库服务器执行非授权的任意查询,从而进一步获取到数据信息。 简而言之,SQL 注入就是在用户输入的字符串中加入 SQL 语句,如果在设计不良的程序中忽略了检查,那么这些注入进去的 SQL 语句就会被数据库服务器误认为是正常的 SQL 语句而运行,攻击者就可以执行计划外的命令或访问未被授权的数据。

想详细了解的话,戳一下链接吧:https://www.php.cn/sql/487013.html(针不戳呀针不戳)

随便输输常用密码啦,就会显示错误:

flag{a0b2c066-8ec8-4814-9573-9dc3787db556}

万能密码原理:SQL语句sql="select * from user where username='"&username&"'and password='"& password&'",当我们的密码填写'or'1'='1提交的时候,此时语句中的password等于'or'1'='1,那么,这条SQL语句就变成了:sql="select * from user where username='"&username&"'and password= ''or'1'='1',然而,1=1是恒等条件,自然也就通过了程序的验证。
方法:首先我们需要在密码的最前面有一个单引号,来闭合SQL语句中的单引号,然后构造一个or,也就是或者,后面加一个恒等条件即可最简单的就是1=1,同样为了使SQL语句不出错,是来闭合程序中的SQL语句的后面的单引号的,如果我们在后面再加上一个单引号的话就会出错。

简而言之:由于网站后台在进行数据库查询的时候没有对单引号进行过滤,当输入用户名【admin】和万能密码【2' or'1】时,执行的SQL语句为【Select user_id,user_type,email From users Where user_id=' admin' And password='2'or'1'].同时,由于SQL语句中逻辑运算符具有优先级,【=】优先于【and】,【and】优先于【or】,且适用传递性。因此,此SQL语句在后台解析时,分成两句【Select user_id,user_type,email From users Where user_id='admin' And password = '2']和【1'】,两句bool值进行逻辑or运算,恒为TRUE。SQL语句的查询结果为TRUE,就意味着认证成
功,也可以登录到系统中。(是不是很简而言之)

最新文章

  1. 机器学习笔记-----AP(affinity propagat)算法讲解及matlab实现
  2. 【故障处理】ORA-30012的解决过程
  3. P、NP、NPC、NP-Hard问题
  4. 修改Tomcat编码方式的两种方法
  5. 【JSON】Jackson初学,及常用的例子
  6. [HIHO119]网络流五·最大权闭合子图(最大流)
  7. openwrt(路由器)的源码地址
  8. [Bootstrap]全局样式(一)
  9. CSS样式表引用方式
  10. windows wim
  11. WPF之Binding的使用
  12. Swarm 如何实现 Failover?- 每天5分钟玩转 Docker 容器技术(98)
  13. sqlyog创建数据库表关系图
  14. C# 后台获取前台交互判断
  15. C语言中sizeof与strlen的区别
  16. SpringMVC(一)helloWorld
  17. mount.nfs: access denied by server while mounting <SERVER IP>:<SERVER PATH>
  18. Oracleグラントについて
  19. plsql 只有三个文本框,无法登陆
  20. sql添加/移除约束

热门文章

  1. Mysql数据库基础第二章:(八)子查询经典案例
  2. mysql实训
  3. leetcode 310. 最小高度树 【时间击败70.67%】 【内存击败89.04%】
  4. mysql增删改查json中的某个字段
  5. Software--电商平台系统--P1 需求分析
  6. Ubunutu的apt-get软件下载工具的国内镜像源
  7. grpc start with python
  8. springboot自动装配静态成员变量
  9. nginx 添加ssl认证,访问静态资源 笔记
  10. outlook2013 关闭后不能接收邮件了解决方法