//复现环境:https://buuoj.cn/challenges
开题是这样滴
这里是堆叠注入的考点
在SQL语句中,分号";"是表示一条sql语句的结束,可以尝试在结束一个sql语句后继续构造下一条语句,会是什么结果,所以就产生了堆叠注入。
而union injection(联合注入)是将两条语句合并在一起,两者之间的区别是
union执行的语句类型是查询语句。
而堆叠注入可以执行的是任意的语句。
比如说
客户端输入:1; DELETE FROM TEST那么服务器端生成的sql语句为:
Select * from TEST where TEST=1;DELETE FROM TEST当执行查询后,第一条显示查询信息,第二条则将整个表进行删除。
直接使用*,1 那么服务端生成的sql语句就是
sql=select.post['query'].