就比如上图,我们自己写好或者对方自有一个Test.php文件,在实际的javascript脚本中就可以通过include去调用它,文件包含漏洞的精华就是改掉这个include调用的文件。
具体例子如下:
正常情况是网页让我们随便选一个喜欢的球星资料,但是注意GET传参那里,file5.php,选用什么文件是上边决定的。那么我们修改那个file5.php就可以达到执行其他文件的目的。
远程文件包含漏洞和本地的也没啥区别
怎么利用文件包含漏洞?
单个的文件包含漏洞以及文件上传漏洞都是很鸡肋的,但是组合起来就有大威力了
文件上传漏洞
有些上传限制,比如只准上传GIF文件的,也许它的限制是写在前端的,这个可以看一下碰碰运气,不过就算成功上传了,也需要 猜一下上传的路径在哪里。
有的时候后端识别文件的类型是数据包里的contenttype
然后我们修改数据包里的content type就可以达到一个骗过上传类型的效果
不安全的文件上传检查函数 getimagesize()
如图所言,我们可以重点打击这个函数来达成目的
因为上面那个函数是检测文件头的,那么我们的思路就是修改文件头如方法一
当我们利用以上三种方法后 又该怎么做事呢?这个图片带着PHP代码上传上去了,可是我们访问它的时候,它还真就是一张图片没什么特别的,那就是上面的内容,就是和文件包含漏洞一起发力
文件包含以及文件上传漏洞的防范措施
不安全的文件下载和上传
仍然是GET传参决定文件下载地址的情况