easytornado-wp

题目:

图片[1]-easytornado-wp-Drton1博客

进来给了三个超链接

一个一个看:flag.txt 拿到flag的地址:

图片[2]-easytornado-wp-Drton1博客

第二个welcome.txt 拿到这个 猜测是python的 render 模板ssti 等会验证

图片[3]-easytornado-wp-Drton1博客

第三个hint.txt 拿到它url里面filehash 加密规则

图片[4]-easytornado-wp-Drton1博客

此时大概知道它验证规则了 如果我们要访问flag.txt 那么传参的fliehash 必须等于 md5(cookie_secret+md5(flag.txt))

那么我们想访问fllllllllllllag 传参的fliehash就必须等于 md5(cookie_secret+md5(fllllllllllllag ))

但是有个问题就是 我们不知道cookie_secret的值。 就没办法构造这个hash值

试一下 不加hash值会发生什么

图片[5]-easytornado-wp-Drton1博客

转到这里了,刚才我们说了他可能存在ssti注入

此时观察可以看到 页面跟url里面msg参数的值一样 我们构造{{2*2}} 验证是否存在。

图片[6]-easytornado-wp-Drton1博客

存在该漏洞。

根据Tornado 的官方文档 Tornado 是存在一个快速访问变量的东西的。

图片[7]-easytornado-wp-Drton1博客

handler 指向RequestHandler

而RequestHandler.settings又指向self.application.settings

所有handler.settings就指向RequestHandler.application.settings了!

而这个settings就是我们当前这个程序的设置变量 里面就放一些cookie 什么东西。 于是:

图片[8]-easytornado-wp-Drton1博客

拿到cookie_secret

742284eb-35d4-4ba3-b8d8-6c4659772970

接下来就是md5加密就完事了

先加密文件名

图片[9]-easytornado-wp-Drton1博客

再跟cookie一起加密:

图片[10]-easytornado-wp-Drton1博客

拿到flag:

图片[11]-easytornado-wp-Drton1博客

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发

请登录后发表评论