View on GitHub

severalfly 个人博客

severalfly 个人博客,一起分享知识

Download this project as a .zip file Download this project as a tar.gz file

robots.txt 标识着网站不希望被抓取的内容,但是同时,也说明这些信息更有价值,值得花费时间去抓取

渗透测试步骤 (1) 手动提出一些访问有效与无效资源的请求,并确定服务器如何处理无效资源。 (2) 使用用户指定的抓取生成的站点地图作为自动查找隐藏内容的基础。 (3) 自动提出访问应用程序内已知存在的每个目录或路径中常用文件名和目录的请求。使用Burp Intruder或一段定制脚本,结合常用文件名和目录词汇表,迅速生成大量请求。如果已经确定应用程序处理访问无效资源请求的特定方式(如自定义的file not found页面)​,应配置Intruder或脚本突出显示这些结果,以便将其忽略。 (4) 收集从服务器收到的响应,并手动检查这些响应以确定有效的资源。 (5) 反复执行这个过程,直到发现新内容。

渗透测试步骤 (1) 检查用户指定的浏览与基本蛮力测试获得的结果。编译枚举出的所有子目录名称、文件词干和文件扩展名列表。 (2) 检查这些列表,确定应用程序使用的所有命名方案。例如,如果有些页面的名称为AddDocument.jsp和ViewDocument.jsp,那么可能还有叫做EditDocument.jsp和RemoveDocument.jsp的页面。通常,只需要查看几个示例,就能推测出开发者的命名习惯。根据其个人风格,开发者可能采用各种命名方法,如冗长式(AddANewUser.asp)​、简洁式(AddUser.asp)​、使用缩写式(AddUsr.asp)或更加模糊的命名方式(AddU.asp)​。了解开发者使用的命名方式有助于猜测出尚未确定的内容的准确名称。 (3) 有时候,不同内容的命名方案使用数字和日期作为标识符,通过它们可轻易推测出隐藏的内容。静态内容(而非动态脚本)常常采用这种命名方式。例如,如果一家公司的Web站点含有AnnualReport2009.pdf和AnnualReport2010.pdf这两个文件的链接,应该可以立即确定接下来的报告名称。令人难以置信的是,一些公司在公布金融结果之前,常常会将包含金融信息的文件放在Web服务器上,有些精明的新闻记者往往能够根据其在前些年使用的命名方案,发现这些文件。 (4) 检查所有客户端代码,如HTTP和JavaScript,确定任何与隐藏服务器端内容有关的线索。这些代码包括与受保护或没有建立链接功能有关的HTML注释以及包含禁用SUBMIT元素的HTML表单等。通常,注释由生成Web内容的软件自动生成,或者由应用程序运行的平台生成。参考服务器端包含文件之类的内容也特别有用。这些文件可被公众下载,并且可能包含高度敏感的信息(如数据库连接字符串和密码)​。另外,开发者的注释中可能包含各种有用的信息,如数据库名称、后端组件引用、SQL查询字符串等。厚客户端组件(如Java applet和ActiveX控件)也可能包含可供利用的敏感数据。请参阅第15章了解应用程序揭示自身信息的其他方式。 (5) 把已经枚举出的内容添加到其他根据这些列表项推测出来的名称中,并将文件扩展名列表添加到txt、bak、src、inc和old这些常用扩展名中,它们也许能够披露现有页面备份版本的来源以及与所使用的开发语言有关的扩展名,如.Java和.cs;这些扩展名可能揭示已经被编译到现有页面的来源文件(请参阅本章后面的提示,了解如何确定所使用的技术)​。 (6) 搜索开发者工具和文件编辑器不经意建立的临时文件。例如.DS_Store文件,其中包含一个OS X目录索引,或者file.php~1,它是编辑file.php时临时创建的文件,或者大量软件工具使用的.tmp文件。 (7) 进一步执行自动操作,结合目录、文件词干和文件扩展名列表请求大量潜在的资源。例如,在特定的目录中,请求每个文件词干和每个文件扩展名;或者请求每个目录名作为已知目录的子目录。 (8) 如果确定应用程序使用一种统一的命名方案,考虑在此基础上执行更有针对性的蛮力测试。例如,如果已知AddDocument.jsp和ViewDocument.jsp存在,就可以建立一个操作列表(编辑、删除、新建等)并请求XxxDocument.jsp。此外,还可以建立项目类型(用户、账户、文件等)并请求AddXxx.jsp。 (9) 以新枚举的内容和模式作为深入用户指定抓取操作的基础,反复执行上述每一个步骤,继续执行自动内容查找。所采取的操作只受到想象力、可用时间以及在所针对的应用程序中发现隐藏内容的重要性的限制。

Wikto就是许多能够执行上述扫描的免费工具中的一个 wikto 看起来是拼写错误了,nikto 可以运行,如下 nikto -host 133.cn

隐藏参数检查 如果在URL的查询字符串中加入debug=true参数 所以在未来的开发中,谁敢用这种标识的参数,一定要重点处理掉,这种问题,看起来很小,一遍也不会有任何问题,但是在运行的过程中,就会有被破解的风险,这种debug 模式一旦开启了

back