python脚本(渗透测试)

news2024/12/22 22:34:33

python爬取edusrc

通过此脚本,可以爬取edusrc的目标信息,生成目标字典,为下一步开发自动化测试工具做准备

import queue
import threading
import time

import requests
from bs4 import BeautifulSoup
import re
def get_edu_name():
    while not q.empty():
        x=q.get()
        url='https://src.sjtu.edu.cn/rank/firm/0/?page=%s'%str(x)
        try:
            s=requests.get(url).text
            print('->正在获取第%s页内容'%x)
            soup=BeautifulSoup(s,'lxml')
            edu1=soup.find_all('tr')
            for i in range(1,len(edu1)):
                edu=edu1[i].a.string
                print(edu)
                with open('eduName.txt', 'a+') as f:
                        f.write(edu + '\n')
                        f.close()
        except Exception as e:
            time.sleep(1)
            pass

if __name__=='__main__':
    q = queue.Queue()
    for i in range(1,209):
        q.put(i)
    for i in range(10):
        t=threading.Thread(target=get_edu_name)
        t.start()

python爆破shadow

 crypt这个模块只能在Linux下才能运行,此外,密码文件需要自己定义,爆破的成功率取决于字典的强大

import crypt


def testpass(shadow):
    user=shadow.split(":")[0] #获得用户名
    cryptpass=shadow.split(":")[1] #获得加密字段
    salt=cryptpass[0:cryptpass.rindex("$")] #获取盐值
    passdict=open("key.txt",'r')
    for passwd in passdict.readlines():
        passwd=passwd.strip('\n')
        cryptpasswd=crypt.crypt(passwd,salt) #将密码中的值和盐值一起加密
        if(cryptpasswd==cryptpass):
            print("[+]Found Password:", user, ":", passwd)


def main():
    shadowfile=open('/etc/shadow')
    for shadow in shadowfile.readlines():
        if "$" in shadow:
            testpass(shadow)

if __name__ == '__main__':
    main()

实验效果

python联动AWVS 

这里需要将API key和url等替换成自己的

import requests,json


api_add_url = "https://localhost:3443/api/v1/targets"
headers = {
    'X-Auth': '1986ad8c0a5b3df4d7028d5f3c06e936cc4ce04ea3d4b4ad69123594ad34b4c31',
    'Content-type': 'application/json'
}

data = '{"address":"http://vulnweb.com/","description":"create_by_reaper","criticality":"10"}'

r = requests.post(url=api_add_url, headers=headers, data=data,verify=False).json()
target_id=r['target_id']
print(r)

api_run_url='https://localhost:3443/api/v1/scans'
headers = {
    'X-Auth': '1986ad8c0a5b3df4d7028d5f3c06e936cc4ce04ea3d4b4ad69123594ad34b4c31',
    'Content-type': 'application/json'
}
data = '{"profile_id":"11111111-1111-1111-1111-111111111111","schedule":{"disable":false,"start_date":null,"time_sensitive":false},"target_id":"%s"}'% target_id

r = requests.post(url=api_run_url, headers=headers, data=data, verify=False).json()
print(r)

python联动sqlmap

实现自动添加任务进行sqlmap扫描

import requests,json
"""
python sqlmapapi.py -s  启动sqlmap-api服务
@get("/task/new")   1.创建新任务记录任务ID
@post("/option/<taskid>/set")   2.设置任务ID扫描信息
@post("/scan/<taskid>/start")   3.开始扫描对应ID任务
@get("/scan/<taskid>/status")   4.读取扫描状态判断结果
@get("/scan/<taskid>/data")     5.扫描结果查看
@get("/task/<taskid>/delete")   6.结束删除ID
"""

def new_id():
    url='http://127.0.0.1:8775/task/new'
    headers = {'Content-Type': 'application/json'}
    res=requests.get(url,headers=headers).json()
    if res['success'] is True:
        print('->1.创建新任务记录任务ID: '+res['taskid'])
        return res['taskid']
def set_id(id,scanurl):
    url = 'http://127.0.0.1:8775/option/%s/set'%id
    data={
        'url':scanurl
    }
    headers = {'Content-Type': 'application/json'}
    res = requests.post(url,data=json.dumps(data),headers=headers).json()
    if res['success'] is True:
        print('->2设置任务ID扫描信息成功 '+id+'\n'+'->3设置目标url扫描信息成功url: '+scanurl)
def start_id(id,scanurl):
    url='http://127.0.0.1:8775/scan/%s/start'%id
    data = {
        'url': scanurl
    }
    headers = {'Content-Type': 'application/json'}
    res=requests.post(url,data=json.dumps(data),headers=headers).json()
    if res['success'] is True:
        print('->4启动任务ID扫描信息成功  '+id+'url: '+scanurl)
def status_id(id):
    url='http://127.0.0.1:8775/scan/%s/status'%id
    headers = {'Content-Type': 'application/json'}
    print('->5开始扫描 ID:'+id)
    while True:
        res=requests.get(url,headers=headers).json()
        if res['status']=='running':
            continue
        else:
            print('扫描完成 ID:'+id)
            break
def data_id(id,scanurl):
    url='http://127.0.0.1:8775/scan/%s/data'%id
    headers = {'Content-Type': 'application/json'}
    resp = requests.get(url, headers=headers)
    res=requests.get(url,headers=headers).json()
    if res['data'][0]['status']==1:
        print('->6存在注入  ' + id + 'url: ' + scanurl)
        print('正在写入sqlresult.txt')
        with open('sqlresult.txt','a+') as f:
            f.write(resp.text)
            f.write('\n'+'---------------------------------')
            f.close()
            print('写入完成')
def del_id(id,scanurl):
    url='http://127.0.0.1:8775/task/%s/delete'%id
    headers = {'Content-Type': 'application/json'}
    res=requests.get(url,headers=headers).json()
    if res['success'] is True:
        print('->7删除任务信息成功  '+id+'url: '+scanurl)




if __name__ == '__main__':
    for url in open('vulnweb.txt'):
        id=new_id()
        set_id(id,url.replace('\n',''))
        start_id(id,url.replace('\n',''))
        start_id(id,url.replace('\n',''))
        status_id(id)
        data_id(id,url)
        del_id(id,url)
        print('------------------------------------')

python联动Xray并实现微信推送

这里需要用到server酱

import time

from flask import Flask, request
import requests

app = Flask(__name__)


@app.route('/webhook', methods=['POST'])
def test():
    wx = 'https://sctapi.ftqq.com/SCT222793TLvGVTGB4O6fpNbfmt7IBwEy.send?title=xray'
    try:
        vuln = request.json
        type = vuln.get('type')  # 使用.get()方法可以避免在键不存在时抛出KeyError
        plugin = vuln.get('data', {}).get('plugin')
        url = vuln.get('data', {}).get('target',{}).get('url')
        content = """## Xray发现了新漏洞  
        发现漏洞类型:{type}  
        发现漏洞插件:{plugin}  
        发现漏洞url:{url}  
        """.format(type=type, plugin=plugin, url=url)
        print(content)
        data = {
            'desp': content
        }
        print(data)
        requests.post(wx, data=data)
        return 'ok'
    except Exception as e:
        time.sleep(1)
        pass


if __name__ == '__main__':
    app.run()

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

算法-单词搜索 II

算法-单词搜索 II 1 题目概述 1.1 题目出处 https://leetcode.cn/problems/word-search-ii/description/?envTypestudy-plan-v2&envIdtop-interview-150 1.2 题目描述 2 DFS 2.1 解题思路 每个格子往上下左右四个方向DFS&#xff0c;拼接后的单词如果在答案集中&…

【测试开发】基础篇 · 专业术语 · 软件测试生命周期 · bug的描述 · bug的级别 · bug的生命周期 · 处理争执

【测试开发】基础篇 文章目录 【测试开发】基础篇1. 软件测试生命周期1.1 软件生命周期1.2 软件测试生命周期 2. 描述bug3. 如何定义bug的级别3.1 为什么要对bug进行级别划分3.2 bug的一些常见级别 4. bug的生命周期5. 产生争执这么怎么办&#xff08;处理人际关系&#xff09;…

启山智软/电商商城100%开源

介绍 想要了解代码规范&#xff0c;学习商城解决方案&#xff0c;点击下方官网链接联系客服 作者&#xff1a;启山智软 官网及博客&#xff1a;启山智软官网、CSDN、掘金、gitee 简介&#xff1a;启山智软目前开发了全渠道电商商城系统&#xff0c;本商城是基于SpringCloud的商…

阿里云配置炼丹环境全流程 (从购买云服务器到成功运行代码)

自己的小破笔记本实在炼不动高品阶的丹药, 不得已用了云服务器. 捣鼓了一天, 终于是成功把代码在云服务器上跑起来了. 将这一过程记录一下, 方便之后参考. 第一步, 创建云服务器实例 找到控制台, 点 “云服务器 ECS”, 然后点击创建实例. 会出现以下界面: 这里如何选择合适的…

竞赛 基于深度学习的人脸性别年龄识别 - 图像识别 opencv

文章目录 0 前言1 课题描述2 实现效果3 算法实现原理3.1 数据集3.2 深度学习识别算法3.3 特征提取主干网络3.4 总体实现流程 4 具体实现4.1 预训练数据格式4.2 部分实现代码 5 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 毕业设计…

RocketMQ编程使用和应用场景

RocketMQ消息模型 一、RocketMQ客户端基本使用 引入RocketMQ依赖 <dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-client</artifactId><version>4.9.5</version> </dependency>ncy> RocketMQ…

哈希及哈希表的实现

目录 一、哈希的引入 二、概念 三、哈希冲突 四、哈希函数 常见的哈希函数 1、直接定址法 2、除留余数法 五、哈希冲突的解决 1、闭散列 2、开散列 一、哈希的引入 顺序结构以及平衡树中&#xff0c;元素关键码与其存储位置之间没有对应的关系&#xff0c;因此在查找…

【Java 基础篇】Java标准输入流详解:读取用户输入的完整指南

Java是一门流行的编程语言&#xff0c;常用于开发各种类型的应用程序&#xff0c;包括控制台应用、桌面应用、Web应用等。在这些应用中&#xff0c;与用户进行交互是一项重要的任务。本文将重点介绍Java标准输入流&#xff0c;它是Java程序中用于从用户获取输入的关键组成部分。…

【unity小技巧】Unity 存储存档保存——PlayerPrefs、JsonUtility和MySQL数据库的使用

文章目录 前言PlayerPrefs一、基本介绍二、Demo三、优缺点 JsonUtility一、基本使用二、Demo三、优缺点 Mysql&#xff08;扩展&#xff09;完结 前言 游戏存档不言而喻&#xff0c;是游戏设计中的重要元素&#xff0c;可以提高游戏的可玩性&#xff0c;为玩家提供更多的自由和…

【JavaScript】video标签配置及相关事件:

文章目录 一、标签配置&#xff1a;二、事件&#xff1a;三、案例&#xff1a; 一、标签配置&#xff1a; 标签名描述src要播放的路径地址autoplay是否自动播放&#xff0c;默认值是false,&#xff08;Boolean&#xff09;loop是否循环播放&#xff0c;默认值是false,&#xf…

Hbase工作原理

Hbase&#xff1a;HBase 底层原理详解&#xff08;深度好文&#xff0c;建议收藏&#xff09; - 腾讯云开发者社区-腾讯云 Hbase架构图 同一个列族如果有多个store&#xff0c;那么这些store在不同的region Hbase写流程&#xff08;读比写慢&#xff09; MemStore Flush Hbas…

arm day2(9.15)数据操作指令,跳转指令,特殊功能寄存器指令,+XMind

作业 1.求最大公约数&#xff1a; .text .global _start _start:mov r0,#0x9mov r1,#0x15bl Loop Loop:cmp r0,r1 比较r0寄存器和r1寄存器的中的值beq stop 当两数相同时,退出程序subhi r0,r0,r1 r0>r1 r0 r0 - r1subcc r1,r1,r0 r0<r1 r1 r1 - r0mov pc,lr 恢复现…

自动驾驶行业观察之2023上海车展-----整体发展趋势

1.行业趋势 新能源势不可挡。 本次车展上首发了150多款新车&#xff0c;约有100款是新能源车;跨国车企全面电动化&#xff0c;但日韩系布局相对缓慢&#xff1b; 2.自主品牌 品牌持续向上 本届车展自主品牌开始疯狂向高端内卷&#xff0c;高端化态度坚决 &#xff08;包括仰…

Modbus RTU(Remote Terminal Unit)与RS-485协议介绍(主站设备(Master)、从站设备(Slave))

文章目录 Modbus RTU与RS-485协议介绍一、引言二、Modbus RTU 协议介绍2.1 Modbus RTU 协议简介2.2 Modbus RTU 协议帧结构主站设备、从站设备与从站设备地址2.3 Modbus RTU 协议举例 三、RS-485 协议介绍3.1 RS-485 协议简介3.2 RS-485 物理连接方式3.3 RS-485 与 Modbus RTU …

代码片段的理解

1.后面的error直接走的是失败的回调 例如:权限不足,可以理解为服务器的一种形式 2.前面走的是成功的回调 但是也可能不对,例如在传过去的参数,在数据库查询不了这个值,传递过来的值不一样&#xff0c;这样它也是走的成功回调。

提升前端开发效率:基于vue的van-radio-group组件封装指南

前言 vant 作为一款流行的 ui 框架&#xff0c;其中&#xff0c;van-radio-group 组件是一个常用的单选框组件&#xff0c;但有时我们需要根据项目需求进行定制化封装。本文将介绍如何基于 vue 框架封装 van-radio-group 组件&#xff0c;让我们一起来探索吧&#xff01; 封装文…

Python网络编程:构建网络应用与通信

&#x1f482; 个人网站:【工具大全】【游戏大全】【神级源码资源网】&#x1f91f; 前端学习课程&#xff1a;&#x1f449;【28个案例趣学前端】【400个JS面试题】&#x1f485; 寻找学习交流、摸鱼划水的小伙伴&#xff0c;请点击【摸鱼学习交流群】 Python是一门强大的编程…

node查询七牛云上的文件信息

const qiniu require(qiniu) const {getQiNiuKey, } require(./tools)//#region 七牛云 const { accessKey, secretKey } getQiNiuKey() const mac new qiniu.auth.digest.Mac(accessKey, secretKey) let config new qiniu.conf.Config() // 空间对应的机房 config.zone …

目标跟踪方向开源数据集资源汇总

Temple Color 128 数据集下载链接&#xff1a;http://suo.nz/2dKEEL 本数据集包含一大组 128 种颜色序列&#xff0c;带有基本事实和挑战因素注释&#xff08;例如&#xff0c;遮挡&#xff09; NfS高帧率视频数据集 数据集下载链接&#xff1a;http://suo.nz/34o8df 第一个…

旺店通·企业奇门与金蝶云星空对接集成订单查询连通销售订单新增(旺店通销售-金蝶销售订单-小红书)

旺店通企业奇门与金蝶云星空对接集成订单查询连通销售订单新增(旺店通销售-金蝶销售订单-小红书) 接通系统&#xff1a;旺店通企业奇门 慧策最先以旺店通ERP切入商家核心管理痛点——订单管理&#xff0c;之后围绕电商经营管理中的核心管理诉求&#xff0c;先后布局流量获取、会…