1.MySQL数据库密码破解
MySQL数据库用户密码跟其它数据库用户密码一样,在应用系统代码中都是以明文出现的,在获取文件读取权限后即可直接从数据库连接文件中读取,例如asp代码中的conn.asp数据库连接文件,在该文件中一般都包含有数据库类型,物理位置,用户名和密码等信息;而在MySQL中即使获取了某一个用户的数据库用户(root用户除外)的密码,也仅仅只能操作某一个用户的数据库中的数据。
在实际攻防过程中,在获取Webshell的情况下,是可以直下载MySQL数据库中保留用户的user.MYD文件,该文件中保存的是MySQL数据库中所有用户对应的数据库密码,只要能够破解这些密码那么就可以正大光明的操作这些数据,虽然网上有很多修改MySQL数据库用户密码的方法,却不可取,因为修改用户密码的事情很容易被人发现!
1.1MYSQL加密方式
MYSQL数据库的认证密码有两种方式,MYSQL 4.1版本之前是MYSQL323加密,MYSQL 4.1和之后的版本都是MYSQLSHA1加密,MYSQL数据库中自带Old_Password(str)和Password(str)函数,它们均可以在MYSQL数据库里进行查询,前者是MYSQL323加密,后者是MYSQLSHA1方式加密。
(1)以MYSQL323方式加密
SELECTOld_Password(#39;bbs.antian365.com#39;);
查询结果MYSQL323= 10c886615b135b38
(2)以MYSQLSHA1方式加密
SELECTPassword(#39;bbs.antian365.com#39;);
查询结果MYSQLSHA1= *A2EBAE36132928537ADA8E6D1F7C5C5886713CC2
执行结果如图1所示,MYSQL323加密中生成的是16位字符串,而在MYSQLSHA1中生存的是41位字符串,其中*是不加入实际的密码运算中,通过观察在很多用户中都携带了“*”,在实际破解过程中去掉“*”,也就是说MYSQLSHA1加密的密码的实际位数是40位。
1.切换至proxy选项卡的Option选项下,设置代理地址和端口:127.0.0.1:8080。
2.启动刚刚设置的代理
3.打开Internet Properties,依次选择:Connections -LAN Settings -Proxy Server.分别输入127.0.0.1和8080。如图所示。
4.找一个目标网址为
5.点击“登录”时,出现的是一个弹出窗口,为了找到真正的登录网址,我们点击“免费注册”。
6.点击旁边的“登录”,随便输入一个账号,密码输入“123456”。(先不点击登录按钮)
7.选择Proxy选项卡下的“Intercept”选项,点击“Intercept is off”按钮,按钮会变成“Intercept is on”
8.打开前面的登陆页面,点击“登录”按钮。
9.此时我们会在Burpsuite下看见刚刚截取到的数据包。可以看到我们刚刚输入的用户名和关键字。
10.在文字区域内单击右键,选择“Send to Intrder”
11.切换到Intruder选项卡下,选择“Target”,设置主机地址以及端口号,端口号默认是80,假如网站使用的是HTTPS协议的话就勾选下方的“Use HTTPS”切换到443端口(SSL)
12.切换到Positions选项,点击右边的“Clear $”按钮,清除所有默认参数。
13.鼠标选中username后边的文字(我们输入的用户名),点击“Add $”按钮。
14.切换到“Payloads”选项,选择要使用的“Payload type”,这里我们选择“Simple list”。
在下方的“Add from list”中选择一种密码,这里我们选择“8 letter words”。
切换到“Options”选项卡下,设置线程数和其他参数,如下图所示。
点击菜单栏的“Intruder”,选择“Start attack”
扫描到差不多的时候,我们按Length(长度)大小排序。这是我们会看到几种不同的数据包,许多一样的,还有几个数据包很大的基本就是正确的了。
选择其中一个较小的数据包,点击下方的“Response”,会看见有提示“用户名或密码错”
同理,我们再选择一个较大的数据包,这是,我们会看见下方并没有提示“用户名或密码错误”,
当我再重新打开登录页面时发现已经进不去了
初步猜测应该是IP被网站封了,所以我们换一个IP登录试试。我用手机流量开热点链接电脑,这时再去打开网页时果然显示出来了。
输入我们刚刚获得的用户名(这里以merchant为例)以及密码123456。然后点击登录。
成功登录
当我们输入账号、密码登录一个网站时,网站如果允许你使用HTTP(明文)进行身份验证,此时捕获通信流量非常简单,然后就可以对捕获到的流量进行分析以获取登录账号和密码。这种方法不仅适用于局域网,甚至还适用于互联网。这就意味着,攻击者将可以破解任何使用HTTP协议进行身份验证的网站密码。
在局域网内要做到这一点很容易,这不禁使你惊讶HTTP是有多么的不安全。你可以在宿舍网络、工作网络,甚至是校园网络尝试这种破解方法,不过校园网络需要允许广播流量功能,并且要求你的局域网网卡可以设置为混杂模式。
下面就让我们在一个简单的网站上实验这种方法,本实验我是在同一个电脑上进行的。实践的时候,你可以在虚拟机和物理机之间进行。
注意,一些路由器并不支持广播流量功能,所以在这种路由器上可能会失败。
Step 1:运行WireShark并捕获流量
在Kali Linux中可以按以下步骤运行WireShark:
Application Kali Linux Top 10Security Tools Wireshark
在WireShark中依次点击 Capture Interface 选项,然后选中适用的网卡接口,在我的例子中,我使用了一个USB无线网卡,所以我选择了 wlan0。
如果一切顺利,那么接下来你可以按下开始按钮,然后Wireshark将开始捕获流量。如果你错过了这一步,那么你通过回到 Capture Interface Start开始捕获流量。
Step 2:过滤POST数据流量
此时,Wireshark开始监听并捕获所有的网络流量。然后我打开浏览器并用我的用户名和密码登录一个网站,当认证过程结束并成功登录之后,返回并停止Wireshark的流量捕获。
通常情况下,将会捕获很多流量数据,然而我们只对POST数据感兴趣。为什么是POST数据呢?
因为当你输入用户名和密码并点击登录按钮时,将会产生一个POST方法将你输入的数据发送到远程服务器上。
为了过滤并滤出POST数据,可以在Filter输入框中输入以下指令:
http.request.method== "POST"
下图中显示了一个POST事件。
Step 3:分析POST数据以获取用户名和密码
接下来,点击POST事件那一行,然后右击选择“Follow TCPSteam”。
此时,将会打开一个新窗口,窗口中包含类似下面的内容:
HTTP/1.1 302 Found
Date: Mon, 10 Nov 2014 23:52:21 GMT
Server: Apache/2.2.15 (CentOS)
X-Powered-By: PHP/5.3.3
P3P: CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"
Set-Cookie: non=non; expires=Thu, 07-Nov-2024 23:52:21 GMT; path=/
Set-Cookie: password=e4b7c855be6e3d4307b8d6ba4cd4ab91; expires=Thu, 07-Nov-2024 23:52:21 GMT; path=/
Set-Cookie: scifuser=sampleuser; expires=Thu, 07-Nov-2024 23:52:21 GMT; path=/
Location: loggedin.php
Content-Length: 0
Connection: close
Content-Type: text/html; charset=UTF-8
即在这个例子中:
1、用户名:sampleuser
2、密码:e4b7c855be6e3d4307b8d6ba4cd4ab91
由上面的密码值可以猜想,“e4b7c855be6e3d4307b8d6ba4cd4ab91”肯定不是真实的密码值,而应该是一个哈希值。
需要注意的是,一些不注重安全的网站并未对用户发送的密码值求哈希值,而是直接将密码明文发送给服务器。对于这种网站,到这一步就能够得到用户名和密码信息了。而在我分析的例子中,我们还需要更进一步,即识别该哈希值对应的密码值。
Step 4:确定哈希类型
在这一步中,我将使用hash-identifier工具来确定上面的密码哈希值到底是什么类型的哈希。打开终端,然后输入“hash-identifier”并将上面的哈希值粘贴到终端,回车之后hash-identifier将会给出可能的匹配值。
因为有一件事可以确定,即上面的哈希值不是域缓存凭证(Domain Cached Credential),所以它肯定是MD5哈希值。然后,就可以使用hashcat或者cudahashcat破解该MD5哈希值, 点击这里 了解更多。
Step 5:破解MD5哈希密码
可以使用hashcat或者类似的工具很容易地破解这个密码。
root@kali:~# hashcat -m 0 -a 0 /root/wireshark-hash.lf /root/rockyou.txt
(or)
root@kali:~# cudahashcat -m 0 -a 0 /root/wireshark-hash.lf /root/rockyou.txt
(or)
root@kali:~# cudahashcat32 -m 0 -a 0 /root/wireshark-hash.lf /root/rockyou.txt
(or)
root@kali:~# cudahashcat64 -m 0 -a 0 /root/wireshark-hash.lf /root/rockyou.txt
因为我测试的密码存在于我的密码字典中,所以hashcat可以很容易就能破解出。
结论
其实,不可能确保每个网站都使用SSL来保证密码的安全,因为对于每一个URL来说,使用SSL服务都需要花钱。然而,网站所有者(任何人都可以注册的公共网站)至少应该在登录环节进行哈希值求解操作,这样至少在攻击者破解网站密码的时候能够多设置一道屏障。
第一种方法:
要想破译他人的微信密码的话,就要取消独立密码。首先大家可以点开微信的首页,然后点开页面上方的一个图标,打开下拉菜单,点击我的账户,然后在弹出的对话框里点击退回登陆。接下来大家要做的就是再一次打开微信,然后在输入密码的下方,选择登陆遇到的问题,然后使用微信验证码登陆即可,这时换上的自己的手机号便会收到验证码,然后将收到的验证码输入即可成功登陆了。
当然在破译了他人的微信密码之后,大家比较想做的就是很好的了解对方。这时大家可以查看聊天记录,然后在查看之后将所有的聊天记录给备份一份。这样便可以将微信密码给成功的破译掉了。
当然微信密码十分容易被破译,大家需要做的就是在生活中注意相应的注意事项。首先大家可以将微信密码设置的复杂一些,除此之外大家还要保证将自己的微信密码不要告诉别人,也不要在手机上安装一些其它的软件,这样便容易使得自己的微信密码容易被他人给破译掉,从而给自己的生活和工作带来了极大的不便。
第二种方法:
将手机通过数据线与电脑连接,保证电脑能读取手机中的文件 根据微信的安装位置,在电脑中打开手机上的文件,按照如下地址 打开文件夹中的这个文件,如下图所示 找到里面的voice文件,打开,将里面的内容复制到电脑上,用播放器即可打开!
总之,现在微信的功能越发的强大了,大家在生活中要想更好的保证微信密码不被他人给成功破译掉,要做的就是做好相应的注意事项。这样便可以保证自己的微信密码可以每天很好的为自己使用,一直很好的为自己提供服务,让微信的出现可以使得自己的生活变的十分的便利,从此不再担心自己微信上的聊天记录被他人给看到。
以上就是破解别人微信密码的两种方法,你学会了吗?