企业为什么要培训,搜狗seo查询,it培训网站模板,门户网站建设定制1.绝对路径拼接漏洞
os.path.join(path,*paths)函数用于将多个文件路径连接成一个组合的路径。第一个函数通常包含了基础路径#xff0c;而之后的每个参数被当作组件拼接到基础路径之后。
然而#xff0c;这个函数有一个少有人知的特性#xff0c;如果拼接的某个路径以 / …1.绝对路径拼接漏洞
os.path.join(path,*paths)函数用于将多个文件路径连接成一个组合的路径。第一个函数通常包含了基础路径而之后的每个参数被当作组件拼接到基础路径之后。
然而这个函数有一个少有人知的特性如果拼接的某个路径以 / 开头那么包括基础路径在内的所有前缀路径都将被删除该路径将视为绝对路径
import osprint(1:,os.path.join(aaaa,/bbbb,ccccc.txt))print(2:,os.path.join(/aaaa,/bbbb,/ccccc.txt))print(3:,os.path.join(aaaa,ddd,./bbb,ccccc.txt)) 从后往前看会从第一个以”/”开头的参数开始拼接之前的参数全部丢弃 以上一种情况为先。在上一种情况确保情况下若出现”./”开头的参数会从”./”开头的参数的前面参数全部保留 输出 1: /bbbb\ccccc.txt
2: /ccccc.txt
3: aaaa\ddd\./bbb\ccccc.txt