Web安全渗透测试之信息搜集篇(上)

通过使用搜索引擎、扫描器、发送简单的HTTP请求或者专门精心制作的请求,都有可能导致应用程序泄漏诸如错误信息、版本信息以及所使用的技术等信息。

一、测试robots.txt文件

现在,我们首先介绍如何测试robots.txt文件。Web蜘蛛/机器人/爬虫可以用来检索网页,并沿着超链接进一步探索更多、更深的Web内容。当然,网站可以在根目录放上一个robots.txt文件,这样就可以规定哪些Web蜘蛛行为是站点可以接受的,那些是禁止的。

举例来说,我们可以看一下http://www.google.com/robots.txt的内容片断:

User-agent: *
Allow: /searchhistory/
Disallow: /news?output=xhtml&
Allow: /news?output=xhtml
Disallow: /search
Disallow: /groups
Disallow: /images
...

伪指令User-Agent表示具体的Web蜘蛛/机器人/网络爬虫。例如User-Agent:Googlebot 表示GoogleBot网络爬虫,而User-Agent:* 泛指所有的Web蜘蛛/机器人/网络爬虫:

User-agent: *

伪指令Disallow的作用是规定哪些资源对蜘蛛/机器人/网络爬虫来说是禁用的。在上面的例子中,禁止蜘蛛访问下列目录:

... 
Disallow: /search
Disallow: /groups
Disallow: /images
...

Web蜘蛛/机器人/网络爬虫可以故意忽略robots.txt文件中的“禁令”。因此,不要把robots.txt当成是限制第三方访问、存储或者转帖web内容的灵丹妙药。

下面是针对robots.txt文件的黑盒子测试及用例:

Wget

Robots.txt文件可以从Web服务器的web根目录下找到。比如,可以使用wget检索http://www.google.com/站点中的robots.txt,如下所示:

$ wget http://www.google.com/robots.txt
--23:59:24-- http://www.google.com/robots.txt

=> 'robots.txt'
Resolving http://www.google.com/... 74.125.19.103, 74.125.19.104, 74.125.19.147, ...
Connecting to http://www.google.com%7c74.125.19.103%7c/... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/plain]

[ <=>                                 ] 3,425        --.--K/s
23:59:26 (13.67MB/s) - 'robots.txt' saved [3425]

使用Google Webmaster Tools分析robots.txt

Google的Google Webmaster Tools提供了一个robots.txt分析功能,所以,在渗透测试时我们可以利用它来分析robots.txt,具体方法如下所示:

1. 用Google帐户登陆Google Webmaster Tools。

2. 在Dashboard上,单击想要分析的站点URL。

3. 单击Tools按钮,然后单击Analyze robots.txt。

 
图3

联机测试

在线工具的一个例子Netcraft,它能带给我们大量目标服务器的有用信息。通过它,我们可以检索操作系统、使用的Web服务器、服务器的运行时间、Netblock属主、与Web服务器和操作系统有关系的修改记录等信息。例如:

 
图4

五、小结

当我们进行安全渗透测试的时候,首先要做的就是尽可能多地收集目标应用程序信息,所以,信息搜集是渗透测试一个必不可少的步骤。本文为读者介绍了如何测试robots.txt文件、利用搜索引擎进行搜集有用信息以及识别应用程序入口的方法。在本文的下篇中,我们将为读者详细介绍如何测试目标地址上运行了哪些应用程序,以及如何通过错误信息提前有用消息的具体方法。

转载于:https://www.cnblogs.com/eoiioe/archive/2009/08/23/1552394.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/465958.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

每日一题(16)—— 声明和定义的区别

简述变量/函数声明和定义的区别&#xff1a; 声明&#xff1a;不分配内存空间&#xff1b; 定义&#xff1a;分配内存空间。

数据结构之线性结构之堆栈

二&#xff0c;堆栈 中缀表达式&#xff1a;运算符位于两数之后&#xff1b; ab*c-d/e 后缀表达式&#xff1a;运算符位于两数之后&#xff1b; abc*de/-&#xff1b;计算机表示式求解时的读法&#xff1b;用堆栈实现计算 前缀表达式&#xff1a;运算符位于两数之前&#xff1b…

Qt 开源作品 | 小伙子,给你的 Linux 系统写个 Launcher 吧

今天给大家分享一下&#xff1a;如何用 Qt 实现一个 launcher (程序启动器)。运行效果&#xff1a;github 链接&#xff1a;https://github.com/alamminsalo/qml-launcher代码很少&#xff0c;C 部分大约 100行代码。下面是实现过程。1. 创建 QML 应用在 Qt Creator 依次点击&a…

IT餐馆—第十六回 驱动

声明&#xff1a;在写这个系列文章的过程中&#xff0c;园子里有些人投来了怀疑、鄙视、甚至匿名谩骂&#xff0c;当然也有朋友跳出来支持并提出意见或建议的。我这些天想了一下&#xff0c;感觉写文章不一定要让所有人都接受&#xff0c;必定众口难调&#xff0c;有时为了照顾…

Almost Arithmetic Progression

time limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputPolycarp likes arithmetic progressions. A sequence [a1,a2,…,an][a1,a2,…,an] is called an arithmetic progression if for each ii (1≤i<n1≤i<n) the v…

Sourcetail 一款代码编辑神器,让看源码如丝般顺滑

大家好&#xff0c;我是小麦&#xff0c;上一次的文章《一个超级实用的源码阅读小技巧》&#xff0c;我简单提到通过gccegyptgraphviz(dot)这三个工具&#xff0c;快速生成函数调用图&#xff0c;总体来说也非常好用。众所周知VSCode&#xff0c;Sorceinsight非常好用&#xff…

CPU占用率是什么?

这是昨晚上在朋友圈发的一个讨论回答的问题很多因为这个问题&#xff0c;我晚上也没早睡&#xff0c;就想把这个讲清楚说这个问题之前我们先了解下时间片调度算法&#xff0c;因为用这个来讲比较清楚。CPU可以执行任务&#xff0c;CPU给哪个进程执行&#xff0c;哪个进程就可以…

每日一题(17)—— 关键字volatile的作用和三个不同的应用场合

关键字volatile的作用和三个不同的应用场合 作用&#xff1a;防止编译器优化&#xff1b; &#xff08;1&#xff09;并行设备的硬件寄存器&#xff08;如状态寄存器&#xff09;&#xff1b;// #define S5PV210_GPIO_DATA (*(volatile unsigned char *)0x40000000) &#x…

维护邮件系统

维护邮件系统转载于:https://blog.51cto.com/february/195437

长大了,也弄丢了很多东西

小明要回家处理父亲的头七&#xff0c;那天晚上跟他喝酒聊天&#xff0c;我们说对生活的一些计划&#xff0c;比如计划让小孩上哪所小学&#xff0c;比如上小学了上哪所初中&#xff0c;高中&#xff0c;报什么课外兴趣班等等。吃过苦的孩子心里都有一种执念&#xff0c;想让自…

我的爹,我的娘(2006-02-22 21:39:07)(新浪)

爸爸妈妈是农民&#xff08;我也是&#xff09;&#xff0c;都已年过半百。他们很忙碌&#xff0c;闲不下来.爸爸头发这几年越来越少了&#xff0c;头发也白了不少&#xff0c;但坚持经常染发&#xff0c;因为他说&#xff0c;怕我的小兄弟产生为什么别人爸爸这么年轻的想法。我…

每日一题(18)—— 指定地址存入数据

往内存地址0x1c1b上存入一个数据0x10&#xff0c;使用指针如何操作&#xff0c;写出代码。 *((volatile unsigned int *)0x1c1b) 0x10;

.Net序列化与反序列化的2种方法

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Newtonsoft.Json; //方法一的引用 using System.Web.Script.Serialization; //方法二的引用namespace ConsoleApplication1 {class Program…

200个模块,怎么用有线的方式进行组网通信

这是一个读者私聊我的问题&#xff0c;我觉得比较有意思&#xff0c;发出来大家一起讨论&#xff0c;我相信在讨论后&#xff0c;会有更加好的的方案。问题有200个模块&#xff0c;这200个模块需要和主CPU进行通信&#xff0c;每个模块的距离大概在30~50cm之间&#xff0c;用怎…

两招让陌生网络访问者现出原形

当我们关闭计算机时&#xff0c;经常出现“有一台计算机与你的电脑有连接,如果关闭将中断数据”的提示&#xff0c;尤其是在局域网中这种提示更是经常出现。其实这是因为别人通过网络正在访问自己电脑上的共享资源呢!面对如此恶劣的行动&#xff0c;难道只能任其胡作非为吗!当然…

将二维数组名作为函数实参

可以用二维数组名作为实参或者形参&#xff0c;在被调用函数中对形参数组定义时可以指定所有维数的大小&#xff0c;也可以省略第一维的大小说明&#xff0c;如&#xff1a; void Func(int array[3][10]); void Func(int array[][10]); 二者都是合法而且等价&#xff0c;但是不…

每日一题(19)—— 用变量a给出下面的定义

(a) 一个整型数&#xff08;An integer&#xff09; (b) 一个指向整型数的指针&#xff08;A pointer to an integer&#xff09; (c) 一个指向指针的的指针&#xff0c;它指向的指针是指向一个整型数&#xff08;A pointer to a pointer to an integer&#xff09; (d) 一个…

网易创始人之一,周卓林先生

这篇文章的主人公我觉得对我们做技术的人非常有借鉴作用。大学的时候&#xff0c;我们老师就一直强调&#xff0c;一命&#xff0c;二运&#xff0c;三风水&#xff0c;四积德&#xff0c;五读书&#xff0c;后面我就不记得了。1、1997年2月&#xff0c;周卓林上Hotmail&#x…

sql2005 无法解决 equal to 操作Chinese_PRC_CI_AS 和 Chinese_PRC_CS_AS 之间的排序

错误代码&#xff1a; SELECT * FROM SJCCBZ, Order_Motor WHERE SJCCBZ.OrderIDOrder_Motor.OrderID and SJCCBZ.OrderID1AND Order_Motor.M_State已报账 错误提示&#xff1a; 消息 468&#xff0c;级别 16&#xff0c;状态 9&#xff0c;第 1 行 无法解决 equal to 操作中 …

MapReduce编程中常用的字符操作

本文主要用于记录自己在编写mapreduce程序时常用的一些方法&#xff0c;后期会不断更新&#xff0c;用于自己复习和给新手一些帮助。 字符串操作 String str " 12345"; // 字符串中是否包含某子字符串System.out.println(str.contains("123"));// …