什么是⽬录遍历攻击及如何防护
前⼏⽇研究某Web项⽬源代码,使⽤的是ThinkPHP框架,根⽬录下有个www⽬录,存放项⽬模块的⼊⼝⽂件。顿时茫然,本⼈⼀般直接把⼊⼝⽂件放在web根⽬录,⽽这⾥却是www⽬录,不知www⽬录是何作⽤,遂问⽼⼤,⽼⼤回:你查查什么是⽬录遍历攻击。所以才懂得www⽬录之所以存在的⽬的。。。
描述
攻击⼈员通过⽬录便利攻击可以获取系统⽂件及服务器的配置⽂件等等。⼀般来说,他们利⽤服务器API、⽂件标准权限进⾏攻击。严格来说,⽬录遍历攻击并不是⼀种web漏洞,⽽是⽹站设计⼈员的设计“漏洞”。如果web设计者设计的web内容没有恰当的访问控制,允许http遍历,攻击者就可以访问受限的⽬录,并可以在web根⽬录以外执⾏命令。
攻击⽅法
攻击者通过访问根⽬录,发送⼀系列”../”字符来遍历⾼层⽬录,并且可以执⾏系统命令,甚⾄使系统崩溃。
发现漏洞
php网上书城项目源码1、可以利⽤web漏洞扫描器扫描⼀下web应⽤,不仅可以出漏洞,还会提供解决办法,另外还可以发现是否存在sql漏洞及其他漏洞。
2、也可以查看web log,如果发现有未授权⽤户访问越级⽬录,说明有⽬录便利漏洞。
如何防范
防范⽬录遍历攻击漏洞,最有效的办法就是权限控制,谨慎处理传向⽂件系统API的参数。本⼈认为最好的防范⽅法就是组合使⽤下⾯两条:
1、净化数据:对⽤户传过来的⽂件名参数进⾏硬编码或统⼀编码,对⽂件类型进⾏⽩名单控制,对包含恶意字符或者空字符的参数进⾏拒绝。
2、web应⽤程序可以使⽤chrooted环境包含被访问的web⽬录,或者使⽤绝对路径+参数来访问⽂件⽬录,时使其即使越权也在访问⽬录之内。www⽬录就是⼀个chroot应⽤。
chroot
chroot是在unix系统的⼀个操作,针对正在运作的软件进程和它的⼦进程,改变它外显的根⽬录。⼀个运⾏在这个环境下,经由chroot设置根⽬录的程序,它不能够对这个指定根⽬录之外的⽂件进⾏访问
动作,不能读取,也不能更改它的内容。chroot这⼀特殊表达可能指chroot(2)系统调⽤或chroot(8)前端程序。
由chroot创造出的那个根⽬录,叫做“chroot监狱”(chroot jail,或chroot prison)。
参考
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论