1、基本语法

update test.test_table set username='admin123',password=000 where id=1;

update test.test_table set username='admin000''aaaaa,password=000 where id=1;

修改为 admin000'aaaaa

update警告:

必须where限制,否则表中所有的username、password都变为admin123、123。

意思是测试时不能注释掉后面的where

2、'+version()+',查询数据库版本号

update test.test_table set username=''+version()+'',password=123 where id=1;

3、不能+user()+,但支持sleep()

mysql中+表示相加,若是字符串转为整型,结果为0,即0+user()+0为0+0+0,导致没法查询到任何数据

0+version()+0,返回0+5.7.26+0,相加结果5.7.26

注意:

如果是SQL Server,+ 可连接两个字符串,不是相加,可以使用 +user()+直接查询user()

4、如何查询user()

①、'+length(user())+',只能用数字,长度符合数字

长度为14,发现root@localhost确实为14

②、ASCII()函数也符合数字

'+ASCII(substr(user(),1))+'         获取user()第一个字符从ascii

update test.test_table set username=''+ASCII(substr(user(),1))+'',password=44444444 where id=4;

第一个字符的ascii为114,就是字符 r,以此类推,不断查询user()的字符。

5、查询与update注入不一样

当遇到查询注入时,是没法使用上述语法(除了sleep()),'+version()+'没法使用,用此代替admin123';select version();--,或其它注入语句代替。

select * from test.test_table where username='admin123';select user();--

update注入之我理解的更多相关文章

  1. 记录对依赖注入的小小理解和autofac的简单封装

    首先,我不是一个开发者,只是业余学习者.其次我的文化水平很低,写这个主要是记录一下当前对于这块的理解,因为对于一个低水平 的业余学习者来说,忘记是很平常的事,因为接触.应用的少,现在理解,可能过段时间 ...

  2. SQL注入测试平台 SQLol -4.UPDATE注入测试

    访问首页的update模块http://127.0.0.1/sql/update.php,开始对update模块进行测试. update语法: UPDATE [users] SET [username ...

  3. C# 一个初学者对 依赖注入 IOC 的理解( 含 Unity 的使用)

    通过 人打电话 来谈谈自己对IOC的理解 版本1.0 public class Person { public AndroidPhone Phone { get; set; } public void ...

  4. 控制反转(IOC) 和依赖注入(DI) 的理解

    1.      IOC(控制反转) inverseof control是spring容器的内核,AOP.声明事务等功能在此基础上开花结果. 2.      通过实例理解IOC概念: 实例:<墨攻 ...

  5. 依赖注入和Guice理解

    理解依赖注入,这篇文章写得非常好,结合spring的依赖注入分析的. http://blog.csdn.net/taijianyu/article/details/2338311/ 大体的意思是: 有 ...

  6. Thinkphp 5.1.7 parseData缺陷导致insert/update注入 分析

    目录 环境搭建 分析 参考 环境搭建 $ composer create-project topthink/think thinkphp-5.1.7 修改composer.json 5.1.* =&g ...

  7. bean加载与注入之重新理解

    1.@Autowired注解不可以用在静态属性上: 解决方法: 使用实现了ApplicationContextAware接口的自定义工具类,ApplicationContextAware可以让我们获得 ...

  8. ThinkPHP 5.0.15中的update注入漏洞

    漏洞demo: public function inc() { $username = request()->get('name/a'); db('user')->insert(['nam ...

  9. 【NetCore】依赖注入的一些理解与分享

    依赖注入 DI 前言 声明:我是一个菜鸟,此文是自己的理解,可能正确,可能有误.仅供学习参考帮助理解,如果直接拷贝代码使用造成损失概不负责. 相关的文章很多,我就仅在代码层面描述我所理解的依赖注入是个 ...

  10. DI(依赖注入)简单理解 NO1

    依赖注入:目的削减程序的耦合度,达到高内聚/低耦合 常用形式:Interface Driven Design接口驱动,接口驱动有很多好处,可以提供不同灵活的子类实现,增加代码稳定和健壮性等等.通过Io ...

随机推荐

  1. JMeter 简介

    JMeter 下载地址: https://jmeter.apache.org/ apipost 下载地址:(另外一个工具) https://www.apipost.cn/

  2. Go Module使用 六大场景讲解示例

    前言 通过学习Go是怎么解决包依赖管理问题的?.go module基本使用,我们掌握了 Go Module 构建模式的基本概念和工作原理,也初步学会了如何通过 go mod 命令,将一个 Go 项目转 ...

  3. liunx服务器某个Java运行服务CPU占用率过高问题排查及修复

    进入服务器 用 top 命令查看 top top - 09:57:55 up 40 days, 22:05, 9 users, load average: 4.44, 4.03, 3.85 Tasks ...

  4. 使用UNRAID系统,搭建ALL IN ONE全过程

    NAS最强攻略:使用UNRAID系统,搭建ALL IN ONE全过程!超万字教程,绝对干货! 2020-06-01 11:24:27 1690点赞 11149收藏 717评论 创作立场声明:熬了几个通 ...

  5. python 工具uv

    以下是 Python 环境管理工具 uv 从入门到精通的系统性指南,基于 2025 年最新版本特性整理: 一.uv 核心优势与适用场景 极速性能 • 基于 Rust 开发,依赖解析速度比传统工具快 1 ...

  6. 又一款眼前一亮的Linux终端工具!

    大家好,我是良许. 最近二舅视频刷爆了全网,大家有没去看呢?强烈推荐大家观看一波,也就 11 分钟,保证会触动你的泪点. 不过今天不讲二舅哈,还是来聊聊技术. 今天给大家介绍一款最近发现的功能十分强大 ...

  7. zk基础—5.Curator的使用与剖析

    大纲 1.基于Curator进行基本的zk数据操作 2.基于Curator实现集群元数据管理 3.基于Curator实现HA主备自动切换 4.基于Curator实现Leader选举 5.基于Curat ...

  8. Asp.net mvc基础(二)Controller给View传递数据的方式

    1.ViewData传值 步骤一:通过在控制器中以键值对的形式进行赋值 ViewData["键"] = 值 赋值: 调用: 2.ViewBag传值 ViewBag是dynamic类 ...

  9. java——文件的上传、下载、删除操作DEMO

    记录一下java实现文件的上传.下载.删除的功能demo: /** * Controller */ @Slf4j @RestController @RequestMapping public clas ...

  10. MySQL安装入门第一篇

    [1]MySQL的版本:近期主要历史版本有5.0/5.1/5.5/5.6/5.7,目前最新版本是MySQL8.6.0曾经是个内部试验版本,已取消了. MySQL8.0的版本历史 1) 2016-09- ...