【网络安全带你练爬虫-100练】第15练:模拟用户登录

目录

一、目标1:理清逻辑

二、目标2:将每一步用代码进行表示

三、网络安全O


一、目标1:理清逻辑

模拟登录的基本流程

1、进入入口程序

2、读取目标URL

3、请求加上线程

4、确定请求数据包

5、请求格式的确认

6、数据的处理与判断



二、目标2:将每一步用代码进行表示

(顺序会进行标号)

对于不同的站点的登录

需要对数据包、请求格式、逻辑处理等进行适当的修改


admin_login.py

​import csv
import requests
import threading


def admin_login(urls):
#④确定请求数据包
    headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36 Edg/114.0.1823.79',
        'Content-Type': 'application/json',
    }

    data = {
        "accessKey": "admin",
        "secretKey": "admin"
    }

    try:
#⑤请求格式的确认
        res = requests.post(url=urls, headers=headers, json=data, timeout=60)
#⑥数据的处理与判断
        if res.status_code == 204:
            print(f"\033[32m[+]{urls} is 弱口令登录!\033[0m")
            with open('ip_login.csv', mode='a', encoding='utf-8', newline='') as f:
                csv_w = csv.writer(f)
                csv_w.writerow([urls])
        else:
            print(f"\033[34m[-]{urls} pass.\033[0m")
    except Exception as e:
        print("错误为"+str(e))


#①进入入口程序
if __name__ == '__main__':
    threads = []
#②读取目标URL
    with open("ips.csv", mode="r") as f:
        for u in f:
            url = u.replace("\n", "")
            urls = url + "/api/v1/login"
#③函数请求加上线程
            thread = threading.Thread(target=admin_login, args=(urls,))
            thread.start()
            threads.append(thread)

    for thread in threads:
        thread.join()


​



三、网络安全O

README.md · 书半生/网络安全知识体系-实战中心 - 码云 - 开源中国 (gitee.com)https://gitee.com/shubansheng/Treasure_knowledge/blob/master/README.md

GitHub - BLACKxZONE/Treasure_knowledgehttps://github.com/BLACKxZONE/Treasure_knowledge

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/47013.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

MixFormerV2: Efficient Fully Transformer Tracking

摘要 基于变压器的跟踪器在标准基准测试上取得了很强的精度。然而,它们的效率仍然是在GPU和CPU平台上实际部署的一个障碍。在本文中,为了克服这一问题,我们提出了一个完全变压器跟踪框架,称为MixFormerV2,没有任何密集…

我的2023上半年总结

Hi~C站的小伙伴们好久不见哇!釉色终于回到C站,开始要输出了!这一篇文章是我的2023上半年的总结,以此,致敬那段迷茫但又不曾被辜负的时光。 文章目录 总括——你愿意花五分钟时间读读我的文章吗学习——制定目标&#…

GB/T 25000.51解读——软件产品的性能效率怎么测?

GB/T 25000.51-2016《软件产品质量要求和测试细则》是申请软件检测CNAS认可一定会用到的一部国家标准。在前面的文章中,我们为大家整体介绍了GB/T 25000.51-2016《软件产品质量要求和测试细则》国家标准的结构和所涵盖的内容以及对软件产品的八大质量特性中的功能性…

电机故障诊断(python程序,模型为CNN结合LSTM)

代码运行环境要求:TensorFlow版本>2.4.0,python版本>3.6.0 运行效果视频:电机故障诊断(python代码)_哔哩哔哩_bilibili 1.电机常见的故障类型有以下几种: 轴承故障:轴承是电机运转时最容…

新星计划打卡学习:VUE3引入element-plus

目录 1、安装element-plus 2、安装按需导入插件 3、修改配置文件 4、添加页面内容 5、保存并重启项目 1、安装element-plus 官网说要想使用element-plus需要先进行安装,并给出了三种安装方式,我选择了第三种。 报错了: 解决的办法&…

同步、异步、阻塞、非阻塞

一、概念 同步与异步(线程间调用)的区别:关注的是调用方与被调用方之间的交互方式。同步调用会等待被调用方的结果返回,而异步调用则不会等待结果立即返回,可以通过回调或其他方式获取结果。 阻塞非阻塞(…

SpringBoot 和 Vue 参数类型不对应,导致method parameter is not present

org.springframework.web.bind.MissingServletRequestParameterException: Required request parameter id for method parameter type String is not present 客户端: requestUserInfoById()const requestUserInfoById async (id?: string) > {} 服务器端&am…

每天一道C语言编程(2^k进制数)

题目描述 设r是个2^k 进制数,并满足以下条件: (1)r至少是个2位的2^k 进制数。 (2)作为2^k 进制数,除最后一位外,r的每一位严格小于它右边相邻的那一位。 (3)…

大数据课程D2——hadoop的概述

文章作者邮箱:yugongshiyesina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 了解hadoop的定义和特点; ⚪ 掌握hadoop的基础结构; ⚪ 掌握hadoop的常见命令; ⚪ 了解hadoop的执行流程; 一、简介 1…

《零基础入门学习Python》第057讲:论一只爬虫的自我修养5:正则表达式

如果你在课后有勤加练习,那么你对于字符串的查找应该是已经深恶痛绝了,你发现下载一个网页是很容易的,但是要在网页中查找到你需要的内容,那就是困难的,你发现字符串查找并没有你想象的那么简单,并不是说直…

【Matlab】基于粒子群优化算法优化BP神经网络的数据回归预测(Excel可直接替换数据)

【Matlab】基于粒子群优化算法优化 BP 神经网络的数据回归预测(Excel可直接替换数据) 1.模型原理2.数学公式3.文件结构4.Excel数据5.分块代码5.1 fun.m5.2 main.m 6.完整代码6.1 fun.m6.2 main.m 7.运行结果 1.模型原理 基于粒子群优化算法(…

3个能免费使用的AI绘画软件,效果精致

通过AI绘画软件,设计小白也能轻松创作出精美的图画创作。本文将为大家介绍3款能免费使用的AI绘画软件,它们能帮助设计小白或者经验丰富的设计师快速设计出精美的图画作品,一起来看看吧! 1、即时灵感 即时灵感是国产的AI绘画软件…

[JAVAee]synchronized关键字

目录 1.synchronized的特性 ①互斥性 ②可重入性 2.synchronized的使用示例 ①修饰普通方法 ②修饰静态方法 ③修饰代码块 1.synchronized的特性 ①互斥性 互斥性,就像是给门上锁了一样. 当A线程使用了被synchronized修饰的代码块并对其上锁,其他线程(B线程,C线程)想要使…

C. Maximum Set

Problem - 1796C - Codeforces 思路:这个题在做的时候基本的思路是对的,但是没有想到O(1)求答案,枚举的然后T了,我们能够知道,假设前面的数小,那么每个数一定是前面的倍数,所以至少乘以2&#x…

vue3.2 + elementPlus + Windi CSS + ts创建一个好用的可兼容不同宽高的login页面

1.效果预览 2. 代码准备 导入windiCSS: npm i -D vite-plugin-windicss windicss windiCSS官网: https://cn.windicss.org/integrations/vite.html 使用vite创建好你的vue工程 sass版本为: 1.49.9 3.Windi CSS在页面中使用 apply 二次定义类名…

AcWing 算法基础课二 数据结构 链表 栈 队列 并查集 哈希表

单链表. AcWing. 826.单链表 import java.util.Scanner; public class Main{static int[] e new int[100010];//结点i的值static int[] ne new int[100010];//结点i的next指针static int idx,head;//head是头结点,idx存当前已经用到了哪个点public static void i…

thinkphp6 验证码验证结果失败,可能是session开启位置错了!!!

搞了一下下午&#xff0c;始终提示验证码不正确 然后百度得到的结果都是&#xff1a;开启session&#xff0c;但是我开启了就是管用 <?php // 全局中间件定义文件 return [// 全局请求缓存// \think\middleware\CheckRequestCache::class,// 多语言加载// \think\middle…

【前端设计】使用Verdi查看波形时鼠标遮住了parameter值怎么整

盆友&#xff0c;你们在使用Verdi的时候&#xff0c;有没有遇到过鼠标遮挡着了parameter数值的场景&#xff1f;就跟下面这个示意图一样&#xff1a; 最可恨的是这个参数值他会跟着你的鼠标走&#xff0c;你想把鼠标移开看看看这个例化值到底是多大吧&#xff0c;这个数他跟着你…

单线程与多线程的理解与学习(入门到深入)

文章目录 一、在Java中&#xff0c;有多种方式可以创建线程。以下是几种常用的方法&#xff1a;二、线程的调度线程的调度分为两种调度模型分时调度模型抢占式调度模型 三、线程传值四、什么是线程同步五、线程安全六、线程的同步机制七、线程控制 一、在Java中&#xff0c;有多…

8.4Java EE——基于注解的AOP实现

Spring AOP的注解 元素 描述 Aspect 配置切面 Pointcut 配置切点 Before 配置前置通知 After 配置后置通知 Around 配置环绕方式 AfterReturning 配置返回通知 AfterThrowing 配置异常通知 下面通过一个案例演示基于注解的AOP的实现&#xff0c;案例具体实现…
最新文章