动态线条
动态线条end

SQL注入:DML语言与insert注入逻辑

什么是DML

1)查询 select

2)插入 insert

3)更新 update

4)删除 delete

插入数据

insert into tableName 
(column1,column2,column3....) 
values 
(variable1,variable2,variable3....),
(variable1,variable2,variable3....),
(variable1,variable2,variable3....)
.
.
.;

复合语句插入数据 (将select的结果当做插入的数据内容)

insert into tableName (column1,column2,column3....) select (column1,column2,column3....);

利用set插入数据

insert into tableName set column1=value1,,column2=value2....;

insert报错逻辑

输入错误的数据,引起sql报错,通过命令查看报错内容。

show warnings;

insert留后门逻辑

insert into tableName (column1,column2,column3....) select ('<script javascript>alter(1)</script>',column2,column3....);

用途:

1)可能被注入者利用,相当于病毒脚本,当打开网页时,如果处理程序并未屏蔽脚本的浏览器解析,那么就会跳出很多广告窗口,目的只是获取流量。

2)对于注入者可以放置数据库连接和通信的脚本,以便在适当的时候,select into outfile 到web可访问的目录下,目标是通过http连接就可以直接访问数据库。

二次注入

1)插入非法的sql语句,但是不具有攻击能力

2)能够调用插入的语句内容,进行二次拼接操作

3)如果未过滤,大概率攻击成功

注意:很多二次注入都是从代码审计中寻出,想要通过盲注测试出几乎不可能。

posted @ 2022-01-26 17:32  v1v1v1  阅读(158)  评论(0)    收藏  举报