首页 > 数据库 >初始SQL万能语句 ' or 1=1#

初始SQL万能语句 ' or 1=1#

时间:2022-11-28 01:44:11浏览次数:60  
标签:语句 username 万能 SQL password where select

使用SQL注入前

在日常界面用户登录过程中通常是这样的
输入用户名“username”
输入密码“password”

SQL注入语句编写如下
$sql=select * form user where username='username' and password='password'

当我们输入相应正确的用户名和密码时,就可以登陆进去,错误的,时无法登陆的。但是这个验证机制可以通过SQL语句来构造一个特殊的”字符串“通过验证。
当我们在用户名处输入' or 1=1#,密码随便写,就可以登陆进入网站

使用SQL注入后

将' or=1=1#代入语句
$sql=select * form user where username=' 'or 1=1# and password=' 'or 1=1#
在SQL语句中#是注释符,所以后面的语句都会被注释掉,那么上面的语句就等价于:
select * from user where username=' ' or1=1

在SQL语句中where相当于判断语句,并且是由 or 连接的,所以 username=’ ‘ 和 1=1 中有一个为真就为真。1=1一定为真,所以语句又等价于:

select * from user

也是buuwab第一题“easySQL”的题解

参考于 https://www.bilibili.com/read/cv18070288

标签:语句,username,万能,SQL,password,where,select
From: https://www.cnblogs.com/Infinite-Ting/p/16931211.html

相关文章

  • Sqlserver 的CONCAT函数,代替【+】(将名字的第一位改为大写,其他位改为小写)
    将名字的第一位改为大写,其他位改为小写CONCAT(UPPER(left(name,1)),LOWER(RIGHT(name,length(name)-1)))asname SQLServer中提供了一个concat()函数用于将两个......
  • SQLServer之MIN() 函数
    https://blog.csdn.net/dnm49386/article/details/101730090MIN()函数MIN函数返回一列中的最小值。NULL值不包括在计算中。SQLMIN()语法 SELECTMIN(column_name)......
  • 在mysql bench 客户端链接mysql时 出现拒绝访问
    在mysqlbench客户端链接mysql时出现拒绝访问-----经过排查是因为新安装的系统centosstream9的防火墙是开启的,且默认端口3306是关闭的,需要对该端口号进行开放。就......
  • 第15节-MySQL用户权限
    1、用户管理1.1、查询用户usemysql--5.6以下的版本selecthost,user,passwordfromuser;--5.7以上的版本selecthost,user,authentication_stringfromuser;......
  • mysql添加远程连接功能
    有些情况,我们需要让测试服务器的本地数据库能被外部访问,方便本地数据库可视化工具对其数据的管理。但是,这也带来了一些风险,若被黑客知道了你的服务器IP和数据库账号密码,则......
  • 解决JDBC与Mysql中文乱码现象
    在用JDBC连接数据库进行打印输出的操作的时候,出现了中文乱码的问题。此时Mysql和网页状况如下:Mysql乱成一窝粥。网页的情况也是不容乐观……......
  • 网络编程及数据库MySQL总结
    目录网络编程并发知识网络编程知识网络编程软件开发架构计算机网络的相关专业名词OSI七层协议物理连接层数据链路层网络层传输层应用层socket模块黏包现象struct模块并发编......
  • MySQL进阶实战4,MySQL索引详解,下篇
    一、索引索引是存储引擎用于快速查找记录的一种数据结构。我觉得数据库中最重要的知识点,就是索引。存储引擎以不同的方式使用B-Tree索引,性能也各有不同,各有优劣。例如MyI......
  • MySql回表以及产生原因
    MySql回表以及产生原因在SQL优化里面经常提到,如在非主键索引的情况下尽量避免使用select*from;究其原因就是今天我要记录的Mysql回表查询。Mysql回表指的是在InnoDB存储......
  • MySQL进阶实战6,缓存表、视图、计数器表
    一、缓存表和汇总表有时提升性能最好的方法是在同一张表中保存衍生的冗余数据,有时候还需要创建一张完全独立的汇总表或缓存表。缓存表用来存储那些获取很简单,但速度较慢的数......