NSSCTF-Web题目8

目录

[LitCTF 2023]Http pro max plus

1、题目

2、知识点

3、思路

[NSSCTF 2022 Spring Recruit]babyphp

1、题目

2、知识点

3、思路


[LitCTF 2023]Http pro max plus

1、题目

2、知识点

http数据包头部字段

3、思路

打开题目

第一想法就是加上X-forwarded-for字段

使用BP进行改包

X-forwarded-for:127.0.0.1

出现新的页面,百度看看有没有别的代理方式

还可以使用client-IP字段

Client-IP跟X-forwarded-for都可以是http头部的一部分,作用是代理服务器

Client-IP:127.0.0.1

这里提示要从pornhub.com访问

使用referer字段,这个字段的作用也就是告诉服务器,你从哪个页面跳转过来

Referer:pornhub.com

提示要使用谷歌浏览器

修改user-agent字段,这个字段的作用是告诉服务器客户端的浏览器版本

User-Agent:Chrome

这里提示要使用代理服务器

可以加入via字段,这个字段的作用可以是路径追踪,检测请求是否经过反向代理服务器

Client-IP:127.0.0.1

得到一个页面

GET / HTTP/1.1
Host: node5.anna.nssctf.cn:20092
User-Agent:Chrome
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Client-IP:127.0.0.1
Referer:pornhub.com
via:Clash.win

Accept-Language: zh-CN,zh;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
DNT: 1
Connection: close

访问页面 /wtfwtfwtfwtf.php

都进不去看一下,没发现flag,右键查看源码

/sejishikong.php

得到flag:NSSCTF{a4a8d62e-9dfa-4b0d-b562-e45948b120e7}


[NSSCTF 2022 Spring Recruit]babyphp

1、题目

2、知识点

md5绕过,数组绕过

3、思路

审计源码

第一层

if(isset($_POST['a'])&&!preg_match('/[0-9]/',$_POST['a'])&&intval($_POST['a']))

意思是把a变量的值进行数值转化,但又有正则比较,不能出现数字

intval()

这个函数的变量不能是对象类型和数组类型,所以我们可以使用数组来进行绕过

第二层

 if($_POST['b1']!=$_POST['b2']&&md5($_POST['b1'])===md5($_POST['b2']))

意思是b1和b2的值不行相同,但md5加密后的值又比较相等,这里也使用数组进行绕过,因为md5

没有办法处理数组,加密后的数值是这样的null=null

第三层

if($_POST['c1']!=$_POST['c2']&&is_string($_POST['c1'])&&is_string($_POST['c2'])&&md5($_POST['c1'])==md5($_POST['c2']))

这个的意思是c1和c2的必须是字符串,且不相同,md5加密后进行弱比较,弱比较就是值或者类型相同即可,这里就可以找两个MD5加密后值相同的字符串进行绕过

s1885207154a 和 s1836677006a

QNKCDZO 和 QLTHNDT

这些字符串md5加密后都是0e开头的,在php中0e会被当做科学计数法,就算后面有字母,其结果也是0

综上,构造payload

a[]=1&b1[]=1&b2[]=2&c1=QNKCDZO&c2=QLTHNDT

得到flag:NSSCTF{47eaca32-cc76-4272-a367-b56adde1938d}


这篇文章就先写到这里了,哪里不懂的,或者不好的欢迎批评指正!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【BES2500x系列 -- RTX5操作系统】CMSIS-RTOS RTX -- 实时操作系统的核心,为嵌入式系统注入活力 --(一)

💌 所属专栏:【BES2500x系列】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! &#x1f49…

显卡nvidia的CUDA和cuDNN的安装

显卡版本,和nvidia下载的 CUDA版本和CUDNN的关系 1. 显卡版本 nvidia-smi 硬件环境:显卡版本 4090 NVIDIA-SMI-555.85 我的驱动是510.85.02,驱动附带cuda12.5 2. nvidia下载的cuda版本 nvcc -V 我下载的是cuda12.5 cuda在安装版本过程…

使用宝塔面板搭建Flask项目保姆级喂饭教程

目录 零.前言 一.准备工作 1.1创建requirements.txt文件 1.2将项目打包为压缩文件 1.3租一台服务器 1.4部署宝塔面板 二.宝塔面板(服务器)上的操作 2.1将本地Flask项目上传到服务器 2.2添加Python项目 2.3配置Python项目 2.4配置Nginx 2.5宝塔面板放行端口 2.6在服…

CoRR和arXiv

CoRR和arXiv到底是什么?_corr期刊-CSDN博客文章浏览阅读1.4w次,点赞8次,收藏10次。提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档CoRR和arXiv到底是什么文章目录一、arXiv二、CoRR前言 a…

性能测试-性能监控分析与调优(三)《实战》

性能监控 使用命令监控 cpu瓶颈分析 top命令 在进行性能测试时使用top命令,界面如下 上图可以看出 CPU 概况区: %Cpu(s): us(用户进程占用CPU的百分比), 和 sy(系统进程占用CPU的百分比) 的数值很高…

【Unity设计模式】状态编程模式

前言 最近在学习Unity游戏设计模式,看到两本比较适合入门的书,一本是unity官方的 《Level up your programming with game programming patterns》 ,另一本是 《游戏编程模式》 这两本书介绍了大部分会使用到的设计模式,因此很值得学习 本…

通过git命令查询某个用户提交信息

要查询某个用户通过 Git 提交了多少行代码,可以使用以下步骤和命令来实现。这些命令将统计该用户的添加和删除的代码行数。 1、切换到你的 Git 仓库: cd /path/to/your/repositorygit命令结果: 2、查询所有用户: git log --pr…

原子性(juc编程)

原子性 概述:所谓的原子性是指在一次操作或者多次操作中,要么所有的操作全部都得到了执行并且不会受到任何因素的干扰而中断,要么所有的操作都不执行,多个操作是一个不可以分割的整体。 //比如说:你喂你女朋友吃冰淇…

SOFTS: Efficient Multivariate Time Series Forecasting with Series-Core Fusion

SOFTS: Efficient Multivariate Time Series Forecasting with Series-Core Fusion 文章目录 SOFTS: Efficient Multivariate Time Series Forecasting with Series-Core Fusion1. 论文背景1.1 通道独立-通道依赖的区别1.2 论文贡献 2. 模型架构2.1 SOFTS的主要架构2.2 STAR 模…

《QT实用小工具·七十一》基于Qt+Qml开发的文件传输工具

1、概述 源码放在文章末尾 该项目基于QTQML实现了文件传输的功能,可以在局域网环境下使用(热点),扫描使用UDP,传输使用TCP,每一个文件传输使用独立的线程进行处理,高效便捷。 开发环境 使用Qt/Qml开发 QT版本&#x…

搭建开发模式下的以太坊私有链【Geth:1.14.5】

一、为什么用到私有链? 在以太坊的公有链上部署智能合约、发起交易需要花费以太币。而通过修改配置,可以在本机搭建一套以太坊私有链,因为与公有链没关系,既不用同步公有链庞大的数据,也不用花钱购买以太币&#xff0…

Mybatis中BaseEntity作用

新建各种对象的时候,一般来说,有几个属性是所有对象共有的,比如说id,is_del,is_enable这些,然后设置一个基础对象,以后新建所有对象的时候都继承它,就省的每次都要写这些共有的属性了

生育是家庭和个人的重要的选择

生育是个人和家庭的重要选择,而国家对于生育政策的制定应该综合考虑多种因素,包括人口结构、经济发展和社会稳定等。同时,我们也应该认识到,男女不应该成为决定一个人是否能够生育的因素。男女在生育中扮演着不同的角色&#xff0…

在Maven工程中手动配置并测试SpringBoot(巨详)

本篇博客承继自博客&#xff1a; 在IDEA 2024.1.3 (Community Edition)中创建Maven项目_idea2024.1.3如何创建maven项目-CSDN博客 配置POM文件 打开工程中的pom.xml文件&#xff0c;先向其中写入 <parent><groupId>org.springframework.boot</groupId><…

【总线】AXI4第三课时:握手机制

大家好,欢迎来到今天的总线学习时间!如果你对电子设计、特别是FPGA和SoC设计感兴趣&#xff0c;那你绝对不能错过我们今天的主角——AXI4总线。作为ARM公司AMBA总线家族中的佼佼者&#xff0c;AXI4以其高性能和高度可扩展性&#xff0c;成为了现代电子系统中不可或缺的通信桥梁…

Java面向对象的三大特性之一——继承

目录 一、继承概念 二、为什么要继承 三、继承语法&#xff08;关键字extends&#xff09; 四、父类成员访问 1、子类中访问父类的成员变量 &#xff08;1&#xff09;子类和父类不存在同名的成员变量 &#xff08;2&#xff09;子类和父类中存在同名的成员变量 2、子类中访…

Transformer学习理解

1.前言 本文介绍当下人工智能领域的基石与核心结构模型——Transformer&#xff0c;为什么说它是基石&#xff0c;因为以ChatGPT为代表的聊 天机器人以及各种有望通向AGI&#xff08;通用人工智能&#xff09;的道路上均在采用的Transformer。 Transformer也是当下NLP任…

基于PCL实现多边形框选点云并进行裁剪(附C++源码)

文章目录 一.算法效果二.算法原理PNPoly算法直线相交性判断三.代码实现一.算法效果 通过在PCL可视化界面上绘制2D封闭多边形来提取位于该封闭多边形内部或者外部的 的点,算法效果如下: 图1多边形裁剪点云效果图 二.算法原理 PNPoly算法 2D多边形框选裁剪点云,实际上可以简…

SSRF学习,刷题

[HNCTF 2022 WEEK2]ez_ssrf 给了一个Apache2的界面&#xff0c;翻译一下 就是一个默认的界面,目录扫描 可以看到flag.php,肯定是不能直接访问得到的&#xff0c;还有index.php&#xff0c;访问这个 可以看到三个参数data,host,port 还有fsockopen() 函数是 PHP 中用于打开一个…

代码随想录训练营Day 64|卡码网98. 所有可达路径(深搜)

1.所有可达路径 98. 所有可达路径 | 代码随想录 代码&#xff1a; &#xff08;深搜&#xff09;邻接矩阵表示 #include <iostream> #include <vector> using namespace std; vector<int> path; vector<vector<int>> result; void dfs(const ve…