护网杯之部分web

Easy_tornado

进入题目网站,发现三个文件

首先进入第一个文件Orz.txt,发现提示渲染函数render(),直接将文件内容显示在网页上

再进入第二个文件hint.txt,发现提示md5(cookie_secret + md5(filename)),即先将filenamemd5加密,再将cookie_secret与md5加密后的filename进行md5加密,也就是说,目前我们需要知道的是filenamecookie_secret

之后,再进入第三个文件flag.txt,发现提示像文件名/fllllllllllag,

于是考虑filename=/fllllllllllag

但是提示有签名错误,发现/error?msg=签名错误,考虑服务端模板注入(ssti攻击)

尝试输入/error?msg={{1}},确实是存在模板注入

尝试输入/error?msg={{7*7}},不存在运算

之后进行各种尝试与资料获取发现对于tornado框架存在附属文件handler.settings,于是尝试输入/error?msg={{handler.settings}}

发现 'cookie_secret':

'1B]c{ey<lzkHJGipa+X[Kn?Wd08C(&*TUZ4g6wrfMSRoQ7h^%V-5bAvm2Px>~I9_'

于是进行前面所分析的md5加密

最后输入?filename=/fllllllllllag&signature=20e954ed0f6c471e2ea1f151c7bb6334 得到flag

Ltshop

首先进入网页后,观察到有sign up

点击sign up 进行注册

再点击sign in 进行登录

进入一个买辣条的界面,可以知道,5元可以买一包大辣条,多包大辣条可以换一包辣条之王,多包辣条之王可以换Flag

进入info查看余额,发现,至多可以买4包大辣条,不满足辣条之王的兑换

尝试条件竞争 打开burpsuit 点击大辣条的购买窗口,抓取数据

发送到Intruder,点击Positions,点击clear

点击Payloads

点击Option

点击Start Attack

等待一段时间后,Forward 再次查看Info,发现买的数量明显超过预期

但是这样还不够,发现辣条之王有填写兑换数,尝试整数溢出 因为最长为longlong,即存在2^64,又因为5包大辣条换一包辣条之王,故最多可换3689348814741910323包辣条之王,溢出再加一包,即为3689348814741910324包,输入后溢出,成功获得足够数量的Flag

点击兑换,得到flag

转载于:https://my.oschina.net/wyj1216/blog/2250240

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值