本文介绍: Python 中 tarfile 模块中的extract、extractFile和extractall 函数中的目录遍历漏洞 允许 用户协助的远程攻击者通过 TAR 存档文件名中的…和/遍历目录 和 写入/覆盖任意文件关键代码extractall函数如果结合包含…/的文件名时可以实现文件覆盖漏洞。
前言
做到[NSSRound#6 Team]check(Revenge)
时发现是tar文件覆盖,但是对概念和执行过程理解不够深就光光记住脚本,所以在做本题[NSSRound#7 Team]新的博客
时打算重新梳理该漏洞执行过程
原理
关键代码
extractall函数如果结合包含…/的文件名时可以实现文件覆盖漏洞
例题 [NSSRound#7 Team]新的博客
打开题目,发现有两个跳转的网页
第一个提示要用admin用户登录但是密码经过sha512加密,然后就是泄露了源码地址
第二个网页提示hacker打不开,那么应该是要admin才行
我们把字符串解码一下
得到源码文件夹,文件结构大概如下
当然此文件夹给了加密后的密码,但是也提示我们不用去爆破
这里我们先随便注册用户1试试,发现存在tar文件上传
提示也说了这个是恢复备份用的,那么思路就是tar文件覆盖
方法一 手搓文件名
方法二 python脚本
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。