答案 0 :(得分:2)
查找密码字段将为您提供帮助,但对使用HTTP身份验证的网站无效。寻找401s将有助于HTTP身份验证,但不会让你的站点不使用它,或者不会返回401.查找“登录”或“用户名”字段等链接可以获得更多信息
我认为您无法完全自动执行此操作,并确保您实际上已检测到所有受密码保护的区域。
您可能想要一个擅长Web自动化的库,并自己编写一个小程序,从文件中读取目标站点列表,检查每个,并写入“这些肯定是一个文件” passworded“和”这些不是“,然后你可能想手动检查那些不是,并修改你的程序以适应。使用httrack非常适合抓取数据,但它不会有助于检测 - 如果您使用通用HLL编写自己的“检查密码保护区”程序,则可以执行更多检查,并且可以避免生成更多请求每个站点的数量超过确定密码保护区域所必需的数量。
您可能需要忽略robots.txt
我建议使用the python port of perls mechanize,或者您喜欢的语言网站自动库。几乎所有现代语言都有一个很好的库,用于打开和搜索网页,以及查看HTTP标题。
如果你自己没有能力写这篇文章,你将会很难使用httrack或wget或类似的东西,然后搜索回复。
答案 1 :(得分:1)
答案 2 :(得分:1)
我会使用httrack有几个限制,然后在下载的文件中搜索密码字段。
通常,可以在主页的两个链接中找到登录表单。几乎所有的电子商务网站,网络应用程序等都有登录表单,只需单击主页上的一个链接即可访问,但另一层甚至两个深度几乎可以保证您不会错过任何一个。
我还会限制httrack下载的速度,告诉它不要下载任何非HTML文件,并阻止它下载外部链接。我还将同时连接到站点的数量限制为2或甚至1.这应该适用于您正在查看的几乎所有站点,它应该让您远离hosts.deny列表。
答案 3 :(得分:1)
您可以使用wget
并执行以下操作:
wget -A html,php,jsp,htm -S -r http://www.yoursite.com > output_yoursite.txt
这将导致wget
以递归方式下载整个网站,但只下载使用-A
选项列出的结尾,在这种情况下尝试避免繁重的文件。
标题将定向到文件output_yoursite.txt
,然后您可以解析标题值401,这意味着站点的一部分需要身份验证,并根据Konrad的建议相应地解析文件。
答案 4 :(得分:1)
查找401代码无法可靠地捕获它们,因为网站可能无法生成您没有权限的任何内容的链接。也就是说,在您登录之前,它不会显示您需要登录的任何内容。 OTOH一些站点(例如具有所有静态内容的站点)设法为某些页面弹出登录对话框,因此查找密码输入标签也会遗漏。
我的建议:找到一个可以获取源代码的蜘蛛程序,添加您计划使用的任何测试(复数)并使其停止第一个阳性结果。寻找可以被方式限制的蜘蛛,可以忽略非HTML文件(可能通过发出HEAD请求并查看mime类型),并且可以独立地同时使用多个站点。
答案 5 :(得分:1)
您可以尝试使用cURL并尝试依次连接到每个站点(可能将它们放在文本文件中并读取每一行,尝试连接,重复)。
您可以设置其中一个回调来检查HTTP响应代码,并从那里执行任何操作。