对于网站运行的个人站长而言,最担心的是应如何有效且安全的去管理自己的网站,否则自己辛辛苦苦经营的网站就会被不请自来的不速之客给攻破,轻则站点数据被窃取,重则整个网站都被攻陷,导致无法恢复。
本文主要从管理后台这个方面来讲解其黑客攻击过程,并通过在虚拟环境中展开实例演示,各读者可以跟着本教程去做实验,通过实验加强对攻击过程的了解,如果你是一名菜鸟站长也可以针对性的去做一下防护方案。
声明:本人分享该教程是希望大家通过这个教程了解网站管理安全和局域网安全,希望大家在今后能对网络安全有个新的防范意识,而并非在教大家如何成为一名不厚道的黑客,如何去攻击别人,所以在此特特意声明,希望读者不要去做一些违法的事情。一旦您超越了这个底线,触犯法律,本人一概不负责,请知悉!
下面让我们开始潜心修炼,走上人生巅峰!!!!!! [抱头][抱头][抱头]
如果你也对黑客和网络安全感兴趣,需要的话可以点击CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享
本文主要从以下几点来展开讨论:
** 1、大致了解网站的组成**
2、网站后台爆破原理
3、执行暴力破解
4、安全防范提议
大致了解网站的组成
一个网站中通常由各种各样的文件目录及文件组成,在网站服务中,服务器程序通过合理/准确的调用各种文件来完成用户的请求。而在网站的管理中,管理员通常都会用到两个管理接口,一个就是网站后台管理的登录界面(例如:路由器的管理界面),不同类型的网站界面会有所差异;而另一个则是管理后台数据库的登录界面,常用phpmyadmin这个软件,通常站长为了安全都会隐藏(这里的隐藏可以是修改目录名)或舍弃掉这个目录。
网站后台的破解原理
在了解了网站的管理后台管理接口之后,我们来讲解一下爆破的原理,其原理主要是通过截获管理机(目标主机)登录网站时的所有数据包,通过分析数据包中的信息直接获取密码或通过数据包暴力破解获得密码,从而获得网站的登录ID和密码。

(图1:攻击原理示意图)
从上图可以看出,网站管理员在登录网站时,其所有网页的数据包通过网卡时都被代理了,而且与网站交互的所有信息都被攻击者给监听着,攻击者只需要拿到用户的数据包就可以实现后台的暴力破解了。
1.查找网站管理入口
这里可以使用‘御剑后台扫描’工具或其它的一些后台目录扫描工具来扫描网站后台的目录/文件信息,‘御剑后台扫描’工具将以列表的形式返回匹配到的目录/文件供我们参考,我们需要通过分析工具返回的信息从中找到网站的后台登录入口。

(图2:扫描网站目录文件)
从上图可以看出,我们对192.168.1.171这个网站进行目录扫描并且已经扫描到了相关的文件信息,其中就有一个名为login.html的文件,该文件一般就为后台的登录界面入口(注:不同类型的网站、不同策略的网站有所不同,更多的靠自行去发现)。
在上面的讲解中,我们已经学会了如何去获得后台的相关登录界面信息,接下来我们开始对获得的登录界面进行攻击操作,在此为了方便演示我们将以爆破路由器的后台管理界面为例,在执行下面的操作时,因为要使用 burpsuite 工具,所以我们需要安装一个Kali系统(可以使用虚拟机安装),具体安装过程这里不论述,请读者自行下载安装。
提示:由于国内针对Kali 的教程比较少,你可以搜索ubuntu或Linux系统的安装教程。
这里提供一个关于如何在VMware虚拟机上安装Kali的教程入口,有需要的朋友可以去看一下: http://blog.csdn.net/qintaiwu/article/details/79090858
2)爆破前准备
首先打开Kali系统桌面的 burpsuite 工具,先对其工具进行以下配置:

(图3:添加监听地址)

(图4:配置截获客户端请求)

(图5:配置截获服务器端请求)
其中图3中新添加的监听地址,写入默认IP地址设为127.0.0.1,监听端口设为9999,这里的9999是随意的(建议设置值在1024之后),本条配置的作用是让burpsuite工具监听流经网卡9999这个端口的所有数据包,说白了就是窃听管理员与服务器交互的所有内容,将其保存下来。
(注:配置完成后切勿将其窗口关闭)
接下来我们使用Kali系统的浏览器来模仿管理员登录网站后台的操作,并实施数据窃听。
首先,我们先配置一下浏览器的代理设置,如下:

(图6:配置代理服务器1)

(图7:配置代理服务器2)

(图8:配置代理服务器3)
注意:这里设置的代理IP地址和端口必须和上面设置burpsuite 工具时使用的地址一致!
3)正式开始攻击
终于到了攻击的时刻了,接下来我们以获取路由器的管理后台为例,实现攻击:
假设管理员打开了路由器管理后台界面,并执行了登录操作:

(图9:管理员登录后台)
当用户执行了登录操作后(假设账户和密码都是正确的),这时我们回到burpsuite工具,并切换到HTTP history 选项中查看抓包信息,在抓包列表中我们可以看到burpsuite工具抓到所有流经9999端口的所有数据包信息,在此我们只需要在URL列中找到与管理员登录管理后台时使用一致的URL并点击查看即可查看到该数据包的所有内容,所以这里我们很轻松的就能找到正确的账户和密码了,效果如下:

(图10:获得账户ID和密码)
在上面的情况中,因为ID和密码都是正确的,所以我们很轻松的就获得了这些信息,那么如果管理员输入的账户ID 是正确的而密码是错误的,我们又应该怎么操作呢?
答案是我们同样可以使用字典的方式来暴力破解网站的密码,下面假设我们获得了这个登录失败的数据包,这时我们只需要执行以下操作:

(图11)

(图12:修改匹配项)
在图12中,方框框出来(§符括住的)的表示默认暴力破解时要匹配的项,前面说了我们只有密码是错误的,所有这里我们只需要执行密码项的破解即可。
单击右侧的 Clear§ 按钮取消所有匹配项,然后选中错误的密码(=号后的字符串),单击右侧的 Add§ 按钮添加为匹配项即可!效果如图13.

(图13:修改为仅密码匹配项)
接下来我们需要选择一个作为密码匹配的字典,由于Kali系统自带了字典,且存放于\usr\share\wordlists\rackyou.txt路径下,所以我们只需给它指向该字典即可(注:默认字典没有解压出来需自行,解压解压指令: gzip -vd /usr/share/wordlists/rockyou.txt.gz)。
执行如下:

(图14:选择破解字典)
一切准备好后,我们只需点击右上角的 Start attack按钮即可开始暴力破解,破解过程中,系统会根据字典中的内容一个一个的去匹配密码,此过程中系统不会提示你哪个是正确的密码,但是我们可以通过浏览系统匹配过程中反馈回来的数据包长度来判断哪个是正确的密码。
至此我们只需要在反馈框中找到那个长度与其它数据包反馈长度不一致对应的字符串即可,那就是正确的密码,至此破解完成。效果如图15.

(图15:获得正确密码)
如果字典执行完成都没有找到,说明该字典也没有此网站的密码。
延伸:有的人会问,那既不知道账户又不知道密码,那应该怎么破解呢?
答:如果不知道账户又不知道密码,完全靠猜测、靠机器暴力破解,那破解的难度将大大的增加,破解的成功率也极低,所以我们需要转换思维去获得某一个参数,如需要获得登录的ID , 这时我们就可以通过用户浏览时的缓存或者cookies 、社会工程学、关联思维等方式去推测去获取这个登录的ID,这样才能提高我们的破解成功率!
四、安全防范提议
讲到这大家应该都明白整个获取密码的流程了吧!如果你是一名菜鸟站长,可以通过上述的提到的漏洞对该漏洞进行保护,比如说:
将管理入口的网页名设置为一些其它非login.php、login.html、manage.php等字眼的名称
将不必要的登录入口去除
尽可能的将 帐号 和 密码 设置的复杂
切勿在公共网络登录网站,以防被别人截获信息
定时修改管理的密码
定时查看网站日记
…
PS: 如果有朋友仔细的跟着教程去做去完成并加以思考了之后,会发现在教程中我们还有一个敏感的信息源,那就是我们的网关(换句话说就是我们的路由器),这个设备管控这我们电脑上所有的数据流,一旦我们的网关被不法份子所控制,那我们所有的数据将被监听、一旦不法份子通过某种工具或某种手段还原了我们的数据,那后果将是不可估量的,所以大家在日常中还要对自己网络的出口网关加以防护,尽量通过去做好每一个细节而保证我的网络安全。
黑客学习资源免费分享,保证100%免费!!!
需要的话可以点击**CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享**
👉网安(黑客)全套学习视频👈
我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了。


👉网安(黑客红蓝对抗)所有方向的学习路线👈
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

👉黑客必备开发工具👈
工欲善其事必先利其器。学习黑客常用的开发软件都在这里了,给大家节省了很多时间。
这份完整版的网络安全(黑客)全套学习资料已经上传至CSDN官方,朋友们如果需要点击下方链接即可前往获取【保证100%免费】。
需要的话可以点击CSDN大礼包:《黑客&网络安全入门&进阶学习资源包》免费分享
Unity自动旋转动画1.开门需要门把手先动,门再动2.关门需要门先动,门把手再动3.中途播放过程中不可以再次进行操作觉得太复杂?查看我的文章开关门简易进阶版效果:如果这个门可以直接打开的话,就不需要放置"门把手"如果门把手还有钥匙需要旋转,那就可以把钥匙放在门把手的"门把手",理论上是可以无限套娃的可调整参数有:角度,反向,轴向,速度运行时点击Test进行测试自己写的代码比较垃圾,命名与结构比较拉,高手轻点喷,新手有类似的需求可以拿去做参考上代码usingSystem.Collections;usingSystem.Collections.Generic;usingUnityEngine;u
目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称
最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总
深度学习部署:Windows安装pycocotools报错解决方法1.pycocotools库的简介2.pycocotools安装的坑3.解决办法更多Ai资讯:公主号AiCharm本系列是作者在跑一些深度学习实例时,遇到的各种各样的问题及解决办法,希望能够帮助到大家。ERROR:Commanderroredoutwithexitstatus1:'D:\Anaconda3\python.exe'-u-c'importsys,setuptools,tokenize;sys.argv[0]='"'"'C:\\Users\\46653\\AppData\\Local\\Temp\\pip-instal
我是ruby的新手,我认为重新构建一个我用C#编写的简单聊天程序是个好主意。我正在使用Ruby2.0.0MRI(Matz的Ruby实现)。问题是我想在服务器运行时为简单的服务器命令提供I/O。这是从示例中获取的服务器。我添加了使用gets()获取输入的命令方法。我希望此方法在后台作为线程运行,但该线程正在阻塞另一个线程。require'socket'#Getsocketsfromstdlibserver=TCPServer.open(2000)#Sockettolistenonport2000defcommandsx=1whilex==1exitProgram=gets.chomp
我完全不是程序员,正在学习使用Ruby和Rails框架进行编程。我目前正在使用Ruby1.8.7和Rails3.0.3,但我想知道我是否应该升级到Ruby1.9,因为我真的没有任何升级的“遗留”成本。缺点是什么?我是否会遇到与普通gem的兼容性问题,或者甚至其他我不太了解甚至无法预料的问题? 最佳答案 你应该升级。不要坚持从1.8.7开始。如果您发现不支持1.9.2的gem,请避免使用它们(因为它们很可能不被维护)。如果您对gem是否兼容1.9.2有任何疑问,您可以在以下位置查看:http://www.railsplugins.or
有没有办法在Rails中为确认字段自定义消息?例如在设计中我必须输入密码和password_confirmation并且错误消息是:Passwordconfirmationdoesn'tmatchPassword我可以更改事件记录语言环境消息(“不匹配”),但它会在该语言环境消息的开头和结尾输出密码确认和密码,所以我得到如下内容:"PasswordconfirmationmustmatchPassword"有没有办法将其更改为不同的字符串?PasswordconfirmationandPasswordmustmatch.编辑另一件事是拥有完全自定义的消息,例如:'Setpassword
如何学习ruby的正则表达式?(对于假人) 最佳答案 http://www.rubular.com/在Ruby中使用正则表达式时是一个很棒的工具,因为它可以立即将结果可视化。 关于ruby-我如何学习ruby的正则表达式?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1881231/
我正在尝试对某些帖子的评论使用简单的身份验证。用户使用即时ID和密码输入评论我使用“bcrypt”gem将密码存储在数据库中。在comments_controller.rb中像这样@comment=Comment.new(comment_params)bcrypted_pwd=BCrypt::Password.create(@comment.user_pwd)@comment.user_pwd=bcrypted_pwd当用户想要删除他们的评论时,我使用data-confirm-modalgem来确认数据在这部分,我必须解密用户输入的密码以与数据库中的加密密码进行比较我怎样才能解密密码,
我有一个允许更新用户记录的表单。它包含:password和:password_confirmation字段,但我不希望在数据库中已存储加密密码时对它们运行验证。View文件中的字段:'ConfirmPassword'%>在互联网上搜索时,我发现了这段代码,我认为它是针对以前版本的Ruby/Rails的。(我会把它放在我的用户模型中。)validates_presence_of:password,:on=>create由于我的用户模型中密码验证的语法不同(如下),我对我需要的语法感到困惑。validates:password,:presence=>true,:confirmation=>