首页 > 其他分享 >极客大挑战2023-pwn-nc_pwntools WriteUp

极客大挑战2023-pwn-nc_pwntools WriteUp

时间:2024-09-28 23:13:09浏览次数:7  
标签:极客 算式 challenge nc 字符串 result io strip pwntools

主要考查点

Pwntools工具的基本使用方法

解题思路

1.nc 连接题目,得到提示:

image

根据题目,要求发送一个100长度的字符串,而且末尾需要为Syclover
b'A'*92 + b'Syclover'

2.发送第一个请求后进入第二步

image
要求短时间内计算一个复杂算式,自己算是肯定不可能的,所以pwntools的recv来接收并完成计算然后发送回去,所以就要把算式前面的几行无关文本给接收掉,只保存最后一行算式

点击查看代码
io.recvuntil(b'first one\n')
que = io.recvline().decode().strip()
result = eval(que.split('=')[0].strip())
io.sendline(str(result))

exp

点击查看代码
from pwn import *

io = remote('train.geesec.com',30893)
#context.log_level = 'debug'

payload = b'A'*92 + b'Syclover'

io.sendline(payload)
io.recvuntil(b'first one\n')
challenge = io.recvline().decode().strip()
print("Received challenge:", challenge)
result = eval(challenge.split('=')[0].strip())
io.sendline(str(result))

io.interactive()

学习心得

学习到了Python函数:
.decode():将接收到的字节数据(bytes)转换为字符串(str)。这是因为 recvline() 返回的是字节类型。
.strip():去掉字符串开头和结尾的空白字符(包括换行符和空格),确保得到的字符串干净。
challenge.split('='):将字符串根据等号(=)分割成多个部分。结果是一个列表,列表的第一个元素是等号左边的部分,第二个元素是右边的部分(如果存在)。
[0]:取列表的第一个元素,即等号左边的部分,这通常是我们需要计算的数学表达式。

标签:极客,算式,challenge,nc,字符串,result,io,strip,pwntools
From: https://www.cnblogs.com/vstral/p/18438613

相关文章

  • 《深度学习》【项目】OpenCV 发票识别 透视变换、轮廓检测解析及案例解析
    目录一、透视变换1、什么是透视变换2、操作步骤    1)选择透视变换的源图像和目标图像    2)确定透视变换所需的关键点    3)计算透视变换的变换矩阵    4)对源图像进行透视变换    5)对变换后的图像进行插值处理二、轮廓检测1、......
  • 03_OpenCV像素操作
    importcv2img=cv2.imread('libaray.JPG',1)(b,g,r)=img[100,100]print(b,g,r)#bgr#10100---110100i=j=0forjinrange(1,500):img[i,j]=(255,255,255)foriinrange(1,500):img[i,j]=(255,255,255)#cv2.imshow('......
  • INA865-2024V2 Financial Risk Management
    FinancialRiskManagement(FINA865-2024V2)GroupProjectDueat 23:59PM,Wednesday,02 October2024Yourassignedindexwillbeemailedtoyou in due course.TASKS: SubmitExcelSheetto Canvas.Preparationsteps: [2marks]Fortheassignedindex (v......
  • WINCCV7.5SP2VBA编程8-通过事件执行脚本
    这一篇在新浪博客发表过,审核周期有点长,为了避免丢失,这里再记录一遍。有三种途径执行Wincc画面设计器的VBA脚本:事件、用户自定义菜单和工具栏、VBA编辑器。前面的学习是通过VBA编辑器执行的VBA程序,现在通过事件来练习VBA程序执行。还是在前面WINCC项目程序来做练习。打开项目编......
  • Himax 10.36寸 incell触摸调试
    触摸是带笔的,数据比较大,用的是spi接口。 一、添加驱动:drivers/input/touchscreen/hxchipset 二、dts配置&spi4{status="okay";pinctrl-0=<&spi4m1_cs0&spi4m1_cs1&spi4m1_pins>;himax_touch@0{compatible="hima......
  • DCDC电源设计工具(软件)(一)—— WEBENCH(TI)
    目录一、简介二、在线链接三、设计界面介绍1、首界面2、芯片选择或芯片选型界面3、根据参数选择芯片及设计(1)参数输入界面(2)芯片选型界面(3)根据具体芯片型号选择设计   ①、芯片选择及参数输入界面        ②、TPS54331电源设计详情四、验证设计五、软......
  • Cadence23中的一些设置
    AllegroAIDTDDR3自动等长Auto-InteractiveDelayTune:Cadence设置好规则之后再做等长就很方便,可以自动等长:点击SELECT可以选中这一组的线,并进行高亮:相对误差是15mil:选择Accordition:可以通过这个按键查看到底有没有达到等长规则:直接框选刚才做过等长的网络......
  • systemtap semantic error: no match (similar functions:
    用户态probe文档:https://sourceware.org/systemtap/SystemTap_Beginners_Guide/userspace-probing.html这是process("PATH").function("function")报的错,意思是没有在ELF文件中找到这个函数对应的符号。大概率是因为ELF文件是用C++编译来的,符号名跟函数名不对应。例如对于以下程......
  • 协变(Covariance) 和 逆变(Contravariance)
    协变(Covariance)和逆变(Contravariance)是面向对象编程中关于类型系统的一种概念,主要用于处理泛型类型、接口或委托的继承和类型转换问题。它们决定了在继承结构中,泛型参数如何与类型或接口的继承关系保持一致或相反。1.协变(Covariance)协变指的是,当你有一个泛型类型G<T>,如果T......
  • VSCode - Hint documentation of a Python function is different from its docstring
      Searched'defseed('inthesourcecode:  Thereisonedefinitionoftheseed()methodininterfaceclassRandomState:Theimplementationoftheseed()methodinclassRandomStateisasfollows:......VSCodehintdisplaysthedocstr......