结论
把 order_by=undefined 的参数值改为 order_by=asc 或者 order_by=desc,再在其他参数处注入。
payload:
1 | IF(substr(database (),1,1)='i',1,(select+1+union+select+2)) |
原因
参数化会将参数值加上引号,但是order by字段不能带引号,所以很多排序功能常存在注入问题,如mybatis中预编译使用 #{} 而order by 字段使用参数化后有问题,所以开发者可能直接就使用 ${ }从而存在注入问题。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Fstraw Blog!
评论