python3 pyside6学习笔记及实践(二)
本系列文章为b站PySide6教程以及官方文档的学习笔记。本文内容包括常用控件、布局、对话框以及子窗口/多窗口。
数字图像处理 作业二
本系列文章为学校课程《数字图像处理》布置的一些小project作业。本次作业涉及模板匹配、椒盐噪声与中值滤波。
ctfshow 文件上传模块
web151(客户端校验)右键查看源代码
这是典型的JS验证,即使用客户端校验
我们直接在元素中,修改上传按钮标签中传递的文件后缀参数,改为php
此时再上传一个php一句话木马即可
1<?php eval($_POST['R1ck'])?>
使用蚁剑连接
得到flag
web152(MIME校验)本题源码与上一题一致,但是无法直接修改前端代码来绕过
观察到响应数据包中存在Content-Type字段,猜测使用了MIME校验
上传一句话木马后使用burpsuite抓包,修改Content-Type字段的值为image/png即可
web153(.user.ini)尝试上一题的MIME校验绕过思路,发现无法绕过
抓包发现本题使用的是nginx服务器
尝试使用.user.ini绕过
上传ini.png文件,内容如下
1auto_prepend_file=hack.png
抓包后将其名字改为.user.ini
接下来再修改前端,使其接收png文件,将木马上传
web154(过滤<?php)本关尝试上传hack.png时报错,而普通png图片 ...
文件上传漏洞
Reference文件上传漏洞 | 狼组安全团队公开知识库 (wgpsec.org)
客户端校验最简单的校验方法即在客户端浏览器对上传的文件进行校验
我们可以将木马修改为允许的后缀,然后使用bp拦包修改后缀名
当然也可以直接修改客户端代码的逻辑,以允许上传php文件
服务端校验MIME校验/文件内容头校验(GIF89a)MIME类型是用来标识文件的格式,确保数据能够正确地被互联网应用程序理解和处理
MIME类型通常在HTTP请求和响应中使用两个主要的HTTP头部字段Content-Type 和 Accept来传输,字段值决定了传输的文件类型
例如:
text/html:HTML文档
application/json:JSON格式的数据
image/jpeg:JPEG图像
遇到MIME校验时,我们可以在上传php文件后抓包,修改Content-Type 的值为允许的类型
针对文件内容头校验,可以在恶意脚本前添加GIF89a标识,一句话前后加图片数据混淆
文件扩展名校验一般检查文件扩展名时会使用黑名单或白名单来限制文件后缀
黑名单绕过
找漏网之鱼:cer、php3、php4等
大小 ...
面向图像的秘密共享算法设计
门限秘密共享现在应用广泛的的秘密共享主要框架即门限秘密共享
门限秘密共享的工作原理如下:
秘密分割:首先,一个秘密信息被分割成多个部分,通常是通过一些数学算法进行划分。这些部分称为“份额”(shares)或“部分秘密”(partial secrets)。
门限条件:定义一个门限值(threshold),只有在满足门限值要求的份额数量或者特定的份额组合之下,才能还原出原始的秘密信息。这个门限值可以是任何数字,通常是一个预先确定的整数。
分发份额:将这些份额分发给不同的参与者,每个参与者只持有其中的一部分份额,而且不知道其他参与者持有的份额内容。
重构秘密:当需要还原秘密信息时,至少要达到门限值数量的参与者合作,将他们的份额组合在一起,才能成功还原出原始的秘密。
比较常见的门限秘密共享方案基本都是基于数学问题
Shamir秘密共享方案Shamir密码共享方案建立在一条数学定理上:
n次平面代数曲线(一次时为直线),至少需要知道该曲线上的n+1个点的坐标
当需要恢复秘密时,我们需要用到拉格朗日插值公式
基于中国剩余定理的秘密共享顾名思义,该方案是基于中国剩余定理
中国剩余定理(CR ...
数字图像处理 作业一
本系列文章为学校课程《数字图像处理》布置的一些小project作业。本次作业涉及直方图均衡、直方图匹配。
Hackergame 2023 Summary(part2)
成功挤进校内前5,总榜前70。欣慰地看到这一年来的努力没有白费,自己的技术力有见长;也欣慰地看到今年的排行榜分数比去年更卷了,这是好事,说明网安圈高技术力的师傅们越来越多了,以后也能看到更多大佬们的技术分享文章
Hackergame 2023 Summary(part1)
成功挤进校内前5,总榜前70。欣慰地看到这一年来的努力没有白费,自己的技术力有见长;也欣慰地看到今年的排行榜分数比去年更卷了,这是好事,说明网安圈高技术力的师傅们越来越多了,以后也能看到更多大佬们的技术分享文章
游戏Mindustry 逻辑入门
因为这次Hackergame2023涉及到了这款游戏,所以特地学习一下里面的逻辑系统
本文章为b站系列视频【Mindustry】逻辑入门的笔记
下面是该视频传送门
【Mindustry】逻辑入门
本期介绍指令:Get Link, Jump, End
变量和关键字变量手动链接的自动命名当我们修建一个处理器后,就可以单击旁边的方块进行手动链接
方块上会被自动设置变量名
我们可以在处理器中使用变量名指代这些方块
变量名一旦设置好,就无法修改
根据链接的排序使用Get Link指令命名使用Get Link指令,我们可以根据链接顺序给方块手动命名
例如此处,我们将第一个链接的命名为x1变量,第二个命名为x2
指令执行过程中的赋值我们也可以使用变量名去记录指令执行过程中的各种运行结果值
关键字游戏中的各种关键字都以@符号开头
各种单位以及方块的 ...
python3 pyside6学习笔记及实践(一)
本系列文章为b站PySide6教程以及官方文档的学习笔记。本文内容包括基础控件、初识Qt Designer、信号与槽。