以下是我在学习sql注入时的一些感想分享,希望能帮助到大家,如有错误,望指出。

万能密码的种类:

①select * from admin where username =“” and password = “”

②admin‘ #

③’+‘   ’+‘

④0

⑤Aaa’ = ‘

在以下的select语句中的username和password可类似看作为字符串变量

select * from user where username = ‘admin’ and password = ‘yi’;

该语句的判断逻辑是什么呢?

就是当username =‘admin’和password=’yi’都为真时执行成功。

那么就是说不管怎么样,只要这两项都为真就行了这就意味着即使用户名和密码都不正确,只要让这两项都为真就能执行成功,该逻辑就是②③条的注入原理

①select * from user where username = ‘chen’ # ‘ and password = ‘qian’;

②select * from user where username = ‘ ‘+’ ‘ and password = ‘ ‘+’ ‘;(有局限) 

select ‘ ‘+’ ‘;

select ‘qian’=0;

select ‘1qian’=0;

仅对于username和password的值为非数字开头的字符串有效。Eg:’q123’

在这里select语句中的username和password可类似看作为字符串变量,那么等于非数字开头字符串的变量在转化为int形式时就为0(这里的=号不是赋值符号,就是数学上=号的作用)

③select * from user where username = 0 and password = 0; 

在这里username和password可类似看作为字符串变量,那么非数字开头的字符串在转化为int形式就为0(和③原理一样,就是表现手法不同而已)

④select * from user where username = ‘aaa’=’ ‘ and password = ‘aaa’=’ ‘; 

select ‘aaa’=’a’;(执行结果为0) 

select ‘aaa’=’a’=’ ‘; 

判断逻辑:username=’aaa’为假,假=’ ‘又变为了真,password一样(前提username与password都不为’aaa’)%e6%b5%85%e6%98%93%e6%b7%b1

⑤select \Nfrom user;(执行成功,在N与from之间没空格)

select 1from;(执行失败,因为1与from之间没空格)

select 1,2,\Nfrom user;(执行成功,在2与from之间没空格) 

该技巧在from的左端不能输空格的时候,可以考虑能不能使用该方法进行绕过。

CTF-sql-万能密码的更多相关文章

  1. Natas14 Writeup(sql注入、sql万能密码)

    Natas14: 是一个登录页面.源码如下. if(array_key_exists("username", $_REQUEST)) { $link = mysql_connect ...

  2. sql万能密码

    输入1'or'2这样就会引起sql注入,因为username=password admin adn admin,所以我们能够进去 必须要做好过滤措施

  3. SQL万能密码:' or 1='1

    select name,pass from tbAdmin where name='admin' and pass='123456' 输入用户名:' or 1='1 SQL变成下面这个样子: sele ...

  4. Sqli-LABS通关笔录-11[sql注入之万能密码以及登录框报错注入]

    在这一关卡我学到了 1.万能密码的构造,大概的去揣测正常的SQL语句是如何的. 2. 3. 00x1 SQL万能密码的构造 在登录框当中可以添加了一个单引号.报错信息如下所示: 据此报错,我们大概的可 ...

  5. 从c#角度看万能密码SQL注入漏洞

    以前学习渗透时,虽然也玩过万能密码SQL注入漏洞登陆网站后台,但仅仅会用,并不理解其原理. 今天学习c#数据库这一块,正好学到了这方面的知识,才明白原来是怎么回事. 众所周知的万能密码SQL注入漏洞, ...

  6. sql注入问题 java中将MySQL的数据库验证秘密加上 ' or '1'= '1 就可以出现万能密码

    password的字符串中,加上 ' or '1'= '1 就可以制作出万能密码. 原因如下: 原代码中密码是123456 执行数据库查询语句 实际上执行的SQL语句是: select * from ...

  7. 万能密码的SQL注入漏洞其PHP环境搭建及代码详解+防御手段

    目录 环境搭建 session会话 环境搭建代码 创建数据库脚本 登录界面html: 查询数据库是否为正确的账号密码php代码 连接数据库php代码: 注销登录代码(即关闭session会话) 登录成 ...

  8. 万能密码:‘or 1=1-- 实战SQL注入,秒破后台

    主要是没有对登录密码的字符串进行参数化和过滤,所以导致网站可以直接用"万能密码"进行突破登录 仅供学习交流 这是某同学做的网站,今天无聊打开了,并帮他进行测试一下 看到这个后台,感 ...

  9. 实验3 SQL注入原理-万能密码注入

    实验目的 (1)理解[万能密码]的原理 (2)学习[万能密码]的使用 实验原理 一.访问目标网站 1.选择一个存在漏洞的论坛 http://192.168.1.3:8009 进入 2.输入用户名[ad ...

  10. CTF SQL注入

    目录 一.宽字节注入 二.基于约束的注入 三.报错注入 四.时间盲注 五.bool盲注 六.order by的注入 六.INSERT.UPDATE.DELETE相关的注入 七.堆叠注入 八.常用绕过 ...

随机推荐

  1. WPF将窗口置于桌面下方(可用于动态桌面)

    WPF将窗口置于桌面下方(可用于动态桌面) 先来看一下效果: 界面元素很简单,就一个Button按钮,然后写个定时器,定时更新Button按钮中的内容为当前时间,下面来介绍下原理,和界面组成. 窗口介 ...

  2. ciscn_2019_c_1 1

    步骤: 先checksec,看一下开启了什么保护 可以看到开启了nx保护,然后把程序放入ida里面,观察程序代码 先shift+f12观察是否有system和binsh函数 发现没有system和bi ...

  3. 解决pwn题目加载指定libc版本的问题

    因为本地和远程的libc版本不同,pwn题目调试起来会有影响,所以来记录一下用patchelf和glibc-all-in-one来解决这个问题过程. 下载工具 下载patchelfgit clone ...

  4. [BUUCTF]REVERSE——[WUSTCTF2020]level2

    [WUSTCTF2020]level2 附件 步骤: 例行检查,32位程序,upx壳儿 脱完壳儿,扔进32位ida,习惯性的检索字符串,在我没找到什么关键信息,准备去看main函数的时候,将字符串拉到 ...

  5. 删除空行(嵌套)(Power Query 之 M 语言)

    数据源: "姓名""基数""个人比例""个人缴纳""公司比例""公司缴纳"&qu ...

  6. manjaro(arch系)Linux使用(一)

    # manjaro的使用 ## 配置源 先切换国内的镜像源仓库 `sudo pacman-mirrors -i -c China -m rank` 在弹出的窗口中选择延迟最小的源 ### 添加arch ...

  7. vue+uniapp实现照录像,相册选择 | 图片裁剪压缩,视频压缩

    一.插件简介 Zhimi-Camera(智密 - 智密 - 相机图册插件-视频/图片选择器)是一个支持拍照,录像,相册选择功能,自带图片裁剪,图片压缩,视频压缩,选择数量限制的uniapp原生插件.平 ...

  8. 使用docker logs -f 打印日志中文无法正常显示

    打印docker日志的时候 中文无法显示 显示了问号 在Dockerfile加入 ENV LANG en_US.UTF-8 ENV LANGUAGE en_US:en ENV LC_ALL en_US ...

  9. 【九度OJ】题目1163:素数 解题报告

    [九度OJ]题目1163:素数 解题报告 标签(空格分隔): 九度OJ 原题地址:http://ac.jobdu.com/problem.php?pid=1163 题目描述: 输入一个整数n(2< ...

  10. JVM调参

    今天看了下之前做的一个异步处理任务的服务,发现占用内存量比较大,达到2G,但我检查了代码,基本没有static对象.但这个服务有个特点,就是每次执行一个任务的时候,会从数据库中捞大量的数据做处理,因此 ...