当前位置: 首页 > news >正文

py黑帽子学习笔记_web攻击

python网络库

py2的urllib2

py3好像把urllib2继承到了标准库urllib,直接用urllib就行,urllib2在urllib里都有对应的接口

py3的urllib

get请求

post请求,和get不同的是,先把post请求数据和请求封装到request对象,再像get那样去请求

requests库

和urllib库相比,可自动处理cookie

lxml和beautifulsoup

两个模块功能差不多,也有区别,但大差不差,lxml略快一点,beautifulsoup可以自动解析页面字符码等

lxml解析:

BytesIO解析响应时,将bytes打包为文件对象。用lxml解析为树状结构,然后读取信息

beautifulsoup:和lxml类似,也是解析为树状结果,然后获取信息

拓印开源网站初始结构

先获取网络返回页面信息,然后本地解析网页,获取网页结构,然后钻空子

此项目是已知目标网站的框架再去解析和处理等

上下文管理器,用来执行命令时切入某个目录,命令执行完成了自动切回原来目录

从本地扫描排除了不感兴趣文件的其他所有文件

从远端获取对应文件,获取成功打印+,入队url,失败打印x

写个扫描入口函数,用线程扫描,等所有线程都完成再推出退出

执行脚本,就可以扫描出远端哪些文件是可访问的

暴力破解目录和文件位置

前面的都是在已知目标的网站框架类型前提下执行的。对于未知框架的网站,可用爬虫爬文件然后分析等方法

此节写个简单暴力破解脚本

这个是根据爆破字典的word表生成待破解文件列表最后返回,queue是线程安全的,有了列表后,还需要一个主破解逻辑

请求头的agent表示我们是”好人“,由于queue.Queue线程安全,用一些线程加快扫描,执行脚本

扫描需要一定时间,开始扫描一会扫描出来几个结果,有了文件路径,我们就可以访问这几个文件去分析这些文件敏感信息

暴力破解html登录表单

此节进行暴力破解wordpress,该框架有些基本的反暴力破解措施,但默认配置下缺少账号锁定机制和验证码机制。

编写爆破工具需要满足两点:1从表单中取出隐藏的token数据 2确保我们的会话接收cookie并保存, requests的Session可以处理cookie

可以先通过浏览器的F12登录静态页面查看表单html结构,wordpress的url形如http://<targeturl>/wp-login.php

破解逻辑如下:

1 拉取页面,保存其cookie

2 解析返回页面中所有html元素

3 将用户名和密码设为暴破字典中某个值

4 向目标站点发表单,表单包含cookie和填完个字段的表单项

5 检测是否成功登录站点

Cain & Abel是一个windows密码恢复工具,附带了一个很大的密码暴破字典,文件名是cain.txt,可直接wget下载,SecLists下还有一些很有用的字典,以后有时间慢慢看

get_words读取密码字典的所有密码,get_params获取目标表单,解析表单然后返回表单需要字段组成的字典

暴破逻辑如下

requests.Session可以处理好cookie,先请求获取表单,填好表单的username,然后依据密码字典循环猜密码

每次循环猜密码sleep防止被拉黑,成功猜到了就终止其他线程

再添加主函数打包brute类

执行脚本,结束,缺少验证条件,待验证

相关文章:

py黑帽子学习笔记_web攻击

python网络库 py2的urllib2 py3好像把urllib2继承到了标准库urllib&#xff0c;直接用urllib就行&#xff0c;urllib2在urllib里都有对应的接口 py3的urllib get请求 post请求&#xff0c;和get不同的是&#xff0c;先把post请求数据和请求封装到request对象&#xff0c;再…...

MVC、MVP 和 MVVM 架构总结

MVC、MVP 和 MVVM 是常见的软件架构模式&#xff0c;主要用于组织应用程序的结构&#xff0c;特别是在用户界面和业务逻辑之间进行分离。以下是对它们的详细解释&#xff0c;包括它们的差异、优缺点。 MVC&#xff08;Model-View-Controller&#xff09; 结构 Model&#xf…...

C++ vector的使用和简单模拟实现(超级详细!!!)

目录 前言 1.STL是什么 2.vector使用 2.1 vector简介 2.2 常用接口函数 1. 构造函数 2.operator[ ]和size&#xff0c;push_back 3. 用迭代器进行访问和修改 4. 范围for遍历 5.修改类型函数 pop_back find insert erase 6. 容量相关函数capacity resize reserve 3.…...

MySQL中,不能在一个DML(数据操纵语言,如INSERT, UPDATE, DELETE)语句中直接引用目标表进行子查询

错误示例 <delete id"deleteOldRelations">DELETE FROM departments_closure_tableWHERE descendant IN ( SELECT descendant FROM departments_closure_tableWHERE ancestor #{departmentId})</delete>程序运行之后&#xff0c;会报错&#xff1a;You …...

【CH32V305FBP6】4. systick 配置

配置 main.c void SYSTICK_Init_Config(u_int64_t ticks) {SysTick->SR & ~(1 << 0);//clear State flagSysTick->CMP ticks - 1;SysTick->CNT 0;SysTick->CTLR 0xF;NVIC_SetPriority(SysTicK_IRQn, 15);NVIC_EnableIRQ(SysTicK_IRQn); }中断计数 …...

【PECL】在扩展中实现 autoload

【PECL】在扩展中实现 autoload 摘要PHP代码想这么写C 代码这么实现 摘要 php-8.3.x 用扩展写个框架。想实现类管理器&#xff0c;自动加载&#xff0c;上代码&#xff1a; PHP代码想这么写 $ws new \Ziima\Applet(); $ws->import(Ziima, ../base/core); $ws->runAu…...

企业微信H5授权登录

在企业中如果需要在打开的网页里面携带用户的身份信息&#xff0c;第一步需要获取code参数 如何实现企业微信H5获取当前用户信息即accessToken&#xff1f; 1.在应用管理--》创建应用 2.创建好应用&#xff0c;点击应用主页-》设置-》网页-》将授权链接填上去 官方文档可以看…...

玩机进阶教程------修改gpt.bin分区表地址段 完全屏蔽系统更新 fast刷写分区表 操作步骤解析【二】

上期博文简单说明了分区表的基本常识。我们在有些环境中需要屏蔽手机的系统更新选项。除了以前博文中说明的修改系统更新下载文件夹的方法。还可以通过修改分区表类达到目的。在一些辅助维修工具上面带修改分区表功能。修改后效果为屏蔽系统更新和可以恢复出厂。原则上不深刷都…...

Java实现数据结构---数组

文章目录 概念存储原理数组的操作完整代码 概念 数组是&#xff08;Array&#xff09;是有限个相同类型的变量所组成的有序集合&#xff0c;数组中的每一个变量为称为元素。数组是最简单、最常用的数据结构。 数组下标从零开始。 存储原理 数组用一组连续的内存空间来存储一…...

java解析excel文件,返回json

我这里用的是springboot项目&#xff0c;配合Maven使用的。首先需要引入依赖&#xff1a; <dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>4.1.2</version></dependency><dependency…...

uniapp 添加字体ttf

效果图如下 一、逻辑概述 在uniapp中使用字体&#xff0c;一共分成两种情况&#xff0c;一种是普通vue页面&#xff0c;一种是nvue页面引入字体。。 1.vue页面引入字体需要如下步骤 1. 先选择下载一种字体&#xff1a;字体格式一般为 ttf后缀名 黄凯桦律师手写体免费下载和在线…...

Linux入门攻坚——24、BIND编译安装、Telnet和OpenSSH

BIND编译安装 对于没有rpm包&#xff0c;需要源代码编译安装。 1、下载源代码&#xff1a;bind-9.12.2-P1.tar.gz&#xff0c;解压&#xff1a;tar -xf bind-9.12.2-P1.tar.gz 2、完善环境&#xff1a; 1&#xff09;增加用户组named&#xff1a;groupadd -g 53 named 2&…...

1.5.3 基于Java配置方式使用Spring MVC

本实战教程主要介绍了如何使用Java配置方式来使用Spring MVC框架。相较于XML配置方式&#xff0c;Java配置方式提供了一种更为简洁和灵活的配置方法。 项目创建与配置 创建一个Jakarta EE项目&#xff0c;并设置项目名称和位置。选择Jakarta EE 10版本&#xff0c;不添加依赖&a…...

Artifactory清理二进制文件丢失的制品

一、摘要 当制品上传到 Artifactory 时&#xff0c;Artifactory 会在数据库中记录制品的相关元数据信息&#xff0c;包括文件路径、大小、校验和&#xff08;如 MD5、SHA1&#xff09;、上传时间、索引、依赖等。实际的制品二进制文件会存储在指定的存储后端&#xff0c;具体的…...

C#中的数组探索

在C#编程语言中&#xff0c;数组是一种基本的数据结构&#xff0c;用于存储固定大小的同类型元素序列。本文将深入探讨C#数组的各个方面&#xff0c;包括定义、赋值、范围操作、切片、多维数组&#xff08;矩形与锯齿形&#xff09;、简化初始化表达式以及边界检查。 数组定义…...

身份认证与口令攻击

身份认证与口令攻击 身份认证身份认证的五种方式口令认证静态口令动态口令(一次性口令)动态口令分类 密码学认证一次性口令认证S/KEY协议改进的S/KEY协议 其于共享密钥的认证 口令行为规律和口令猜测口令规律口令猜测 口令破解操作系统口令破解Windows密码存储机制Windows密码破…...

卷积网络迁移学习:实现思想与TensorFlow实践

摘要&#xff1a;迁移学习是一种利用已有知识来改善新任务学习性能的方法。 在深度学习中&#xff0c;迁移学习通过迁移卷积网络&#xff08;CNN&#xff09;的预训练权重&#xff0c;实现了在新领域或任务上的高效学习。 下面我将详细介绍迁移学习的概念、实现思想&#xff0c…...

Ansible04-Ansible Vars变量详解

目录 写在前面6 Ansible Vars 变量6.1 playbook中的变量6.1.1 playbook中定义变量的格式6.1.2 举例6.1.3 小tip 6.2 共有变量6.2.1 变量文件6.2.1.1 变量文件编写6.2.1.2 playbook编写6.2.1.3 运行测试 6.2.2 根据主机组使用变量6.2.2.1 groups_vars编写6.2.2.2 playbook编写6.…...

Flutter 中的 SliverCrossAxisGroup 小部件:全面指南

Flutter 中的 SliverCrossAxisGroup 小部件&#xff1a;全面指南 Flutter 是一个功能丰富的 UI 开发框架&#xff0c;它允许开发者使用 Dart 语言来构建高性能、美观的移动、Web 和桌面应用。在 Flutter 的丰富组件库中&#xff0c;SliverCrossAxisGroup 是一个较少被使用的组…...

开源还是闭源这是一个问题

天行健&#xff0c;君子以自强不息&#xff1b;地势坤&#xff0c;君子以厚德载物。 每个人都有惰性&#xff0c;但不断学习是好好生活的根本&#xff0c;共勉&#xff01; 文章均为学习整理笔记&#xff0c;分享记录为主&#xff0c;如有错误请指正&#xff0c;共同学习进步。…...

3大技术突破:Sunshine革新家庭游戏串流体验的实战指南

3大技术突破&#xff1a;Sunshine革新家庭游戏串流体验的实战指南 【免费下载链接】Sunshine Sunshine: Sunshine是一个自托管的游戏流媒体服务器&#xff0c;支持通过Moonlight在各种设备上进行低延迟的游戏串流。 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshi…...

游戏玩家如何选?网易UU/ToDesk远程控制延迟实测(含手机投屏技巧)

游戏玩家专属远程控制工具深度评测&#xff1a;延迟、画质与投屏技巧全解析 作为一名资深游戏玩家&#xff0c;你是否遇到过这样的场景&#xff1a;出差在外想用手机继续刷副本&#xff0c;却苦于找不到合适的远程控制方案&#xff1b;或是想在平板上玩PC独占的3A大作&#xff…...

AI大模型入门指南:泛化、通用、涌现三大特征解析,小白也能学会收藏!

本文深入浅出地介绍了AI大模型的主要特征&#xff0c;包括泛化性、通用性和涌现性&#xff0c;并以ChatGPT为例&#xff0c;阐述了其如何通过巨量参数和深度网络结构展现强大的自然语言理解和生成能力。文章还详细分类并介绍了云侧大模型&#xff08;如通用大模型和行业大模型&…...

Opencascade避坑指南:Select()函数7个常见使用误区与调试技巧

Opencascade避坑指南&#xff1a;Select()函数7个常见使用误区与调试技巧 在三维建模和CAD开发领域&#xff0c;Opencascade作为一款强大的开源几何内核&#xff0c;其交互功能一直是开发者关注的焦点。而AIS_InteractiveContext中的Select()函数&#xff0c;作为对象选取的核心…...

Path of Building完全指南:3步掌握流放之路最强Build规划与天赋计算神器

Path of Building完全指南&#xff1a;3步掌握流放之路最强Build规划与天赋计算神器 【免费下载链接】PathOfBuilding Offline build planner for Path of Exile. 项目地址: https://gitcode.com/GitHub_Trending/pa/PathOfBuilding Path of Building是《流放之路》玩家…...

Phi-4-Reasoning-Vision部署案例:基于torch.bfloat16的双卡显存优化实操

Phi-4-Reasoning-Vision部署案例&#xff1a;基于torch.bfloat16的双卡显存优化实操 1. 项目背景与核心价值 Phi-4-Reasoning-Vision是基于微软Phi-4-reasoning-vision-15B多模态大模型开发的高性能推理工具&#xff0c;专为双卡RTX 4090环境优化。这个工具解决了大模型部署中…...

Redis管理效率革命:AnotherRedisDesktopManager实战指南

Redis管理效率革命&#xff1a;AnotherRedisDesktopManager实战指南 【免费下载链接】AnotherRedisDesktopManager qishibo/AnotherRedisDesktopManager: Another Redis Desktop Manager 是一款跨平台的Redis桌面管理工具&#xff0c;提供图形用户界面&#xff0c;支持连接到Re…...

Pixel Fashion Atelier保姆级教程:修复WebUI中文乱码与像素字体缺失问题

Pixel Fashion Atelier保姆级教程&#xff1a;修复WebUI中文乱码与像素字体缺失问题 1. 问题背景与现象 Pixel Fashion Atelier作为一款融合复古像素风格的AI图像生成工具&#xff0c;其独特的界面设计是其核心亮点之一。然而&#xff0c;部分用户在部署和使用过程中可能会遇…...

2026年多模态AI前瞻:Qwen3-VL-2B开源生态发展潜力分析

2026年多模态AI前瞻&#xff1a;Qwen3-VL-2B开源生态发展潜力分析 1. 项目概述与核心价值 Qwen3-VL-2B-Instruct作为新一代开源视觉语言模型&#xff0c;代表了多模态AI技术的重要发展方向。这个模型不仅能够理解文本&#xff0c;更重要的是具备了"看"的能力——它…...

仿真模型中硅胶减震器的特征频率与谐振频率的受力分析

COMSOL仿真模型硅胶减震器减振器特征频率谐振频率受力分析仿真模型最近在研究硅胶减震器的特性&#xff0c;发现用COMSOL来仿真这东西还挺有意思的。硅胶减震器嘛&#xff0c;主要就是用来减振的&#xff0c;比如在一些精密仪器或者机械设备上&#xff0c;防止振动对设备造成损…...