【web-ctf】ctf-pikachu-file_download

File Download(文件下载漏洞)

漏洞产生原因:很多网站都会提供文件下载功能,即用户可以通过点击下载链接,下载到链接所对应的文件。

但是,如果文件下载功能设计不当,则可能导致攻击者可以通过构造文件路径,从而获得到后台服务器上的其他的敏感文件。(又称:任意文件下载)

1. Unsafe FileDownload

  1. 随便点开一个球员名字进行下载,并使用burpsuite进行抓包,观察网页和url有什么变化。

    假设我们点击“艾弗森”的名字。
    在这里插入图片描述
    发现该请求为一个get请求,参数filename=ai.png,这里就可能产生了一个文件下载漏洞,如果后台没有对该参数进行过滤和限制,那么我们可以修改该参数值,来对后台存在的某些敏感文件进行下载。

  2. 修改filename参数。

    假设D盘根目录下有一个1.txt文件,为了利用该漏洞下载到1.txt文件,我们可以将filename参数修改为

     filename = ../../../../../../../../1.txt
    

    在这里插入图片描述
    在这里插入图片描述
    漏洞利用成功!

总结

防范措施:

  1. 对传入的文件名进行严格的过滤和限定,比如判定下载的文件名是否为该目录下存在的文件。
  2. 对文件下载的目录进行严格的限定。