mysql注入问题求解

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

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

阅读 907
1 个回答

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

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题