《Web应用安全与防护》课件 项目7:文件下载漏洞利用与防护.pptx
项目7:文件下载漏洞利用与防护
项目目标知识目标:1.了解任意文件读取的概念,利用条件,危害2.掌握任意文件读取漏洞的利用3.掌握任意文件读取漏洞加固能力目标:1.能够利用任意文件读取漏洞并对该漏洞进行防御情感目标:1.自主、开放的学习能力2.良好的自我表现、与人沟通能力3.良好的团队合作精神
1.任意文件读取漏洞概述1.1任意文件读取漏洞一些网站由于业务需求,往往需要提供文件查看或文件下载功能,但若对用户查看或下载的文件不做限制,则恶意用户就能够查看或下载任意敏感文件,这就是任意文件读取漏洞。
1.任意文件读取漏洞概述1.2漏洞危害(1)下载服务器任意文件,如脚本代码、服务及系统配置文件等(2)可用得到的代码进一步代码审计,得到更多可利用漏洞
1.任意文件读取漏洞概述1.3漏洞利用条件(1)存在读文件的函数(2)读取文件的路径用户可控且未校验或校验不严(3)输出了文件内容
1.任意文件读取漏洞概述1.4PHP任意读取文件函数file_get_contents()fopen()readfile
fread
fgets
fgetss
fpassthru
parse_ini_file
漏洞示例代码?php?????? $filename?=?$_GET[file];??? if(isset($filename)){???????readfile($filename);???}?漏洞示例代码?php$filename=$_GET[filename];echofile_get_contents($filename);?漏洞示例代码?php$filename=test.txt;$fp=fopen($filename,r)ordie(“noopen!);$data=fread($fp,filesize($filename));fclose($fp);echo$data;?
2任意文件读取漏洞利用与加固2.1漏洞利用1.利用任意文件读取漏洞下载/etc/passwd敏感文件
2任意文件读取漏洞利用与加固2.2漏洞加固1.对传入的文件名进行严格的过滤和限定2.对文件下载的目录进行严格的限定
小结1.任意文件读取的原理2.任意文件读取漏洞的利用与加固
作业1.读取敏感文件2.任意文件下载