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,如需转载请自行联系原作者
相关文章
|
25天前
|
安全
网易web安全工程师进阶版课程
《Web安全工程师(进阶)》是由“ i春秋学院联合网易安全部”出品,资深讲师团队通过精炼的教学内容、丰富的实际场景及综合项目实战,帮助学员纵向提升技能,横向拓宽视野,牢靠掌握Web安全工程师核心知识,成为安全领域高精尖人才。 ## 学习地址
23 6
网易web安全工程师进阶版课程
|
7天前
|
云安全 数据采集 安全
阿里云安全产品,Web应用防火墙与云防火墙产品各自作用简介
阿里云提供两种关键安全产品:Web应用防火墙和云防火墙。Web应用防火墙专注网站安全,防护Web攻击、CC攻击和Bot防御,具备流量管理、大数据防御能力和简易部署。云防火墙是SaaS化的网络边界防护,管理南北向和东西向流量,提供访问控制、入侵防御和流量可视化。两者结合可实现全面的网络和应用安全。
阿里云安全产品,Web应用防火墙与云防火墙产品各自作用简介
|
25天前
|
机器学习/深度学习 前端开发 算法
利用机器学习优化Web前端性能的探索与实践
本文将介绍如何利用机器学习技术来优化Web前端性能,探讨机器学习在前端开发中的应用,以及通过实际案例展示机器学习算法对前端性能优化的效果。通过结合前端技术和机器学习,提升Web应用的用户体验和性能表现。
|
25天前
|
安全 测试技术 网络安全
Web安全基础入门+信息收集篇
学习信息收集,针对域名信息,解析信息,网站信息,服务器信息等;学习端口扫描,针对端口进行服务探针,理解服务及端口对应关系;学习WEB扫描,主要针对敏感文件,安全漏洞,子域名信息等;学习信息收集方法及实现安全测试,能独立理解WEB架构框架,树立渗透测试开展思路!
18 0
Web安全基础入门+信息收集篇
|
1月前
|
监控 前端开发 JavaScript
构建高性能Web应用:前端性能优化的关键策略与实践
本文将深入探讨前端性能优化的关键策略与实践,从资源加载、渲染优化、代码压缩等多个方面提供实用的优化建议。通过对前端性能优化的深入剖析,帮助开发者全面提升Web应用的用户体验和性能表现。
|
1月前
|
安全 数据库 开发工具
Django实战:从零到一构建安全高效的Web应用
Django实战:从零到一构建安全高效的Web应用
47 0
|
1月前
|
弹性计算 算法 应用服务中间件
倚天使用|Nginx性能高27%,性价比1.5倍,基于阿里云倚天ECS的Web server实践
倚天710构建的ECS产品,基于云原生独立物理核、大cache,结合CIPU新架构,倚天ECS在Nginx场景下,具备强大的性能优势。相对典型x86,Http长连接场景性能收益27%,开启gzip压缩时性能收益达到74%。 同时阿里云G8y实例售价比G7实例低23%,是Web Server最佳选择。
|
1月前
|
安全 中间件 Go
Go语言Web服务性能优化与安全实践
【2月更文挑战第21天】本文将深入探讨Go语言在Web服务性能优化与安全实践方面的应用。通过介绍性能优化策略、并发编程模型以及安全加固措施,帮助读者理解并提升Go语言Web服务的性能表现与安全防护能力。
|
1月前
|
前端开发 JavaScript 开发者
构建响应式Web界面:现代前端开发实践
【2月更文挑战第17天】 随着移动设备用户群体的激增,为各种屏幕尺寸和分辨率构建兼容且优雅的Web界面变得至关重要。本文将深入探讨响应式设计的核心概念,并通过实际案例分析展示如何利用HTML5、CSS3以及JavaScript框架创建流畅的用户体验。我们将着重讨论媒体查询、弹性布局和网格系统等技术的应用,并分享优化响应式网站性能的最佳实践。通过阅读本文,开发者将获得设计和实现适应不同设备的前端项目所需的知识和技能。
|
14天前
|
监控 JavaScript 前端开发
《理解 WebSocket:Java Web 开发的实时通信技术》
【4月更文挑战第4天】WebSocket是Java Web实时通信的关键技术,提供双向持久连接,实现低延迟、高效率的实时交互。适用于聊天应用、在线游戏、数据监控和即时通知。开发涉及服务器端实现、客户端连接及数据协议定义,注意安全、错误处理、性能和兼容性。随着实时应用需求增加,WebSocket在Java Web开发中的地位将更加重要。