黑客技术是个很庞大的概念,包括不同的方向,每个方向又可以划分成多个领域,随着技术的进步,每个领域都可以无限细分,不同的领域之间也在不断交叉。因此如果将黑客技术的方向、领域、知识用结构图表示,会得到一张错综复杂、密密麻麻的网状图。看到这样的知识结构图,估计大部分初学者都会被成功劝退,想要继续学习的人也会因不知从何学起而迷茫。
无论是在线攻击还是离线攻击,构建密码字典都是破解密码过程中最核心的环节,字典的好坏直接决定了密码破解的效率和成功率。密码攻击的本质就是暴力破解,即用密码组合穷举的方式不停地去试探,直到“试”出正确的密码。密码组合的穷举需要耗费大量的CPU资源,为了减轻CPU的压力并方便重复利用,通常将穷举的密码组合保存在文档里,这个文档称为密码字典。
下面以构建日期字典为例:形如19951213的日期密码由8位数字的排列组合,理论上来说有1亿(10的8次方)个组合方式,但因为年月日都有各自的取值范围,实际的组合数并没有想象中那么多,比如19590101到20181231之间总共只有2万多个不同的组合。除了日期集合,还可以构建电话号码集合、英文单词集合、姓氏拼音集合。
密码在线攻击其实就是将字典中的用户名和密码按照特定格式组装,然后向网站登录界面发送登录请求,直至成功的过程。未经对方同意攻击网站的做法是违法行为,所以请大家搭建自己的网站用于测试和学习。搭建网站的过程也并不复杂,目前主流的解决方案如Apache+Tomcat可以直接拿来使用,另外还需要学习配置数据库,实现登录功能。需要学习的知识如下:
密码在线攻击不是在登录页面里靠手动输入用户名密码,而是通过编程实现。不知道大家平时有没有发现这样一个问题:在登录网站时,浏览器的地址栏里只会显示域名,并不会显示登录页面的url。实现对页面的在线攻击要有的放矢,因此必须先找到登录页面的完整url。此外网站服务器的IP、协议、端口、页面请求方式、失败时的返回信息都必须在攻击之前掌握。所有这些都可以通过数据抓包和解析来实现,需要的知识有:
领取专属 10元无门槛券
私享最新 技术干货