SQL手工注入及流量分析

Update注入及流量分析

update基础:

update语句可用来修改表中的数据,简单来说基本的使用形式为:

update表名称set列名称=新值where更新条件;

如:修改表中admin的密码为admin

mysql> use security

Database changed

mysql> update users set password='admin' where username='admin';

代码分析:

在代码中只对uname进行了过滤,password却直接使用存在注入点

构建payload:

name=admin&passwd=admin' or updatexml(1,concat(Ox7e,version O,Ox7e),1)#&submit=Submit

使用sqlmap探测:python2 sqlmap.py -r "C:\test\17.txt" -p passwd --batch --dbs

流量分析:

探测流量 ' \ 'and 1=1等

利用流量

盲注流量

报错函数流量等

Sqlmap 流量(大量sql请求)

insert注入及流量分析

注入原理

inset注入就是指我们前端注册的信息会被后台通过insert操作插入到数据库里边去,若此时后台没有做出相应的处理就会构成insert注入。

注入方法

insert 语句

insert into 表 (username, pw) values('xxxxx',111111,);

以上是Insert的完整语句,而我们输入的用户名对应的就是上面'xxxxx'这里

这里我们可以使用or这个逻辑运算符,例如用下面的语句代替xxxxx:

x' or updatexml(1, concat (Ox7e, versionO),0) or '(x后的单引号闭合前单引号,or后的单引号闭合后单引号)注意,对于insert注入不能使用注释(--+ #)去注释掉后面内容,只能使用and或or去进行单引号闭合

流量特征:

insert的流量特征里不会出现注释这类报主要基于,错函数流量,盲注流量,Sqlmap 流量等

delete注入及流量分析

源码分析

源码中从_GET\['id'\]处获得了id信息(进行删除数据时是以条目形式删除),而sql语句中可以看出delete from message where id={_GET'id'}内容是直接从$_GET'id'获得没有做任何处理,而且该id还是一个数值型内容(没有单引号引起来)

流量分析:

盲注流量和报错函数流量

堆叠注入及流量分析

定义:

是多条sql语句一起执行。我们知道在mysql中,主要是命令行中,每一条语句结尾加;表示语句结束。这样我们就想到了是不是可以多句一起使用。这个叫做stacked injection。

原理:

在SQL中,分号(:)是用来表示一条sq1语句的结束。试想一下我们在;结束一个sq1语句后继续构造下一条语句,会不会一起执行?因此这个想法也就造就了堆叠注入。而unioninjection(联合注入)也是将两条语句合并在一起,两者之间有什么区别么?区别就在于union 或者unional1执行的语句类型是有限的 ,可以用来执行查询语句,而堆叠注入可以执行的是任意的语句 。例如以下

这个例子。用户输入:1;DELETE FROM products

服务器端生成的sql语句为:

select * from users where productid=l;DELETE FROM users

当执行查询后,第一条显示查询信息,第二条则将整个表进行删除。

堆叠注入的局限性在于并不是每一个环境下都可以执行,虽然我们前面提到了堆叠查询可以执行任意的sq1语句,但是这种注入方式并不是十分的完美的。在我们的web系统中,因为代码通常只返回一个查询结果,因此,堆叠注入第二个语句产生错误或者结果只能被忽略,我们在前端界面是无法看到返回结果的。因此,在读取数据时(敏感信息套取),我们建议使用union(联合)注入。同时在使用堆叠注入之前,我们也是需要知道一些数据库相关信息的,例如表名,列名等信息。

流量分析:

典型流量: ;

非典型流量:delete update insert

Sql语句的堆叠流量

破坏语句堆叠工

相关推荐
这个DBA有点耶14 小时前
2026年分布式数据库有哪些主流选择?先评估这5个维度再决定
数据库·分布式·dba
这个DBA有点耶17 小时前
从MySQL 5.7到8.0:JSON查询性能差在哪?虚拟列索引vs多值索引怎么选
数据库·mysql·架构
胡写代码17 小时前
数据库审计字段,别再每张表各写一套了——我统一成这 6 个字段
数据库
SelectDB21 小时前
为什么 JSON 正在成为分析数据库新的竞争点?
数据库·json·agent
ClouGence1 天前
开源数据库管理工具 CloudDM 4.2.0 发布,新增 GoldenDB、KingbaseES 等数据源
数据库·dba·devops
发霉的馒头1 天前
ORA-00845: MEMORY_TARGET not supported on this system的解决方法
数据库
草莓熊Lotso1 天前
【Redis 初阶】Set 类型深度解析:去重集合的运算能力与实战场景
linux·网络·数据库·windows·redis·tcp/ip·缓存
煎饼皮皮侠1 天前
【设计】设计一个web版的数据库管理平台后端(之五) --借鉴mybatis
数据库·mybatis
东风破_1 天前
danci 2:创建的单词书到底存在哪里?从 Supabase 一路理解 ORM、Drizzle 和 RLS
数据库·后端·node.js
九皇叔叔1 天前
《MySQL 体系架构详解:Server 层、SQL 执行流程与 InnoDB、MyISAM、MEMORY 存储引擎》
sql·mysql·架构