05 2023 档案
摘要:1、windows的短文件名机制 (1)介绍 为了兼容16位MS-DOS程序,Windows为文件名较长的文件(和文件夹)生成了对应的windows 8.3 短文件名。 dir /x 列出当前目录的子目录和文件,以及相应的8.3兼容名称(如果有的话) win10,默认是没有开启8.3兼容特性,无法显
阅读全文
摘要:遵循由小到大进行测试。 1、样本请求 (1)请求设置 基于url、请求头部设置 基于https标志、请求报文设置 (2)是否响应 如果未收到响应,可能的情况: 中间网络延迟,导致请求和响应无法快速传递,超出客户端等待接收响应的最大时间 服务端接收后,无法处理或者处理时间过长,同时未及时进行响应返回
阅读全文
摘要:信息收集是一个持续的工作,很难说完全收集,但收集信息越多,对渗透帮助越大。 信息收集往往存在交叉,收集过程与测试过程的交叉,收集过程中信息与信息的交叉。 1、ip 几个概念: 主体,非正式的名称,比如阿里,xxx学校 经营者,也称为备案主体或工商主体,可以分为个人、公司或组织 域名,主域名与子域名
阅读全文
摘要:1、明确目标 范围,规则,需求。 (1)确定需要渗透资产范围 需要测试的域名、ip、端口、路径(模块) 有时候,客户并不明确指出,而是相关即可。这时候,需要通过信息收集完成任务 (2)确定渗透的相关规则 对测试手段约束,禁止工具扫描,禁止暴力破解,禁止社工,禁止提权及危险的操作,禁止ddos及其他干
阅读全文
摘要:1、介绍 属于逻辑漏洞的一种,是指对同一手机号发送大量短信,干扰用户正常生活。类似的,邮件轰炸漏洞。
阅读全文
摘要:(176条消息) 反序列化漏洞详解_一句话木马的博客-CSDN博客 1、定义 序列化是将对象转换为字符串以便存储传输的一种方式。而反序列化恰好就是序列化的逆过程,反序列化会将字符串转换为对象供程序使用。在PHP中序列化和反序列化对应的函数分别为serialize()和unserialize()。 当
阅读全文
摘要:1、定义 由于代码设计不严谨所导致的漏洞。 逻辑漏洞是指攻击者利用业务的设计缺陷,获取敏感信息或破坏业务的完整性。一般出现在密码修改、越权访问、密码找回、交易支付金额等功能处。 逻辑缺陷表现为设计者或开发者在思考过程中做出的特殊假设存在明显或隐含的错误。 精明的攻击者会特别注意目标应用程序采用的逻辑
阅读全文
摘要:1、定义 除了直接编程的代码之外的一切工具,包括框架、应用程序和插件等都称为中间件。 中间件漏洞可以分为两种: 该程序该版本固有的,只要使用就存在漏洞 配置不当发生的,或者说基于配置可以避免,比如默认账号密码 中间件漏洞是指网站运行过程中依赖的服务器容器、代理、插件以及开发库等存在漏洞导致网站出现w
阅读全文
摘要:1、介绍 目录遍历漏洞,也称为目录穿越,是指可以遍历查看非公开访问的,位于网站目录下或系统中的全部或部分文件。属于信息泄漏的类型之一 目录遍历有两种形式: 基于业务代码查询,而未限制参数,导致可以查询非公开文件 由于服务器容器等中间件,未严格过滤敏感字符,导致超出边界查询 2、查询目标 当前网站的配
阅读全文
摘要:1、介绍 响应注入漏洞,是指的攻击者可以控制参数,包含在响应中,影响正常执行。 典型的是: 重定向漏洞,输出到location字段 地址类漏洞,输出到响应头部或响应体部的地址类参数 会话固定漏洞,输出到set-cookie 响应拆分漏洞 xss漏洞,直接或间接参与脚本构造 json劫持 除此之外,还
阅读全文
摘要:1、介绍 地址类漏洞指的是,可以由攻击者控制的地址类参数 导致页面重定向到攻击者控制网站,进行钓鱼 或者将敏感数据发送给攻击者 加载攻击者指定的资源,比如脚本、iframe,替换下载资源,替换图片进行钓鱼,尤其是联系方式或支付信息 重定向漏洞属于地址类漏洞的一种场景。 2、输入 (1)直接输入,反射
阅读全文
摘要:1、介绍 重定向漏洞,也称为url跳转漏洞。 当请求的url中存在某绝对路径的url参数,作为响应的location字段的值。如果攻击者可以控制该参数,使其为攻击者控制的站点中的页面。由此,使得受害者用户跳转访问,攻击者可以进行钓鱼活动。 如果跳转前url包含敏感信息,那么其将会在referer字段
阅读全文
摘要:1、介绍 越权,分为水平越权和垂直越权。 水平越权: 登录后,操作其它用户的资源或访问其它用户非公开的数据 垂直越权: 未登录时,操作或访问某用户需要登录的资源;登录后,操作或访问需要更高权限的资源,比如管理员 2、测试 (1)越权并不区分token,还是cookie。 (2)水平越权测试 当前登录
阅读全文
摘要:1、介绍 这里的验证码是指在注册、登录、找回密码、重要操作验证身份时,服务端向用户的手机或者邮箱发送验证码,用户输入匹配成功以验证身份。 验证码爆破漏洞,是服务端未进行次数和时间限制,或者允许的范围过大。导致攻击者可以反复尝试不同的验证码,以获取到正确的验证码。 2、测试 如果是真实攻击环境,一般会
阅读全文
摘要:1、介绍 ssrf,server-server request forgery服务端对服务端的请求伪造,有时也理解为server side request forgery服务端侧的请求伪造。 指服务端借助用户请求中的参数,向服务器内部或者其他服务器发起请求,而这个过程对发起方是信任的,导致出现危害。
阅读全文
摘要:1、介绍 csrf,cross script request forgery跨站请求伪造。利用目标域对用户的信任,只检查登录凭证而不进一步检查referer字段,被攻击者伪造请求提交,造成危害。 具体来说: 受害者用户登录目标域,获得登录凭证cookie,缓存到浏览器中 受害者用户在同一浏览器下,由
阅读全文
摘要:1、介绍有两种线程池方案。各线程持续存在,从任务池获取任务进行执行按照需求创建线程,每个线程只执行一个任务,结束完毕则该线程结束 2、准备(1)任务池task_list任务池是用于准备各任务单元的环境,比如http爆破时的请求参数,读写文件时的路径。任务池的准备可能会占用一定时间,边准备边使用为好任
阅读全文
摘要:1、介绍 多线程同时访问和操作同一资源,可能会造成数据错误。 脏读: 脏读最大的问题就是可能会读到不存在的数据。 幻读: 幻读侧重的方面是某一次的 select 操作得到的结果所表征的数据状态无法支撑后续的业务操作 不可重复读: 在一个事务内,最开始读到的数据和事务结束前的任意时刻读到的同一批数据出
阅读全文
摘要:1、线程和进程计算机资源,指的是cpu计算资源、内存资源、接口读写资源等。进程:计算机中用于分配资源的最小个体。不同进程之间并不共享内存。线程:是进程内部的资源分配对象,一个进程最少会有一个线程。同一进程下的不同线程可以共享内存。 2、并行和并发并行:同一时间段,交替前行。并发:同时发生。对于单核C
阅读全文
摘要:脚本语言系列之Python | Python反射 - 知乎 (zhihu.com) 1、基本使用 hasattr(obj,name_str) 判断输入的name_str字符串在对象obj中是否存在(属性或方法),存在返回True,否则返回False。 getattr(obj,name_str) 将按
阅读全文
摘要:(1)在windows中,有效路径为: c: d:/ e:\ e:\git e:/git 转为e:\git 不能双写\\或者// (2)url https://i.cnblogs.com/ (3)python中 os.listdir(pa) 如果是直接调用,参数pa=”i:”,获取的就是i:下的子文
阅读全文
摘要:1、说明 \n:换行符,跳到下一行 \r:回车,跳到当前行的首部,\r会占据一个字符长度 windows下enter是 \r\n; linux/unix下是\n; mac下是\r 网络协议的头部字段间隔也是\r\n 2、比较分析 print('abc123zzz') print('abc\n123\
阅读全文
摘要:1、语法错误和异常语法错误是在代码执行前可以检测的,由于不符合代码语法规范引起的异常指程序运行过程中导致的超出预期处理能力的情况 常见的异常: 0作为除数 未定义的对象被直接使用,比如参与运算或者调用其属性和方法 str类型直接和非str类型相加 输入输出与系统异常等 异常有两种处理方式:直接捕获进
阅读全文
摘要:1、变量的标识符 遵循python的基本标识符规范,即由数字、字母和下划线组成,首字符不能为数字 一般由一个或多个单词组成,之间由下划线连接。比如name,first_name 一般是各单词全小写,如果单词连续,则除了首个的其它单词首字符大小,即驼峰命名。比如tabwidget_rightMenu
阅读全文
摘要:1、类和函数的管理 如果只是少数的类或函数,可以将其写入到一个py文件中,相互之间直接使用即可。 但是,通常的项目往往涉及到非常多的类和函数,将其写入到一个py文件中是不适宜的,太过繁杂,且不便进行管理。 python中支持模块和包机制进行管理。 模块:一个py文件即可称为一个模块,其中可以定义关系
阅读全文
摘要:参考:https://blog.csdn.net/zhouzhiwengang/article/details/119677637 1、继承python支持类继承,在子类类名后的圆括号()中声明继承的父类,如果没有继承,则可以不加()。支持多继承,直接写入多个类名,用,分隔。如果没有指定基类,pyt
阅读全文
摘要:1、类python中使用关键字class声明类。在类中,可以有变量和方法。 class Stu: def __init__(self, name, age=15): self.name = name self.age = age def is_adult(self): if self.age >=
阅读全文
摘要:1、介绍 def 函数名(参数列表): 函数体 在python中,可以直接在.py文件中,通过关键字def创建函数。 2、函数与解释型 python是解释型编程语言,从上到下解析,所以在调用函数时,该函数必须已经被声明。 如果是在函数B声明之前,py文件中直接调用B,那么pycharm会提示异常 如
阅读全文
摘要:1、介绍 python3中,只有while结构,没有do...while结构。 while结构,当判断条件为True时,一直执行结构体内部的代码。 2、结构 while 条件: # 执行代码1 else: # 执行代码2 else结构: else结构是可选的,如果存在,表示当while循环正常结束时
阅读全文
摘要:1、介绍 phpstudy,是一个用于快速安装配置php,及相关组件(数据库、服务器容器)的应用。 小皮面板(phpstudy) – 让天下没有难配的服务器环境! (xp.cn) 2、安装 (1)下载phpStudy_64.zip。 (2)解压,双击phpstudy_x64_8.1.1.3.exe
阅读全文
摘要:1、介绍 Vulhub是一个基于docker和docker-compose的漏洞环境集合,进入对应目录并执行一条语句即可启动一个全新的漏洞环境,让漏洞复现变得更加简单,让安全研究者更加专注于漏洞原理本身。 其当前版本支持apache、tomcat、iis等常见的漏洞常见。 Vulhub - Dock
阅读全文
摘要:1、介绍 docker-compose是一个用来定义和运行复杂应用的docker工具。 其使用一个配置文件来管理多个Docker容器,在配置文件中,所有的容器通过services来定义,然后使用docker-compose脚本来启动,停止和重启应用,和应用中的服务以及所有依赖服务的容器,非常适合组合
阅读全文
摘要:1、介绍 docker是一个开源的软件部署解决方案;也是轻量级的应用容器框架;可以打包、发布、运行任何的应用。 docker包括三个基本概念:镜像Image、容器Container、仓库Repository docker系统有两个程序:docker服务端和docker客户端。 其中docker服务端
阅读全文
摘要:1、介绍 apt(Advanced Packaging Tool)是一个在 Debian 和 Ubuntu 中的 Shell 前端软件包管理器。 apt 命令提供了查找、安装、升级、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。 apt 命令执行需要超级管理员权限(root)。 apt
阅读全文
摘要:1、yum命令 1.1 介绍 yum,yellow dog updater modified是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。(在centos中,默认使用该工具而非apt) 基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安
阅读全文
摘要:1、用户和组 用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。 每个用户账号都拥有一个唯一的用户名和各自的口令。 用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。 2、用户 2.1 添
阅读全文
摘要:1、ls 单词list的缩写,列举当前目录下的文件。 ls 列举文件 ls -a列举所有文件,包括.和.. ls -l列举ls涉及文件的详细信息,可以和-a同时使用 ls -S 根据文件大小排序 ls -t 根据更新时间排序 ls a* 列出以a开头的文件,如果是目录,会列出目录以及目录的一级子文件
阅读全文
摘要:1、介绍 各种linux发行版本之间遵循基本一致的文件命名和使用规则,目录本身不具备特殊性,而是系统默认运行、安装、配置等会将文件保存在各个约定的目录下,建议用户也遵循这一约定,方便管理。 2、默认目录 (1)bin binaries二进制文件的缩写,存放的是普通命令。比如cat,cd (2)sbi
阅读全文
摘要:1、介绍 在linux中,一切皆文件,即通过对文件的操作实现不同功能。(ll命令查看) 目录是文件、网络访问也是文件、硬件设备还是文件。 2、文件属性 (1)文件类型 第一个字符表示文件类型: d对应目录、-对应文件、l对应链接文档, b表示为装置文件里面的可供储存的接口设备(可随机存取装置); c
阅读全文
摘要:Linux 教程 | 菜鸟教程 (runoob.com) 1、操作系统 技术的发展从根本上来说,是因为需要而形成的。操作系统也是如此。 所谓操作系统,就是对三类对象服务的特殊程序: 对普通用户,提供文件管理系统和统一规范的交互方式,分为命令式和图形化 对开发者,提供对底层资源统一的调用方式,协调各程
阅读全文
摘要:1、介绍 在云服务器准备好后,可以配置域名解析到云服务器的主机ip。但是阿里云、腾讯云、百度与等云服务器平台几乎都要求域名是自己平台管理,然后才能解析到平台下的云服务器。 2、流程 准备云服务器,注意某些云服务器是不具备公网ip的,只是作为内网的服务器 平台下购买域名,便宜的可能几块钱一年,做测试用
阅读全文
摘要:1、介绍 安全组是每一个云服务器平台都会配置的,用于管理是否允许连接服务器。 百度云安全组文档:创建安全组 – 云服务器BCC | 百度智能云文档 (baidu.com) 2、配置入口 (1)登录百度云后,点击控制台 (2)查看云服务器 (3)查看实例的详情 (4)查看和配置安全组 3、配置规则 (
阅读全文
摘要:1、介绍 云服务器(Elastic Compute Service, ECS)是一种简单高效、安全可靠、处理能力可弹性伸缩的计算服务。用户无需购买硬件,直接购买服务即可获取由运营商提供的远程主机,自带公网ip和联网能力,可以进行相关部署和使用。 常见的运营商(用过): 阿里云 腾讯云 华为云 百度云
阅读全文
摘要:1、介绍 需求:编程过程中,开发者需要能够快速确认变量的类型,以及ide工具能够确认变量类型,对变量的属性和方法进行提示。 问题:python是弱语言类型,不进行显式的类型声明,当直接赋值确定类型时,开发者和ide工具都能够很好的进行确认类型。 但是当一个变量被动态赋值,比如方法或函数中的形参、对象
阅读全文
摘要:1、介绍 渗透测试存在几个特征:业务需求庞大,优化实现的需求动力充足,业务需求持续增长。 换句话说,渗透测试很难保持固定的代码,而是需要频繁迭代。 因此,提出poc框架进行开发: ui和业务逻辑分离。ui基本保持不变,相对固定的输入、操作和输出。业务优化和需求实现增加主要依靠业务逻辑代码实现 动态获
阅读全文
摘要:1、介绍 定义Request、Response和Url类分别用于管理http请求、响应和url的数据与方法。 这三个类所对应的数据和方法,在渗透测试业务中应用非常广泛,同时存在高度的定制化需求,比如Request的id对象属性、send_time和wait_time对象属性等。 而同时,reques
阅读全文
摘要:1、介绍 sys.py文件,对应sys模块,是python的一个标准模块。 该模块提供对解释器使用或维护的一些变量的访问,以及与解释器强烈交互的函数 2、模块变量 2.1 argv list[str]类型,用于接收命令行参数 py文件的执行,可以看做是python指令,其后指定py文件以及其它参数
阅读全文
摘要:1、介绍 该模块是python的自带模块,可以用于获取函数或方法的形参等数据。 2、 import inspect def fun(name='abc', **vardict): print(name) print(inspect.signature(fun)) print(type(inspect
阅读全文
摘要:1、介绍 (1)Properties类 通用的properties数据类型,即不预设sep1和sep2,也不预设是否大小写敏感,不预设是否对键和值去除首尾空白字符。 该类也是其余类的父类,定义属性和方法。部分属性和方法可能被继承重写,而其它则可以直接使用。 (2)Headers类 头部字段,sep1
阅读全文
摘要:1、介绍 1.1 数据结构 properties数据指的是一组或多组键值对数据结构,list[list[str, str]]。 二维数组结构,其中一维的元素是长度为2的list,二维的元素是str类型,分别表示键和值。 1.2 场景 在诸多业务场景中,存在使用properties数据的需求。 配置文
阅读全文
摘要:文本标记问题 - 挖洞404 - 博客园 (cnblogs.com),根据前面的阐述,进一步解决标记问题。 1、两种场景 一是基于命令行,可以通过直接给出各参数点的起止索引,可以给出参数名称进而标记对应的值,可以给出文本匹配进行标记,可以自动的根据策略进行标记。 二是基于gui,除了以上四种方式,还
阅读全文
摘要:1、介绍 keyword.py是python关于关键字的一个模块。 2、模块变量 2.1 kwlist kwlist = [ 'False', 'None', 'True', '__peg_parser__', 'and', 'as', 'assert', 'async', 'await', 'br
阅读全文
摘要:1、一些思路 避免使用超多的按钮、单选或复选框,适当使用右键菜单或下拉列表,可以减少ui空间占用,同时方便进行迭代更新。 针对表格、list、下拉列表等组件,对于多行待显示数据的情况,可以采用搜索文本框进行快速查找 tab组件和group组件,用于管理。前者可以使得布局可用范围增多,避免过于紧促 适
阅读全文
摘要:1、介绍 文本标记是一个常见的业务场景,比如爆破标记参数、xss标记参数、验证码标记,等等。 2、实现标记的几种思路 2.1 纯标记字符 措施是在样本文本中,使用标记字符进行插入标记。 (1)单标记还是双标记 所谓单标记,即一个参数点对应一个标记字符,一般在原参数点的文本之后。而双标记,是一个参数点
阅读全文
摘要:Pandas 教程 | 菜鸟教程 (runoob.com) 1、介绍 Pandas 是一个开放源码、BSD 许可的库,提供高性能、易于使用的数据结构和数据分析工具。 Pandas 可以从各种文件格式比如 CSV、JSON、SQL、Microsoft Excel 导入数据。 2、Series类 这是一
阅读全文
摘要:1、xml格式 (1)items作为根节点,具有burpVersion、exportTime两个属性,分别表示burp版本和导出时间 (2)item作为itmes的子节点,表示一组请求-响应 (3)item内包括多个字节点: time,表示时间,cst格式 url, host,例如static.de
阅读全文
摘要:1、介绍 对应整个xml结构。 2、初始化 class ElementTree: def __init__(self, element=None, file=None): self._root = element # first node if file: self.parse(file) elem
阅读全文
摘要:1、介绍 对应节点对象 2、初始化 class Element: tag = None attrib = None text = None tail = None def __init__(self, tag, attrib={}, **extra): “tag”-包含元素名称的字符串。 “attr
阅读全文
摘要:Python3 XML 解析 | 菜鸟教程 (runoob.com) Python 标准库之 xml.etree - Awakenedy - 博客园 (cnblogs.com) 1、介绍 通过python3自带的xml.etree.ElementTree模块可以实现对xml的操作。 XML是一种固有
阅读全文
摘要:1、介绍 pycharm是由jetbrains所开发的,用于python的开发工具。目前还是可以免费使用。 PyCharm: the Python IDE for Professional Developers by JetBrains 2、工作空间 pycharm是基于项目的,也可以说是工作空间。
阅读全文
摘要:1、tab打开文本框 notepad++、pycharm打开文本框,tab标签显示的是文件名,而非路径名。 这样节约了tab显示空间,一般来说使用者能够确定打开文件所在目录,但是程序应当有一个dict对象,存储tab标签与对应的绝对路径,以便对文件进行读写操作。 2、树组件节点的单击和双击 (1)一
阅读全文
摘要:1、介绍 和一般api开发类似,pyqt5也可以将复用程度高的代码提取出来编写为模块。 一般可以分为两个角度: 对某一原生组件的使用,主要是QTableWidget、QTreeWidget、QListWidget和QComboBox 对几个组件的联合使用,比如搜索、比较、按钮状态控制等 2、具体 2
阅读全文
摘要:1、参考 参考现有的ui、模块、算法、步骤,吸收精华,尝试优化,融合进自己的框架 承认别人造的轮子是有可取之处的,完全的闭门造车是对开发结果的不负责 但是,是借鉴而不是照抄。从文档和注释、命名习惯、优化空间、与自身框架和编程语言的兼容性等,都要求具有自己的思考过程和实现 2、开发步骤 (1)考虑能否
阅读全文
摘要:1、介绍 根据匹配规则文本和是否正则标志,对待搜索文本进行搜索处理,结果为list[list[int, int]]类型,即各搜索结果的开始索引和结束索引。 在组件中对搜索结果进行标记,并根据当前索引跳转到指定位置和进行提示标签输出。 (1)GUI 由一个QPlainTextEdit组件获取待搜索文本
阅读全文
摘要:1、介绍 需求:有时候需要比较两个文本,看有什么异同。 在渗透过程中分析响应变化很实用,可以快速定位不同区域,比如在xss分析过程,或者定位一次性token 另一个场景,是对文件与文件的字节进行比较,用于学习文件结构,以及分析图片木马、加壳、后缀名修改等操作的影响 比较算法,将两个文本分别进行切割成
阅读全文
摘要:1、介绍 该功能包括: (1)根据匹配规则,在搜索文本中匹配。支持是否正则 (2)对匹配结果,在文本框组件中进行字体颜色标记; 标签显示当前索引和总的匹配个数,当前索引范围从1到匹配个数; 光标跳转到当前索引指向的匹配结果 (3)支持上一个,下一个跳转 2、进一步的设计 有考虑过,基于文本框搜索文本
阅读全文