ServerSentEvent学习
起因我记得我在高中时候问过老师:发送一次HTTP请求,能否收到多次HTTP请求回复。
老师的回答是:不能
直到我上了大学,2023年,不少ChatGPT聊天框的实现开始使用Server Sent Event(SSE)实现打字机样式的输出,我发现高中时的需求居然是可以实现的。在此之前,这一类需求我都是用WebSockets实现。Python的Flask和Django关于WebSockets属实让人不舒服,SpringBoot有关Websockets的配置也让我鼓弄了老半天(Java用的少是原罪)。但如果用SSE,回复只要按流式传输返回即可,个人感觉在理解上相对容易一些。
参考资料MDN里面关于实现有很详细的说明
Using server-sent events
阮一峰的教程,一份很好的普及资料
Server-Sent Events 教程
学校挑战杯实践记录在实践中发现:如果要从网页前端(通过摄像头录制视频)往后端传输视频,浏览器不提供视频压缩方案,且要么只能往后端通过流式传输每帧图片的Base64,要么就是通过Websockets传输每帧图片的Base64(本质上还是流式传输),这就让人 ...
报告翻译:容器云的安全挑战
报告翻译:容器云的安全挑战原文地址:https://ieeexplore.ieee.org/abstract/document/9750244
本文首发于看雪社区
随着k8s,微服务的兴起,容器的安全成为了需要研究的课题,这篇文章适合刚入门容器安全的新手,概述了容器云各个方面可能存在的攻击点。作者来自浙江大学与绿盟,发布于2022年。
文章将容器云的组成分成三个部分:调度层,容器层和内核层。
容器的创建依赖Linux namespace,cgroup,seccomp还有权限控制。
漏洞点内核层漏洞点:
在内核层,内核漏洞会影响容器,调查显示,56.82%的内核漏洞都可以在容器中运行
在部署容器的时候,设置了危险的硬件访问权限从而导致越权
敏感数据通过内核泄露
容器层漏洞点:
Docker Engine的CVE-2018-15664,runc的CVE-2019-573,kata container的CVE-2020-2023
在部署容器的时候,没有设置CPU与内存的上限数,导致某几个容器将主机资源耗干
不安全的配置,如Docker打开了Docker daemon的2375 ...
Vagrant配置Metarget靶场环境
Vagrant配置Metarget靶场环境看了几天Docker原理,准备接触一下云原生安全,尝试一下建立云原生靶场
配置BoxArch Linux下
1pacman -s vagrant
拉取国内的ubuntu-cloud-images(北外源)
1vagrant box add https://mirrors.bfsu.edu.cn/ubuntu-cloud-images/bionic/current/bionic-server-cloudimg-amd64-vagrant.box --name ubuntu18
先初始化
1vagrant init
修改Vagrantfile,要跟name一致
1config.vm.box = "ubuntu18"
ssh进去
1vagrant ssh
完成apt换源那一套(换北外源)
1234sudo sed -i "s@http://.*archive.ubuntu.com@https://mirrors.bfsu.edu.cn@g" /etc/apt/sources.listsudo ...
OpenAI-whisper折腾
OpenAI-whisper折腾好用的AI语音转录,最重要的是:免费
安装记录Python版本(官方版)
Git地址:
https://github.com/openai/whisper
启动环境
1pdm init
123pdm add torch torchvision torchaudio(国内特供)pdm add git+https://gitee.com/mirrors/openai-whisper.git
检测一下显卡是否正常,显示为True即可适用
123import torchprint(torch.__version__)print(torch.cuda.is_available())
麻了,GTX1650还跑不了medium(显存不够大),但跑个small还是可以的
这里有个WebUI的版本,这次没用上,这边先记录上
1https://huggingface.co/spaces/aadnk/whisper-webui
C++版本可以跑medium和large的版本,但速度慢肯定是没办法的
目前只提供民间支持,但由于其可以放在树莓派,手机上面跑,适用范围更 ...
202202,困惑,混乱与未曾设想之路
202202,困惑,混乱与未曾设想之路
他人即地狱
——萨特
2022,从疫情防控中开始,在感染疫情中落下帷幕
当浏览器的OneTab驻留页面清空,时间已经来到了CST 2022.12.31 17:00
然而他没有继续完成这份2022报告,也没有去看某位大人物的新年展望,更没有去看B站的跨年祭,而是去看《IXION 伊克西翁》的游玩记录。在游戏的片尾曲中,在跨年的钟声中,在困惑和希望中迎来了新的一年。
人是万物的尺度
——普罗泰戈拉
回过神来之后,已经是CST 2023.1.1 22:00
由于从2022年2月开始使用滴答清单APP记录情况,今年发生的大部分事务将会被顺利回溯
1月,参见了四叶草举办的长安战疫CTF,给学校的RSShub生成做最后的整理,做了Log4j2 漏洞的相关复现,蛮有意思的。另外,给学校的大创项目上了MicroPython与ESP32,ESP8266 MCU
2月,月初过完春节,月末准备返回学校事项,并准备大创结题的文件材料,大创一大部分有关互联网的服务器组建都是在这时候完成的。由于电脑上的中国特供版本Firefox做出了些超出我预期的事情,决定用Bra ...
2022年Hack the box:Tier1免费区全解
准备考CISP-PTE了,顺带把之前HTB没刷完的starting point一并刷完
Appointment上来先扫一下,80进入
1.What does the acronym SQL stand for?
Structured Query Language
2.What is one of the most common type of SQL vulnerabilities?
sql injection
3.What does PII stand for?
Personally identifiable information
没听说过
4.What does the OWASP Top 10 list name the classification for this vulnerability?
A03:2021-Injection
5.What service and version are running on port 80 of the target?
Apache httpd 2.4.38 ((Debian))
6.What is the standard por ...
Navidrome部署记录
Navidrome部署记录Navidrome是一款用Go语言写的流媒体窜流平台,前端基于React,使用的接口标准基于SubSonic,所以凡是支持这个标准的Android,IOS应用均能使用。一路的部署流程也十分顺利。
我采用的方案是阿里云盘本地只读映射到磁盘,Navidrome使用Docker快速部署
阿里云盘映射使用aliyundrive-fuse,感觉作者拿它的用途应该和我是一致的,用screen命令挂在后台
https://github.com/messense/aliyundrive-fuse/releases/tag/v0.1.14
Navidrome Dokcer-compose部署文件1234567891011121314151617181920version: "3"services: navidrome: container_name: navidrome image: deluan/navidrome:latest user: 0:0 #0:0代表用root用户运行 ports: - "4533: ...
长安杯2021-snake复现
长安杯2021-snake复现这次复现可以加强对IDA使用的理解
全网只搜到了这个人的文章:
2021长安杯—snake题解
另外一篇是这个人在博客园上的发帖
整个复现过程并不顺利,因为帖子只讲了原理,没有具体到步骤的介绍,IDA操作不熟练直接GG,我摸索了一天才复现成功。
最主要的地方在于,那篇帖子其实是用了IDA的远程调试的,然而通篇没有任何提示。静态分析完以后,发现也可以直接静态patch出解
环境准备IDA Pro 7.6
无keypatch插件
正文在NSSCTF下载附件
把文件拖进IDA64分析逻辑
在一个while(1)里,有三个跳到LABEL13(Game Over),可以进行修改(尽管从结果来看并没有必要),里面有个LABEL17可以跳出循环
这里就会遇到第一种情况:F5后的C语言是不能直接修改汇编的
这时候,你需要先开启一个子窗口
view-open subviews-disassembly
右键选择Synchronize with,这样C语言的指令就会导向汇编的窗口,就可以在汇编的窗口上面打补丁
就会产生绿色的光标,与右边同步
由于中间太长,直接跳到最下面 ...
报告概要翻译:OBFUSCATING C++ PROGRAMS VIA CONTROL FLOW FLATTENING
报告概要翻译:OBFUSCATING C++ PROGRAMS VIA CONTROL FLOW FLATTENING中文译名:通过扁平控制流的混淆的C ++程序
这篇文章写于2009年,作者是T. L ́aszl ́o 和 ́ A. Kiss,是一切Ollvm技术的初始,在不少博客和文章中均有提及。将顺序的流程变为利用switch-case这种分支判断的扁平运行,给软件逆向增加难度。目前看到最多的使用环境是加密Android的C++ NDK程序库。
OLLVM(Obfuscator-LLVM)是瑞士西北应用科技大学安全实验室于2010年6月份发起的一个项目,该项目旨在提供一套开源的针对LLVM的代码混淆工具,以增加逆向工程的难度。
腾讯应急安全响应中心-利用符号执行去除控制流平坦化
看雪社区-控制流平坦化的实现
摘要利用混淆技术保护 C++ 源代码,并在文章中给出一个能把程序复杂度提高5倍,且并不影响原有功能的技术原型方案。
实现平坦化的方法:将代码分成多个基本块(就是case代码块)和一个入口块,为每个基本块编号,并让这些基本块都有共同的前驱模块和后继模块。前驱模块主要是进行基 ...
从零开始的Django CVE-2022-28346复现
从零开始的Django CVE-2022-28346复现
本篇适合有Django开发基础,但没有SQL注入经验的人阅读
Django的sql漏洞,一直以为Djano的ORM不会有漏洞,直到我看了Django的官方漏洞列表,每隔几个月就有修补……
Django安全问题档案
4月份的修补,热热还能吃,CNVD评价是高危,看看怎么回事
描述
漏洞编号:CVE-2022-28346
攻击者使用精心编制的字典, 通过**kwargs传递给QuerySet.annotate()、aggregate()和extra()这些方法,可导致这些方法在列别名中受到SQL注入攻击
不懂发生了什么,拉个靶场看一下情况
影响版本
Django Django >=2.2,<2.2.28Django Django >=3.2,<3.2.13Django Django >=4.0,<4.0.4
官方PR修补
[3.2.x] Fixed CVE-2022-28346 – Protected QuerySet.annotate(), aggreg…
...