Web安全实践(12)密码探测

简介:

本系列导航http://www.cnblogs.com/xuanhun/archive/2008/10/25/1319523.html

安全技术区http://space.cnblogs.com/group/group_detail.aspx?gid=100566 

前言

(作者:玄魂)

 

接着上一篇的用户名枚举的话题接下来简单的探讨一下常见的密码探测。

园友Hunts.C昨天留言谈到了校内网,他说"就是个用户ID和邮箱,实际上这里的用户ID就是用户名的作用啊。 只不过它的登录是使用邮箱登录",其实校内网支持的登录方式为用户名登录和邮箱登陆两种方式,另外对每个用户都分配了唯一的IDHunts.C说的对,ID和用户名的作用是相同的,但是对于用户名枚举来说,ID是对用户名的隐藏,因为用ID是不能登陆的。

这一次要 说的内容比较少。

正文

12.1自动化密码探测

所谓自动化密码探测就是利用探测软件不断的向目标发出请求,根据响应来判断探测成功与否。

自动化探测一般有两种方式。 一是对同一用户名尝试不同的密码,二是对不同的用户尝试相同的密码。第二种方法更能有效的防止账户锁定。

对于用户名和密码生成有两种方式,一是使用既存的字典,二是程序根据使用者给定的用户名或密码组合规则不断生成。

对于自动化密码探测最大的障碍是验证码和人机区分测试(简单的问题)。

12.2社会工程学

"社会工程学"这个词我不知道是怎么产生的,一开始觉得叫行为心理学似乎更合适。后来才知道社会工程学其实就是间谍活动。

(1)推测法。根据相关信息,常见的如生日,姓名,电话号码,常用的数字组合(1213456等),字母组合,邮箱,父母的名字等等。

(2)欺骗。你可以根据他给你的QQ等信息,通过聊天逐步得到他的相关信息。

(3)利用客服。比如你可以冒充邮箱用户本人给客服打电话说密码丢失。以前听说QQ可以,前天园友告诉我yahoo的信箱也可以,真是不可思议。

(4)"社会工程"允许你以接近目标本人或他的家人,朋友的方式来获得你想要的信息,当然这个web攻击本身关系不紧密,但是却是黑客攻击的手段之一。

 

12.3 Post用户名,密码

目前也有很多现成的软件可供选择,用来破解web登录密码。关于工具的使用不是我们要讨论的重点,我们看一下它的工作原理。

下面是我登录校内网的时候一段POST数据(实际分析过程中应是全过程数据分析,这只是局部):

POST /Login.do HTTP/1.1

Host: login.xiaonei.com

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3

Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8

Accept-Language: zh-cn,zh;q=0.5

Accept-Encoding: gzip,deflate

Accept-Charset: gb2312,utf-8;q=0.7,*;q=0.7

Keep-Alive: 300

Connection: keep-alive

Referer: http://www.xiaonei.com/SysHome.do

Cookie: syshomeforreg=1; isnewreg=1; XNESSESSIONID=abc_7S1cRa2rw8aernG6r; ick=abc_7S1cRa2rw8aernG6rheifer.xiaonei.com; __utma=204579609.1392121359.1231048483.1231048483.1231048483.1; __utmb=204579609; __utmc=204579609; __utmz=204579609.1231048483.1.1.utmccn=(direct)|utmcsr=(direct)|utmcmd=(none); _de=8EAD38BFFD04FDBE; userid=201573034; univid=5426; gender=1; univyear=2005; hostid=201573034; BIGipServerpool_profile=3737916938.20480.0000; xn_app_histo_201573034=6-35-17954-4-8-16555-12012-3-2-13496-19; mop_uniq_ckid=123.189.16.137_1231047874_1991448146

Content-Type: application/x-www-form-urlencoded

Content-Length: 83

email=xuanhun&password=xuanhun521&origURL=http%3A%2F%2Fwww.xiaonei.com%2FSysHome.do

这是一个常规的Post请求数据段,最后的部分传送的是用户名和密码,这些数据在网络上传输的时候应该是被加密的,因为采用了https连接。暴力探测也就是不断的向目标服务器发送类似的请求,根据响应来判断是否成功。

12.4关于程序设计

具体的暴力破解程序的设计不是几句话就能说清楚的,希望有机会把具体的程序展示出来。

下面是一段自动登录的代码,展示了暴力破解的一个横断面。具体可参HttpWebRequest和HttpWebResponse的相关介绍。

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(targetURL);

request.Method = "POST"; //post

 

request.ContentType = "application/x-www-form-urlencoded";

request.ContentLength = data.Length;

request.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; SV1; .NET CLR 2.0.1124)";

Stream newStream = request.GetRequestStream();

newStream.Write(data, 0, data.Length);

newStream.Close();

request.CookieContainer = cc;

HttpWebResponse response = (HttpWebResponse)request.GetResponse();

cc.Add(response.Cookies);

Stream stream = response.GetResponseStream();

string result = new StreamReader(stream, System.Text.Encoding.Default).ReadToEnd();

return result;

如果你理解了如何发送登录信息,那么再结合多线程和字典攻击就可以写出自己的web密码探测工具了。

当然我们没处理验证码的情形,如果它的验证码存储在cookie中或者隐藏字段中那是十分可笑的事情,我们可以直接用程序读取。验证码一般存储在服务器端,一般我们可以将随机生成的验证码的内容放入Session中,用户提交的时候将提交的内容与Session中的验证码进行比较判断。关于验证码的具体内容我想在后面的绕过验证一节中继续讨论。



本文转自悬魂博客园博客,原文链接:http://www.cnblogs.com/xuanhun/archive/2009/01/04/1368250.html,如需转载请自行联系原作者
相关文章
|
1天前
|
前端开发 JavaScript 开发工具
从框架到现代Web开发实践
从框架到现代Web开发实践
7 1
|
4天前
|
SQL 负载均衡 安全
安全至上:Web应用防火墙技术深度剖析与实战
【10月更文挑战第29天】在数字化时代,Web应用防火墙(WAF)成为保护Web应用免受攻击的关键技术。本文深入解析WAF的工作原理和核心组件,如Envoy和Coraza,并提供实战指南,涵盖动态加载规则、集成威胁情报、高可用性配置等内容,帮助开发者和安全专家构建更安全的Web环境。
15 1
|
4天前
|
前端开发 开发者 UED
移动优先:响应式设计在现代Web开发中的实践策略
【10月更文挑战第29天】在现代Web开发中,响应式设计已成为不可或缺的实践策略,使网站能适应各种设备和屏幕尺寸。本文介绍了移动优先的设计理念,对比了移动优先与桌面优先的策略,探讨了流式布局与固定布局的区别,详细讲解了CSS媒体查询的使用方法,并强调了触摸和手势支持及性能优化的重要性。
13 1
|
7天前
|
安全 前端开发 Java
Web安全进阶:XSS与CSRF攻击防御策略深度解析
【10月更文挑战第26天】Web安全是现代软件开发的重要领域,本文深入探讨了XSS和CSRF两种常见攻击的原理及防御策略。针对XSS,介绍了输入验证与转义、使用CSP、WAF、HTTP-only Cookie和代码审查等方法。对于CSRF,提出了启用CSRF保护、设置CSRF Token、使用HTTPS、二次验证和用户教育等措施。通过这些策略,开发者可以构建更安全的Web应用。
33 4
|
6天前
|
安全 Go PHP
Web安全进阶:XSS与CSRF攻击防御策略深度解析
【10月更文挑战第27天】本文深入解析了Web安全中的XSS和CSRF攻击防御策略。针对XSS,介绍了输入验证与净化、内容安全策略(CSP)和HTTP头部安全配置;针对CSRF,提出了使用CSRF令牌、验证HTTP请求头、限制同源策略和双重提交Cookie等方法,帮助开发者有效保护网站和用户数据安全。
29 2
|
8天前
|
存储 安全 Go
Web安全基础:防范XSS与CSRF攻击的方法
【10月更文挑战第25天】Web安全是互联网应用开发中的重要环节。本文通过具体案例分析了跨站脚本攻击(XSS)和跨站请求伪造(CSRF)的原理及防范方法,包括服务器端数据过滤、使用Content Security Policy (CSP)、添加CSRF令牌等措施,帮助开发者构建更安全的Web应用。
42 3
|
10天前
|
SQL 安全 Go
PHP在Web开发中的安全实践与防范措施###
【10月更文挑战第22天】 本文深入探讨了PHP在Web开发中面临的主要安全挑战,包括SQL注入、XSS攻击、CSRF攻击及文件包含漏洞等,并详细阐述了针对这些风险的有效防范策略。通过具体案例分析,揭示了安全编码的重要性,以及如何结合PHP特性与最佳实践来加固Web应用的安全性。全文旨在为开发者提供实用的安全指南,帮助构建更加安全可靠的PHP Web应用。 ###
25 1
|
14天前
|
Kubernetes 安全 应用服务中间件
动态威胁场景下赋能企业安全,F5推出BIG-IP Next Web应用防火墙
动态威胁场景下赋能企业安全,F5推出BIG-IP Next Web应用防火墙
33 3
|
8天前
|
关系型数据库 API PHP
PHP在Web开发中的优势与实践###
【10月更文挑战第24天】 PHP是一种流行的服务器端脚本语言,特别适合Web开发。其简单易学、灵活性高和广泛应用的特点,使其成为众多开发者的首选。本文将探讨PHP在Web开发中的主要优势及其实际应用,通过实例展示如何使用PHP构建高效、可靠的Web应用。无论你是初学者还是有经验的开发者,这篇文章都将提供有价值的见解和实用技巧。 ###
15 0
|
24天前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
86 3