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)如果未过滤,大概率攻击成功
注意:很多二次注入都是从代码审计中寻出,想要通过盲注测试出几乎不可能。

浙公网安备 33010602011771号