首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

一秒找出用时间和随机数生成的上传文件名

在做渗透测试或者ctf比赛的时,常遇到一种任意文件上传漏洞,上传后的文件名,是使用时间加随机数生成的。常见的如php的uniqid函数生成的文件名,或用时间戳或秒数+随机数字生成文件名。...通过这个方式,就可以在一秒内找到上传后的文件名。 下面使用一段真实的代码为例,说明如何在一秒中内找到phpuniqid函数生的文件名。 一、有漏洞的上传代码,如何找到上传后的文件呢 文件名使用了uniqid函数生成,实际运行如下代码,可见uniqid的前半部分是根据固定的,后半部分似乎是随机的。...10^6微秒=1秒,数值非常小,我们可以认为它是一个随机数。这样生成的文件名可能为16^5=1048576,100多万个可能性。...这样就相当于在 16^5/1500 = 699,在699个文件名中找一个正确值(考虑到不是均匀分布,这个值会大一些或小一些)。

1.7K60
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    python生成随机数、随机字符、随机字符串

    参考链接: Python中的随机数 python生成随机数、随机字符、随机字符串  本文是基于Windows 10系统环境,实现python生成随机数、随机字符、随机字符串:   Windows 10 ...PyCharm 2018.3.5 for Windows (exe)  python 3.6.8 Windows x86 executable installer   (1) 生成随机数  随机整数 ...(0, 101, 2) # 左闭右开区间 print(num) 随机浮点数  import random num = random.random() # 生成0-1之间的随机浮点数 num2 = random.uniform...(1, 10) # 生成的随机浮点数归一化到区间1-10 print(num) print(num2) (2) 生成随机字符  随机字符  import random alphabet = 'abcdefghijklmnopqrstuvwxyz...@#$%^&*()' char = random.choice(alphabet) print(char) (3) 生成随机字符串  生成指定数量的随机字符串  import random alphabet

    2.6K10

    python如何生成随机数_Python生成50个随机数

    使用 random 包生成随机数 2. 使用 numpy 包生成随机数 3. 使用 scipy 包生成随机数 1....使用 random 包生成随机数 可以生成 均匀分布, 高斯分布,(包括正态分布) 指数分布,(与泊松分布有区别:泊松分布表示一段时间发生多少次,而指数分布表示两次发生的时间间隔) 贝塔分布,...例如: (1) 生成 [1, 10] 内的均匀分布随机数 import random random.uniform(1, 10) Out[29]: 9.79867265758995 (2) 生成 [1...使用 numpy 包生成随机数 numpy 包的 random 方法基本支持所有分布,并且能够一次生成多行多列的随机数....使用 scipy 包生成随机数 用 scipy 包不同分布函数自带的 rvs 生成随机数,例如,生成一个正态分布的 2 行 2 列随机数,均值为 5, 标准差为 1: >>> import scipy.stats

    3.2K20
    领券