09-python开发xss扫描器

一、基本思路

1、整体上的思路是发送一个带有Payload参数值的请求,从响应当中判断是否存在Payload(反射性XSS)

2、准备一份字典文件、尽可能包含更多的payload,并给每一个payload进行分类(不同的类型匹配的要求不同)

import requests# 从响应中检测payload是否有效
def check_reps(response,payload,type):index = response.find(payload)prefix = response[index-2:index-1]if type == 'Normal' and prefix != '=' and index >=0:return Trueelif type == 'Prop' and prefix == '=' and index >= 0:return Truereturn False# 实现xss扫描的主功能
def xss_scan(location):url = location.split('?')[0]param = location.split('?')[1].split('=')[0]  # 1代表第二部分with open('../dict/xss-payload.txt') as file:  # xss-payload.txt是字典文件需要自己去添加payload_list = file.readlines()for payload in payload_list:type = payload.strip().split(':',1)  #切分第一个:然后后面的直接删除payload = payload.strip().split(':', 1)[1]resp = requests.get(url=url,params={param:payload})if check_reps(resp.text,payload,type):print(f"此处存在xss漏洞:{payload}")if __name__ == '__main__':xss_scan('http://192.168')# source = "hello woniu welcome woniu"# index = source.find('woniu')# print()

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

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

相关文章

为什么需要自动化测试?自动化有哪些优势?

前言 自动化测试,最近些年可谓是大火。招聘上的要求也好,培训班的广告也罢,比比皆是,足以说明它在业内的火爆程度。 虽然说会写自动化测试并不能说明你就很牛批,但是你不会的话,那么很抱歉,你…

力扣每日一题-拆炸弹-2024.5.5

力扣题目:拆炸弹 题目链接: 1652.拆炸弹 题目描述 代码思路 根据代码实现分为k等于0和k不等于0的情况。k等于0很容易处理,而k不等于0时,需要使用滑动窗口的方式来解决。先根据小于0或大于0确定一个窗口,然后移动,获…

【Mac】 DSync for mac(文件比较同步工具) v2.7安装教程

软件介绍 DSync是一款文件比较同步工具,通过简便的三步即可完成繁琐的比较、同步操作,您甚至可以通过跳过、删除或反转您选择的文件的复制方向来微调您的同步。这是在Mac上同步文件的最简单方法。 安装教程 1.打开安装包,将「DSync」拖到右…

YUM源仓库部署和NFS共享存储服务

一.YUM源仓库部署 1.YUM 概述 (1)是基于RPM软件包构建的软件更新机制 (2)可以自动解决依赖关系 (3)所有软件包有集中的YUM软件仓库提供 2.准备YUM源 (1)软件仓库的提供方式&…

个人直播/流媒体服务解决方案实践

目录 1. 说明 1.1 拓扑结构图 2. 准备工作 2.1 软硬件清单 3. 步骤 3.1 按上面的软硬件清单准备好材料 3.2 内网检查测试 3.3 透传到公网服务器 3.5 机顶盒配置 4. 总结 5. 参考 6. 后语 1. 说明 - 在本地局域网建立流媒体服务,并发布到公网服务器供终…

【Unity 组件思想-预制体】

【Unity 组件思想-预制体】 预制体(Prefab)是Unity中一种特殊的组件 特点和用途: 重用性: 预制体允许开发者创建可重复使用的自定义游戏对象。这意味着你可以创建一个预制体,然后在场景中多次实例化它,…

轻松上手的LangChain学习说明书

一、Langchain是什么? 如今各类AI模型层出不穷,百花齐放,大佬们开发的速度永远遥遥领先于学习者的学习速度。。为了解放生产力,不让应用层开发人员受限于各语言模型的生产部署中…LangChain横空出世界。 Langchain可以说是现阶段…

快速了解Oracle 数据库 23ai

Oracle Database 23ai 于2024年5月2日正式发布。快速了解可以看官网主页和官方博客。 官网主页 23ai的3个要点,核心都是数据: 数据的人工智能 主要指数据库内置机器学习和AI向量搜索。这实际是Oracle融合数据库策略的延续,避免了复杂的数据…

SparkStructuredStreaming状态编程

spark官网关于spark有状态编程介绍比较少,本文是一篇个人理解关于spark状态编程。 官网关于状态编程代码例子: spark/examples/src/main/scala/org/apache/spark/examples/sql/streaming/StructuredComplexSessionization.scala at v3.5.0 apache/spark (github…

电商企业案例:金蝶云星空对接易仓

案例背景 某跨境电商公司,作为行业的新锐力量,业务覆盖全球数十个国家,产品线丰富多样。随着业务量的激增,原有的信息孤岛问题日益凸显,导致订单处理延迟、库存管理混乱、物流效率低下。尤其是发货单、销售退件单等跨…

代码随想录训练营31day-动态规划4

一、完全背包(参考博客) 和01背包区别在于物品可以无限次放入背包。完全背包和01背包问题唯一不同的地方就是,每种物品有无限件。 因此在需要在遍历顺序上进行区别,参考代码随想录: 二、518.零钱兑换II 题目求的是组…

尊享面试100(272.最接近的二叉树搜索值|| python)

刚开始想着用最小堆,把每个元素都加进去,然后找出最小的k个值,复杂度应该是(nklogn) import heapq as pq class Solution:def __init__(self):self.h []pq.heapify(self.h)def closestKValues(self, root: Optional[TreeNode], …

[极客大挑战 2019]PHP

1.通过目录扫描找到它的备份文件,这里的备份文件是它的源码。 2.源码当中涉及到的关键点就是魔术函数以及序列化与反序列化。 我们提交的select参数会被进行反序列化,我们要构造符合输出flag条件的序列化数据。 但是,这里要注意的就是我们提…

Go 语言(四)【常用包使用】

1、命令行参数包 flag flag 包就是一个用来解析命令行参数的工具。 1.1、os.Args import ("fmt""os" )func main() {if len(os.Args) > 0 {for index, arg : range os.Args {fmt.Printf("args[%d]%v\n", index, arg)}} } 运行结果&#…

Pytorch基础:内置类type的用法

相关阅读 Pythonhttps://blog.csdn.net/weixin_45791458/category_12403403.html?spm1001.2014.3001.5482 在python中,一切数据类型都是对象(即类的实例),包括整数、浮点数、字符串、列表、元组、集合、字典、复数、布尔、函数、…

ChatGPT的真实能力如何?七大NLP任务一探究竟!

文章链接:https://arxiv.org/pdf/2405.00704 ChatGPT已经改变了人工智能社区,一个活跃的研究方向是ChatGPT的性能评估。评估的一个关键挑战是ChatGPT仍然是闭源的,传统的基准数据集可能已被ChatGPT用作训练数据。在本文中: 调查了最近的研究…

MySQL-基础篇

MySQL基础篇 MySQL概述 MySQL安装与启动 配置MySQL环境变量 MySQL数据库 SQL DDL 数据库操作 表操作 表操作-修改 注意:在删除表时,表中的全部数据也会被删除。 datagrip DML DQL DQL-基本查询 在实际开发过程中,尽量不要写se…

利用matplotlib和networkx绘制有向图[显示边的权重]

使用Python中的matplotlib和networkx库来绘制一个有向图,并显示边的权重标签。 1. 定义了节点和边:节点是一个包含5个节点的列表,边是一个包含各个边以及它们的权重的列表。 2. 创建了一个有向图对象 G。 3. 向图中添加节点和边。 4. 设置了…

vue3中标签的ref属性

组合API-ref属性 在vue2.x中,可以通过给元素添加refxxx属性,然后在代码中通过this.$refs.xxx获取到对应的元素 然而在vue3中时没有$refs这个东西的,因此vue3中通过ref属性获取元素就不能按照vue2的方式来获取。 目标:掌握使用re…

ModuleNotFoundError: No module named ‘pkg_resources‘ 问题如何解决?

ModuleNotFoundError: No module named pkg_resources 通常是因为 Python 环境中缺少 setuptools 模块。pkg_resources 是 setuptools 包的一部分,用于处理 Python 包的发行和资源。 为解决这个问题,请按照以下步骤操作: 确保 setuptools 已…