dreamhua 2020-04-19
一、工具
1.实验平台:http://123.206.87.240:8002/chengjidan/
2.工具包:Burp Suite和sqlmap:链接:https://pan.baidu.com/s/1qC6FxXwXtt4ReZF3QyGNYg
提取码:yjew
二、分析
1.进去后是一个查询界面,当风别输入1,2,3时会出现不同人的成绩单;
2.首先我想到了SQL注入,在查询框中,填入“and 1=1”页面出错,所以应该不是数字型注入。
3.尝试是不是字符型注入:
当在输入框中输入“1‘ and 1=1#”时显示正常,当输入"1‘ and 1=2#"时又出现错误,所以这里应该是字符型SQL注入。(对字符型漏洞和数字型漏洞不太理解的可以借鉴:https://blog.csdn.net/weixin_43919144/article/details/105552701)
三、SQL注入
方法一:直接注入
1.测试当前查询显示几个字段,利用联合查询语句查找可显 字段:
2.查询当前数据库名称:
3.获取数据库中的表名:id=-1‘ union select 1,2,3,group_concat(table_name) from information_schema.tables where table_schema=database()#
4.获取表中的字段:
5.最后一步根据字段名获取flag:id=-1‘ union select 1,2,3,skctf_flag from fl4g,sc#
方法二:使用sqlmap工具
1.运行BP抓包,将其保存为txt文档
2.使用sqlmap查询数据库: -r:文件类型; -p指定参数; --dbs 查询数据库
是否继续,选择yes,继续查询数据库名:
3.查询数据库表名:
4.获取表中的字段:
5.获取字段里面的值:
拿到了flag!!