mysql注入问题求解

insert into table1(id, message) values ("xxx", ""-(select sleep(3))-"");

这个"sleep(3)"语句为什么能够执行?哪个大佬能帮忙解答下

阅读 984
1 个回答

""-(select sleep(3))-""可以认为是一个算术表达式:""【空字符串】-【减去】select sleep(3)【查询结果】-【减去】""【空字符串】。
题主可以将空字符串""换成任意数字字符串,如 "5""8",再将减号 - 换成加号 +,可以得到不同的结果,这也从侧面验证了 SQL 执行器是将其理解为算术表达式

推荐问题