04 2023 档案
摘要:1、介绍 QSplitter类是用于分裂器水平布局或垂直布局,效果是该组件内在水平或垂直方向上的直接子组件,可以用鼠标拖动子组件之间的分界线,以变化各自的宽度或长度。 简单来说,就是在水平布局或垂直布局的固定分配上,允许各组件变化尺寸。 2、类和初始化 class QSplitter(QFrame)
阅读全文
摘要:1、介绍 python3中自带json模块,该模块下提供了dumps、loads、dump和load四个主要的函数。 2、使用 Python进行JSON格式化输出 - 码农教程 (manongjc.com) python - json模块格式化json文件 (ngui.cc) 2.1 dumps d
阅读全文
摘要:1、Set-Cookie和cookies 2、csp 3、x-frame-option 4、x-xss-frame 5、location 6、referer和origin 7、user-agent、xff 作为sql注入参数点、收集用户信息 8、server、x-powered-for 收集服务端信
阅读全文
摘要:同源和跨域 - 挖洞404 - 博客园 (cnblogs.com)
阅读全文
摘要:浏览器执行js脚本 - 挖洞404 - 博客园 (cnblogs.com) 还包括css解析脚本 拓展到vbscript和flash的actionscript
阅读全文
摘要:1、cookie的属性 2、头部字段 Set-Cookie和cookies 3、浏览器存储cookie及查看 4、服务端java和php读写cookie 5、前端js、jquery和meta元素读写cookie 6、token 7、session 8、localStorage
阅读全文
摘要:1、url编码 一般来说,就是先utf-8编码,然后每个字节前加%,但具体哪些字符进行url编码和是否必然是utf-8可能和浏览器相关。 url - 挖洞404 - 博客园 (cnblogs.com) 2、base64编码 3、js转义和编码 4、html实体编码 html实体编码 - 挖洞404
阅读全文
摘要:1、介绍 pyqt支持两种类型的菜单,窗口的菜单和右键菜单。这里阐述右键菜单的使用。 2、右键触发 from PyQt5.QtCore import Qt self.ui.plainTextEdit: QPlainTextEdit self.ui.plainTextEdit.setContextMe
阅读全文
摘要:参考:实践 1-2:多线程读写文件 - l.w.x - 博客园 (cnblogs.com) 得到的结论是,可以多线程读写,但是会有多种情况: 多线程同时读同一个文件,在这种情况下并不会造成冲突 多线程同时写同一个文件,会造成写数据丢失 多线程同时对同一个文件进行写和读,会造成脏读 解决办法是加锁,同
阅读全文
摘要:1、介绍 list组件,或者说列表组件。 2、类和初始化 class QListWidget(QListView): 快速查询: QListWidget(parent: typing.Optional[QWidget] = None) addItem(self, aitem: QListWidget
阅读全文
摘要:之前,一直是designer+pyqt5自带的类进行开发,loadUi加载ui文件。 但,最近考虑在文本框实现行标功能,需要用到一些新的内容,暂记。 参考实现: PyQt5图形界面编程(目录) - 知乎 (zhihu.com) PyQt5图形界面编程 - 知乎 (zhihu.com) PyQt5系列
阅读全文
摘要:1、基础三件套 (1)写文档 (2)编辑注释 包括对方法或函数的使用与返回声明 (3)命名风格统一与适用 2、定义类和函数模块 (1)复用性 (2)项目层次性,避免代码在同一处,造成臃肿 (3)接口性开发,方便以数据角度考虑功能实现和安全处理,也方便团队合作 (4)类方便数据管理 3、定义方法 形式
阅读全文
摘要:1、理解web的范围 从意义上来说,web泛指一切主机与主机之间联系的场景。 (1)从通信介质来说,无线和有线 (2)从网络协议层次上来说,包括数据链路层、网络层、传输层和应用层的各种协议 对应的,包括公网和私网环境 (3)从交互形式来说,分为无中心和有中心,也称为客户端-客户端,与客户端-服务端
阅读全文
摘要:1、 # 在此基础上获取最大长度共同子字符串 sub_len = min_len while s1[s1_index+i: s1_index+i+sub_len] == s2[s2_index+j: s2_index+j+sub_len]: sub_len += 1 # 实际的最大共同子字符串长度
阅读全文
摘要:1、cookie测试 (1)如果存在多个cookie,可以逐项测试,确定必须cookie (2)对cookie可以进行爆破、sql注入、水平越权测试 (3)不同业务下的相同漏洞原理,可以尝试作为不同报告提交
阅读全文
摘要:Nginx漏洞复现与总结 – FreeBuf网络安全行业门户 1、文件解析漏洞 描述:对于任意文件名,在后面添加/xxx.php后,即可作为php解析 影响范围:该漏洞是nginx配置所导致,与版本无关。 按照:phpStudy默认配置Nginx解析漏洞-漏洞复现/渗透测试/网络安全/信息安全/黑客
阅读全文
摘要:Nginx漏洞复现与总结 – FreeBuf网络安全行业门户 介绍: Nginx的目录遍历与apache一样,属于配置方面的问题,错误的配置可导致目录遍历与源码泄露。 原因:配置了autoindex on,导致可以直接访问目录,获取其下的所有文件 解决:配置on为off
阅读全文
摘要:1、漏洞原理 Ngnix在遇到%00空字节时与后端FastCGI处理不一致,导致可以在图片中嵌入PHP代码然后通过访问xxx.jpg%00.php来执行其中的代码. 影响版本 nginx 0.5.* nginx 0.6.* nginx 0.7 <= 0.7.65 nginx 0.8 <= 0.8.3
阅读全文
摘要:Nginx漏洞复现与总结 – FreeBuf网络安全行业门户 (CVE-2017-7529) 1、介绍 在Nginx的range filter中存在整数溢出漏洞,可以通过带有特殊构造的range的HTTP头的恶意请求引发这个整数溢出漏洞,并导致信息泄露。 影响版本 Nginx 0.5.6 – 1.1
阅读全文
摘要:Nginx 文件名逻辑漏洞(CVE-2013-4547) - FreeBuf网络安全行业门户 1、介绍 名称:nginx文件名逻辑漏洞 编号:CVE-2013-4547 原理:当请求如下URI时:/test[0x20]/…/admin/index.php,这个URI不会匹配上location后面的/
阅读全文
摘要:1、介绍 CRLF是”回车+换行”(rn)的简称,其十六进制编码分别为0x0d和0x0a。在HTTP协议中,HTTP header与HTTP Body是用两个CRLF分隔的,浏览器就是根据这两个CRLF来取出HTTP内容并显示出来。 所以,一旦我们能够控制HTTP消息头中的字符,注入一些恶意的换行,
阅读全文
摘要:参考:https://www.freebuf.com/articles/network/227973.htmlhttps://blog.csdn.net/qq294235493/article/details/104494266https://www.cnblogs.com/smartmsl/p/1
阅读全文
摘要:hex函数,参数可以是一个int整数或一个bytes类型元素,转为0x的十六进制字符串形式 with open(file='J:/新建文本文档.txt', mode='rb') as f: s = f.read() print(type(s), s) result = '' for i in s:
阅读全文
摘要:1、低级别 查看服务端提示代码,直接返回未做处理。 <script>alert(/xss/)</script> 2、中级别 查看服务端提示代码,使用htmlspecialchars函数对参数message进行实体编码,使用str_replace函数对参数name进行替代<script>为”。 解决:
阅读全文
摘要:1、低级别 查看服务端代码提示,即直接echo将参数输出到pre标签中。 http://127.0.0.1/dvwa/vulnerabilities/xss_r/?name=az%3Cscript%3Ealert(/xss/)%3C/script%3E 2、中级别 查看服务端代码提示,使用了str_
阅读全文
摘要:1、低级别 查看代码,服务端未做任何处理。因此,地址栏访问: http://127.0.0.1/dvwa/vulnerabilities/xss_d/?default=Englishabc%3Cscript%3Ealert(/xss/)%3C/script%3E 2、中级别 检查前端代码未变化,而后
阅读全文
摘要:该漏洞靶场实际上是比较抽象的,并不符合实际,单纯的也无法利用,而是供予学习思路。 1、低级别 查看服务端提示代码,即请求没有dvwaSession的cookie,则进行初始化cookie,dvwaSession=0。之后逐一递增。(注意这里提示是检查last_session_id的cookie,但实
阅读全文
摘要:1、低级别 查看服务端提示代码,字符型,未做任何保护。 假设不确定服务端情况,测试1’,报sql异常, 测试1″,正常查询与样本一致,分析是单引号字符型。 测试查询字段数 1' order by 2# 确定输出点 1' union select 1,2# 常用函数 1' union select v
阅读全文
摘要:1、低级别 查看服务端提示代码,未做其他安全限制 判断版本,如果正确返回查询存在,否则不存在 1' and version()>5# 1' and version()=5.7# 2、中级别 查看服务端提示代码,id参数作为了数值型 3、高级别 查看服务端提示代码,id作为字符型,后接limit结构,
阅读全文
摘要:初次使用时,提示错误信息 解决:根据提示信息,打开安装dvwa目录下的config.inc.php文件,如果是实际使用的话,这两个项需要正确生成进行填写。但在dvwa中,可以随意填写,保存之后刷新浏览器页面,即可正常使用。 1、低级别 这一步会报错,修改无效,其并不是配置文件的问题。即使将confi
阅读全文
摘要:DVWA_File Upload(文件上传)_全级别_哔哩哔哩_bilibili 准备php的木马文件,命名为up.php <?php eval($_POST['abc']); ?> 1、低级别 可以任意上传,将一句话木马的php文件上传,上传成功。注意windows的防火墙可能会删除本地的php文
阅读全文
摘要:初次使用,可能报错:这是因为没有配置远程包含 1、低级别 查看服务端代码,即直接包含 (2)远程包含 需要先对php进行配置,php.ini文件,配置后需要重启服务 2、中级别 过滤http://等几个字符串,替换为””,通过双写绕过 3、高级别 要求file协议 但是本地仍然可以执行,file:/
阅读全文
摘要:1、介绍 该功能演示的是账号密码场景,对密码的爆破,对账号是已知的。 本章仅进行简单记录,相关技术在其他文章整理。比如burp使用,php代码,python脚本。 2、简单型 没有做任何处理,可以爆破掉,但实际也可以sql注入。(burp爆破由中等演示,sql注入在sql注入模块演示) 3、中等 做
阅读全文
摘要:1、低级别 csrf,get的url形式,参数在url中 可以基于短链接触发 2、中级别 基于string函数,判断host值出现在referer字段中 referer是http协议字段,在file协议中不存在 3、高级别 需要与xss结合 4、不可能级别
阅读全文
摘要:1、说明 从初级和中级、高级,差别是对敏感字符的过滤 不可能级别对参数做切割,将ip地址分作四个且要求都是数字 注意,应该是需要配置才能做命令注入练习
阅读全文
摘要:1、介绍 dvwa是一个基于php+mysql的web漏洞靶场项目,用户可以将其部署在本地,模拟测试和学习。 可以是本地虚拟机安装,也可以考虑本地phpstudy搭建,但不建议将其部署到公共网络的主机上。 phpstudy安装dvwa - 挖洞404 - 博客园 (cnblogs.com) vm+c
阅读全文
摘要:1、环境 Microsoft Windows [版本 10.0.19043.2130] phpstudy_x64_8.1.1.3.exe MySQL5.7.26 Nginx1.15.11 php7.3.4nts 2、下载 解压,将其放入phpstudy的网站根目录下,并将目录重命名为dvwa方便访问
阅读全文
摘要:1、漏洞介绍 说明:永恒之蓝,英文名称EternalBlue,由美国国家安全局开发的漏洞利用程序。由Shadow Brokers影子经纪人组织于2017年4月14日晚公布。 漏洞编号:ms17-010 漏洞环境:windows操作系统 影响范围:目前已知受影响的Windows 版本包括但不限于:Wi
阅读全文
摘要:缓冲区溢出漏洞攻击原理 - 卿先生 - 博客园 (cnblogs.com)
阅读全文
摘要:(177条消息) 提权(概述、水平/垂直越权、windows/linux提权、反弹shell、Linux_Exploit_Suggester、searchsploit)_Fit_Cy029的博客-CSDN博客
阅读全文
摘要:(1)poc 即proof of concept观点证明 (2)exp 即exploit漏洞利用 (3)木马 木马的设计目的是窃取信息,传播主要靠诱骗 (4)病毒 病毒的设计目的是搞破坏,具有自我复制能力,能够感染其他文件以及通过网络感染其他电脑 (5)大马和小马 小马只有木马的最基本功能,只有2k
阅读全文
摘要:1、介绍 vue是一套用于构建用户界面的渐进式框架。与其它大型框架不同的是,vue被设计为可以自底向上逐层应用。Vue的和学科只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。 前端框架三巨头:Vue.js、React.js、AngularJS,前者以轻量易用著称,前两者发展速度最快,后者
阅读全文
摘要:发展 ECMAScrip是浏览器脚本语言的规范,而各种我们熟知的js语言,如JavaScript是es的具体实现。 1997年,为了统一各种不同script脚本语言,ECMA欧洲计算机制造商协会以JavaScript为基础,制定了ECMAScript标准规范。 1998年6月,2.0版本发布。 19
阅读全文
摘要:1、介绍 事件,也可以说是信号,绑定到js代码。当事件发生时,对应的js代码将被执行。 HTML DOM 事件对象 | 菜鸟教程 (runoob.com) 2、三种声明方式 (1)在html元素中声明 <button onclick="alert(/xss/)">点击弹窗</button> (2)j
阅读全文
摘要:HTML 事件 | 菜鸟教程 (runoob.com) JavaScript 事件 | 菜鸟教程 (runoob.com) jQuery 事件 | 菜鸟教程 (runoob.com) 1、介绍 事件,是指由对象引起的变化而发出的信号,可以绑定js函数,从而进行控制。 根据对象:可以是浏览器行为,也可
阅读全文
摘要:1、介绍 同源是指请求的两个url的协议相同、主机名相同、端口号相同,只要一个不同则为不同源,也称为跨域。 实际中,同源的两个url分别指请求的发起方,以及请求的目标。请求的发起方一般指地址栏url,而请求的目标即发送请求报文的url。 2、同源策略 web业务的安全一般会涉及浏览器厂商、服务器容器
阅读全文
摘要:SQL注入如何判断数据库类型 – 百度文库 (baidu.com) 三种数据库的 SQL 注入详解 (xjx100.cn) (1 封私信 / 40 条消息) sql 注入在 mysql 和 sqlserver 中有哪些区别? - 知乎 (zhihu.com)
阅读全文
摘要:参考 系统架构演变 单一应用 当网站流量很小时,只需一个应用,将所有功能都部署在一起,以减少部署节点和成本。此时,用于简 化增删改查工作量的数据访问框架(ORM)是影响项目开发的关键。 无法针对不同模块进行针对性优化 无法水平扩展(负载均衡可以解决) 单点容错率低,并发能力差(负载均衡可以解决) 垂
阅读全文
摘要:介绍 springboot是spring项目中的一个子工程,前者的实现是基于spring的。springboot的特点:“开箱即用”和“约定大于配置” 使用 pom配置1)添加父工程依赖 <parent> <groupId>org.springframework.boot</groupId> <ar
阅读全文
摘要:问题:调用者与被调用者各自具有IP和端口,使用过程中,被调用者需要对外暴露自己的地址,调用者需要记录该地址。如果被调用者地址改变,那么调用者也需要改变自己的记录,非常麻烦。 概念 Eureka负责管理、记录服务提供者的信息。服务调用者无需自己寻找服务,而是把自己的需求告诉Eureka,然后Eurek
阅读全文
摘要:注解 1、spring配置 <!-- 配置一个事务管理器 --> <bean id="transactionManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager"> <!-- 注入DataSo
阅读全文
摘要:使用 1、pom.xml <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>5.1.9.RELEASE</version> </dependency> 2、事
阅读全文
摘要:介绍 Spring JDBCTemplate对jdbc进行了简单的封装,提供了一个JDBCTemplate对象简化JDBC的开发 使用 1、导入jar包 <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jd
阅读全文
摘要:拦截器的定义 (1)实现HandlerInterceptor接口或者继承HandlerInterceptor接口的实现类来定义(2)通过实现WebRequestInterceptor接口或者继承HandlerInterceptor接口的实现类来定义以实现HandlerInterceptor接口实现:
阅读全文
摘要:参考:http://c.biancheng.net/view/4406.html 讨论前端发送请求 1、发送方式常见的有get、post、put和delete其中get方式的发送信息可见,在请求的URL上而其它三种信息不可见,put和delete是特殊的post2、特殊值直接在URL中,类似 htt
阅读全文
摘要:Spring MVC配置 约束 beans约束:spring必须context约束:注解和扫描spring-mvc约束:静态资源、允许跨域以及拦截器 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframe
阅读全文
摘要:介绍 Spring MVC负责处理http请求。内部封装了Servlet和Spring技术。Spring MVC实现了MVC架构。SpringMVC核心: 前后端不分离接收参数 前端映射控制器 跨域配置 静态资源过滤 拦截器 前后端分离接收参数 请求与转发 文件上传 国际化 异常统一处理 Sprin
阅读全文
摘要:注解 1、开启AOP注解 <aop:aspectj-autoproxy/> 2、@Aspect 在类上使用,声明该类是一个切面类 3、通知 @Before("execution(* com.mystudy.service.impl.*.*(..))") @Before("pt1()") (1)通知类
阅读全文
摘要:介绍 AOP,aspect oriented programing,面向切面编程。动态代理:基于JDK和基于第三方cglib spring aop内置了两种技术的实现。 spring aop支持方法级别的增强。 Joinpoint(连接点):可以被拦截的点 Pointcut(切入点):被拦截的点 A
阅读全文
摘要:约束 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-insta
阅读全文
摘要:创建bean对象 Student类: class Student{ private String name; private String className; private Integer age; private Date now; public Student(){} public Stud
阅读全文
摘要:介绍 IOC,inversion of control,控制反转。经典的,我们用关键字new去主动创建对象。而将创建对象的功能交给容器,再根据需要获取就称为控制反转。这里的容器称为IOC容器。 简单案例 1、pom.xml <dependency> <groupId>org.springframew
阅读全文
摘要:1、介绍 2、线程状态 3、创建线程 4、线程方法 5、线程池
阅读全文
摘要:1、介绍 java.lang.Object类是所有类的基类。
阅读全文
摘要:1、介绍 装箱和拆箱 2、Byte 3、Short 4、Integer 5、Long 6、Float 7、Double 8、Character 9、Boolean
阅读全文
摘要:1、抽象 抽象分为抽象类和抽象方法。 1.1 抽象方法 使用关键字abstract定义,只有方法头部,没有方法体部,以;进行结尾。 抽象方法用于声明方法的存在,不负责具体实现,其使用是由继承抽象方法所在类的子类必须重写抽象方法完成。 抽象方法必须在抽象类中。 public abstract void
阅读全文
摘要:1、继承机制 java通过关键字extends进行继承。单继承、多重继承 2、子类调用父类的属性和方法 3、重写机制 4、this和super
阅读全文
摘要:1、介绍 2、StringBuffer 3、StringBuilder
阅读全文
摘要:1、介绍 java字符串可以通过字面量直接创建,也可以通过new关键字创建。这两种方法在存储上存在差异,但是都可以视为String对象,调用String类方法。 String s = "hello, world" String s = new String("hello, abc"); 2、Stri
阅读全文
摘要:1、访问权限修饰符 public: private default protected 2、static 3、final
阅读全文
摘要:1、声明 访问权限 static 返回类型 方法名(参数列表)抛出异常{ //代码 } 2、是否返回 如果是方法是无返回数据,则使用void关键字对返回类型声明。 如果方法有返回值,则应该声明为返回值的数据类型,或者返回值类型的父类型。 3、参数列表 如果方法不需要声明参数,则参数列表不存在,调用该
阅读全文
摘要:1、类 类是模板,具有属性和方法。在java中,可以通过关键字class声明类。 2、对象 对象是类的实例。在java中,有4种方法创建对象。 关键字new 克隆 反射 反序列化 3、调用属性和方法 (1)可以通过类名直接调用静态属性和静态方法 (2)可以通过对象名调用非静态的属性和方法,也可以调用
阅读全文
摘要:1、if if(){} else if(){} else{} 2、switch switch(变量){ case value1:代码;break; case value2:代码;break; default:代码 } 变量类型:byte、short、int、char、String 匹配case成功,
阅读全文
摘要:算术运算符:+、-、*、/、%、++、– 比较运算符:>、<、=、>=、<=、!= 赋值运算符:= 逻辑运算符:&&、||、!,逻辑与和逻辑或都是短路运算符 位运算符:一般未使用 条件?值1:值2 条件为true返回值1,否则返回值2 运算符优先级:推荐使用()进行显式的设置
阅读全文
摘要:1、注释 //单行注释 /*多行注释*/ /** * @param 文档注释 */ 2、关键字 3、标识符 大小写敏感 数字字母、下划线组成,首字符不为数字 一般使用一个或多个单词命名 推荐:常量全大写,其余驼峰命名法,类名的各单词首字母大写,其余字母小写。其他标识符除了首个单词外的单词首字母大写,
阅读全文
摘要:1、数据类型 强数据类型语言,必须指定类型再赋值。可以分为基本数据类型和对象数据类型。 基本数据类型不是对象,没有属性和方法,是java内部直接支持的,有默认值。而对象数据类型有属性和方法,可以为null。 (1)整型 byte、short、int、long分别是1、2、4、8个字节的有符号整数。默
阅读全文
摘要:1、介绍 java是一门面向对象高级编程语言 跨平台 多线程 2、安装 java的运行必须有jre或者jdk支持,在服务端必须进行安装部署。 在本地开发时,可以按照jdk,也可以直接使用开发idea,一般内部有jdk支持。 windows安装jdk: (1)下载安装版本,解压,直接安装 (2)配置环
阅读全文
摘要:1、注释 //单行注释 # 单行注释 /*多行注释*/ 2、关键字 3、标识符 以$开始,后面为变量名称 包含字母、数字、下划线,但不能是数字开始 大小写敏感 4、结构控制 使用{}控制代码块,使用()包围控制结构的条件 5、代码分行 使用;作为代码末尾 如果在一个<?php?>结构体中,只有一行p
阅读全文
摘要:简述php协议,php协议_Bvasn的博客-CSDN博客 14.PHP伪协议利用 - eveplw - 博客园 (cnblogs.com)
阅读全文
摘要:(1)松散比较和严格比较 松散比较:使用两个等号 == 比较,只比较值,不比较类型。 严格比较:用三个等号 比较,除了比较值,也比较类型。 (2)php支持++和-- (3)运算符对数值运算的处理 (4)类型转换 (5)支持三元运算符
阅读全文
摘要:1、介绍 php中使用字符串包含一个或多个字符,用双引号或者单引号包围。 使用.运算符对字符串间进行拼接。 如果是变量,可以直接放在字符串中。 echo "hello"."world!$username" 2、相关函数 (1)md5 md5(string,raw) string,必需。规定要计算的字
阅读全文
摘要:PHP 可用的函数 | 菜鸟教程 (runoob.com) 1、unset 用于销毁给定的变量。 unset($foo1, $foo2, $foo3); 如果在函数中 unset() 一个全局变量,则只是局部变量被销毁,而在调用环境中的变量将保持调用 unset() 之前一样的值。 如果您想在函数中
阅读全文
摘要:include 和 require 语句用于在执行流中插入写在其他文件中的有用的代码。 include 和 require 除了处理错误的方式不同之外,在其他方面都是相同的: require 生成一个致命错误(E_COMPILE_ERROR),在错误发生后脚本会停止执行。 include 生成一个警
阅读全文
摘要:1、介绍 fopen() 函数用于在 PHP 中打开文件。 此函数的第一个参数含有要打开的文件的名称,第二个参数规定了使用哪种模式来打开文件 模式 描述 r 只读。在文件的开头开始。 r+ 读/写。在文件的开头开始。 w 只写。打开并清空文件的内容;如果文件不存在,则创建新文件。 w+ 读/写。打开
阅读全文
摘要:1、介绍 通过使用 PHP 的全局数组 $_FILES,你可以从客户计算机向远程服务器上传文件。 第一个参数是表单的 input name,第二个下标可以是 “name”、”type”、”size”、”tmp_name” 或 “error”。如下所示: $_FILES[“file”][“name”]
阅读全文
摘要:1、介绍 php的数组可以是单列的,也可以是键值对,还可以是多维数组。 自 5.4 起可以使用短数组定义语法,用 [] 替代 array() 。 例如: <?php $arr = array('value1','value2','value3'); ?> 从 5.4 起: <?php $arr =
阅读全文
摘要:1、if结构 if (条件) { if 条件成立时执行的代码; } elseif (条件) { elseif 条件成立时执行的代码; } else { 条件不成立时执行的代码; } 2、switch <?php switch (n) { case label1: 如果 n=label1,此处代码将执
阅读全文
摘要:1、介绍 php是弱类型语言,不直接声明,而是依据赋值自动判断。 2、String类型 3、Integer整型 可以是十进制、十六进制或八进制,可以是正负数 4、Float浮点型 支持科学计数法,aeb 5、Boolean布尔型 true或false,也可以是TRUE或FALSE 6、Array(数
阅读全文
摘要:1、介绍 PHP中预定义了几个超级全局变量(superglobals) ,这意味着它们在一个脚本的全部作用域中都可用。 你不需要特别说明,就可以在函数及类中使用。 PHP 超级全局变量列表: $GLOBALS、$_SERVER、$_REQUEST、$_POST、$_GET、$_FILES、$_ENV
阅读全文
摘要:1、接收参数 $_GET[''] $_POST[''] 分别接收get方法、post方法的参数 2、md5 md5('') 对参数进行md5加密 3、isset isset($_GET[ 'Login' ]) 用于检测变量是否已设置并且非 NULL。 4、mysql相关 mysqli_query()
阅读全文
摘要:1、接收变量 $_GET 变量接受所有以 get 方式发送的请求,及浏览器地址栏中的 ? 之后的内容。 $_POST 变量接受所有以 post 方式发送的请求,例如,一个 form 以 method=post 提交,提交后 php 会处理 post 过来的全部变量。 $_REQUEST 支持两种方式
阅读全文
摘要:1、函数 (1)定义函数 使用关键字function定义函数,以字母或下划线开始 function fun(){} (2)参数 function writeName($fname,$punctuation) { echo $fname . " Refsnes" . $punctuation . "<
阅读全文
摘要:1、介绍 PHP,Hypertext Preprocessor,超文本预处理器,是一种创建动态交互性站点的强有力的服务器端脚本语言。 默认扩展名.php 服务端运行,可以包含html和php代码,以html代码返回浏览器 服务端需要安装php php官网:https://www.php.net/ma
阅读全文
摘要:1、介绍 在命令窗口中,输入命令可以获得帮助。 常用的一些命令整理: -h, --help 查看帮助信息 --version 查看版本新 -q, --quiet 退出 -v, --verbose 增加日志详情 --scripts script, -s script 这里的script是.py文件 m
阅读全文
摘要:内容安全策略CSP(Content-Security-Policy)_Cacra的博客-CSDN博客_content-security-policy 1、介绍 Content-Security-Policy,简称csp,是为解决xss设计的。 CSP 的实质就是白名单制度,开发者明确告诉客户端,哪些
阅读全文
摘要:1、Date 属于响应头部字段,用于表明http响应报文在服务端生成的时间,必须是GMT格式 Date: Thu, 20 Oct 2022 05:56:41 GMT 2、Expires 属于响应头部字段,声明该响应资源的过期时间,到期后客户端应该重新请求。 expires: Fri, 01 Jan
阅读全文
摘要:1、Host Host属于请求头部字段,用于表示请求报文的url的主机和端口情况。 如果端口是协议默认端口,可以省略,也可以保留。 Host: www.baidu.com Host: www.hbjycg.com:8080 2、Referer referer用于表明发起请求的框架url,包含完整的u
阅读全文
摘要:1、User-Agent User-Agent用于表明浏览器的情况,包括操作系统,浏览器类型及版本,浏览器内核和版本 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko
阅读全文
摘要:1、协议/版本 协议一般为http,注意http报文中不区分http/https,或者只是http http版本主要有0.9、1.0、1.1和2.0,目前浏览器一般具备和使用1.1. 版本用于指导浏览器和服务器通信过程中涉及的请求方法和头部字段,一般来说,后者版本实现向前覆盖,增加请求方法和头部字段
阅读全文
摘要:1、介绍 一共有九种,在请求报文中是全大写。http1.0定义head、get和post,http1.1增加其余六种。 如果在burp的repeater模块,小写请求方法,常见的是会报400异常。必须全大写 在wireshark和浏览器中,请求方法都是大写。 2、GET 用于请求资源。场景: 超链接
阅读全文
摘要:1、介绍 http响应状态码在响应报文中,由服务端设置返回给客户端,是一个三位数字的代号,用于说明请求处理情况。 而描述符是一个简短的文本,与状态码一 一对应,进行简单描述。 响应状态码可以分为五类:1xx、2xx、3xx、4xx和5xx。每一个分类为整百,表示该类核心意义。 2、1xx (1)10
阅读全文
摘要:1、session session机制是服务器将需要在不同请求间沟通的数据保存在服务端,这块内容称为session,而仅仅将session的id返回给浏览器,浏览器下次请求时携带id,服务端在其本地进行读取解析。 比较: 信息存储在客户端,有危险。而session的信息存储在服务端 cookie有大
阅读全文
摘要:参考:https://developer.mozilla.org/zh-CN/docs/Web/HTTP 1、Accept和Content-Type (1)Accept Accept字段用于在请求中向服务器告知浏览器期待接受的mime响应类型。 对于没有文件后缀名的接口请求来说,浏览器默认是设置为*
阅读全文
摘要:HTTP | MDN (mozilla.org) 第一章 HTTP协议及网络基础 · HTTP 协议学习 · 看云 (kancloud.cn) 1、介绍 http,hypertext transfer protocol超文本传输协议,是www网络的重要组成部分,用于浏览器和服务器的应用层通信。 默认
阅读全文
摘要:1、介绍 windows下的tracert命令和linux下的traceroute命令,都可以用于探测到目标网络之间的中间ip情况。 1.1 tracert命令 (1)使用帮助 target可以是ip,也可以是域名。为域名时会先由DNS进行解析,然后再测试ip (2)使用示例 *表示无返回,可能是中
阅读全文
摘要:1、介绍 ping命令,Packet Internet Groper,是因特网下的一个网络探测命令,windows和linux均存在。 1.1 windows下 (1)使用帮助 target可以是ip,也可以是域名。为域名时会先由DNS进行解析,然后再测试ip (2)统计信息 可以获取: 发送数、接
阅读全文
摘要:1、基本 2、https 不确定是否是wireshark自动对https的http部分进行解码,但是可以确定wireshark可以捕获https协议数据,标志是Transport Layer Security层,可以直接查看头部内容和体部内容。
阅读全文
摘要:1、介绍 属于应用层协议,用于查询域名对应的ip地址。分为请求和响应报文。 一般来说,局域网中的主机查询dns,都是直接与备注的域名服务器进行通信,而不会直接与外部dns通信。 比如我这里本地主机是192.168.0.18,dns报文都是与192.168.0.1交互,即使是查询完全陌生的域名也是如此
阅读全文
摘要:参考:http://c.biancheng.net/view/6399.html 1、介绍 ICMP,Internet Control Message Protocol网络控制消息协议。用于在 IP 主机和路由器之间传递控制消息,描述网络是否通畅、主机是否可达、路由器是否可用等网络状态。 一般可分为
阅读全文
摘要:详解 TCP 连接的“ 三次握手 ”与“ 四次挥手 ” (baidu.com) (20 条消息) 关于三次握手和四次挥手,面试官想听到怎样的回答? – 知乎 (zhihu.com) TCP三次握手和四次挥手详解_sutong_first的博客-CSDN博客_三次握手和四次挥手 1、三次握手 (1)客
阅读全文
摘要:TCP 报文详解_测试开发-海励的博客-CSDN博客_tcp报文 1、介绍 tcp,transmission control protocol传输控制协议是一种传输层协议,向上为http/https等服务,向下由ip协议支持。 2、数据格式 (1)源端口,2字节 (2)目的端口,2字节 (3)序列号
阅读全文
摘要:1、介绍 udp,user datagram protocol用户数据报协议,属于传输层协议。上层是dns等应用层协议,下层是ip协议。 2、结构 (1)源端口号,2字节 (2)目标端口号,2字节 (3)总长度,2字节,单位是字节 (4)校验值,2字节,保证数据安全 3、wireshark
阅读全文
摘要:1、介绍 ip数据报,也称为ip包,ip分组。 IP协议屏蔽了下层各种物理子网的差异,能够向上层提供统一格式的IP数据报。lP数据报采用数据报分组传输的方式,提供的服务是无连接方式。 tcp和udp的网络层都是基于ip数据报。 2、数据报格式 前面部分为固定的20字节,后面可变部分,长度可变 (1)
阅读全文
摘要:1、介绍 mac帧是工作在数据链路层的数据格式,用于传递网络层的消息。 2、帧格式 最常用的mac帧,是以太网v2的格式 前导码,7字节,都是0x55,即0101 0101 帧起始,1字节,1010 1011 目的mac地址,6字节 源mac地址,6字节 类型,2字节,表示上一层的协议类型 ipv4
阅读全文
摘要:1、介绍 arp,address resolution protocol地址解析协议,是根据ip地址获取物理地址的一个tcp/ip协议,也是局域网中相邻主机通信使用的一个必要协议。 2、工作过程 (1)主机A期待与主机B通信,知道主机B地址。(一般主机A代表路由器或者网关设备,而主机B代表局域网中的
阅读全文
摘要:1、介绍 端口是osi协议模型中第四层传输层所使用的,用于标识系统中不同任务的网络通信。 由2个字节组成,范围0-65535。一个端口可以同时被一个udp和一个tcp注册监听。 2、分类 0-1023:周知端口。 某些系统协议使用固定的端口号,它是不能被改变的,比如139 端口专门用于NetBIOS
阅读全文
摘要:1、介绍 ipv4地址是一组32位比特组成的地址,用于在OSI协议的第三层标识网络设备身份。 一般采用点分十进制书写。比如127.0.0.1。 2、网络号和主机号 一个ip地址的32位可以分为网络号和主机号两个部分,将庞大的网络整体分为多个网络号管理的小型局域网络,主机号则是该子网络下的主机分配。由
阅读全文
摘要:1、介绍 MAC地址,media access control address媒体访问控制地址,也称为局域网地址、以太网地址、物理地址。用于OSI模型中的第二层数据链路层,以网卡的形式为局域网中的网络设备(主机)进行标识身份。 如果网络设备有多个网卡,则每个网卡都需要一个唯一的MAC地址。 2、组成
阅读全文
摘要:1、介绍 dns,domain name system域名系统,是为了解决ip地址不方便记忆和描述,也不支持跨ip,跨地区部署的问题。 2、域名 域名是分级进行管理,各级域名之间使用.进行分隔。 一级域名也称为顶级域名由特定机构管理。 com top cn … 3、域名注册和使用 (1)准备ip和主
阅读全文
摘要:1、介绍 https,Hypertext Transfer Protocol Secure超文本传输协议安全层。 HTTPS 协议是由 HTTP 加上 TLS/SSL 协议构建的可进行加密传输、身份认证的网络协议,主要通过数字证书、加密算法、非对称密钥等技术完成互联网数据传输加密,实现互联网传输安全
阅读全文
摘要:1、定义 计算机网络:由计算机终端和连接用线路、中间设备组成的网络,作用的共享、互连。 internet:互联网 Internet:因特网,最大的互联网 WWW:由http、https为核心协议,浏览器-服务器组成的网络。是Internet的一部分。 2、网络类型 个人网、局域网、城域网 3、网络分
阅读全文
摘要:1、介绍 典型的响应拆分漏洞,是指的http响应字段拆分漏洞。 即服务端动态将参数写入返回给用户的响应的头部字段中,该参数可以被攻击者控制,使包含\r\n这两个用于分隔不同响应头部行的字段或者\r\n\rn用于分隔响应头部与响应体部字段,同时写入响应过程未被阻止,那么用户接收到响应时,浏览器就会错误
阅读全文
摘要:mitmproxy介绍、特征、工具以及示例 – pytorch中文网 (ptorch.com) 1、介绍 mitmproxy是一个python的项目,可以实现为HTTP/1,HTTP/2和WebSockets提供交互式的,具有SSL/TLS功能的拦截代理。 基于pip进行安装,然后可以提供三种形式的
阅读全文
摘要:windows c:/boot.ini //查看系统版本 c:/windows/php.ini //php配置信息 c:/windows/my.ini //MYSQL配置文件,记录管理员登陆过的MYSQL用户名和密码 c:/winnt/php.ini c:/winnt/my.ini c:\mysql
阅读全文
摘要:1、初始 在授权情况下,从客户获取测试的主体、域名、ip、端口和路径信息。 2、主体、域名和ip 2.1 主体 主体是指的工商备案的公司或组织,据此可以查询官网和备案域名。 2.2 域名 一个主体下可能有多个域名,包括不同的二级域名、一级域名以及子域名。 搜索引擎,site语法 一级域名和子域名爆破
阅读全文
摘要:1、介绍 这是pyqt的消息框组件,可以弹窗错误报告、警告、信息提示、询问对话框。 2、错误报告 QMessageBox.critical( self.ui, '错误', '请选择爬取数据存储路径!') 3、警告 QMessageBox.warning( self.ui, '阅读太快', '阅读客户
阅读全文
摘要:1、介绍 这是pyqt的对话框输入组件。 2、使用 getText弹出对话框,让用户输入 单行文本 getMultiLineText弹出对话框,让用户输入 多行文本 getInt弹出对话框,让用户输入 整数 getItem弹出对话框,让用户选择 选项 from PySide2.QtWidgets i
阅读全文
摘要:1、介绍 这是pyqt的文件选择窗口。 2、使用 (1)单一文件选择 getOpenFileName(parent: QWidget = None, caption: str = '', directory: str = '', filter: str = '', initialFilter: st
阅读全文
摘要:1、正则语法工具 支持python\java\php\js等语言的正则,可以设计正则规则,观察对样本文本的处理结果,以及对批量样本的处理结果 支持各语言的正则语法使用提示,以及对正则规则的功能进行中文阐述 支持常用功能的正则收集,比如请求报文解析、url解析、手机号判断、邮箱判断、ip判断等等 2、
阅读全文
摘要:1、渗透分类 1.1 手工和自动化 (1)手工测试 主要是基于浏览器和burp工具,可以进行高度自由的参数设置和响应加载查看。 优点是过程灵活,请求量少,频率低,对于逻辑性要求强的漏洞有很好的效果。 缺点是任务量大,部分漏洞类型测试枯燥,可能遗漏。另一方面,针对验证码爆破这类时效性要求高的测试是无法
阅读全文
摘要:1、介绍 type本身是内建模块中的一个类,其主要作用是用于判断变量的数据类型。 2、类 class type(object): def __init__(cls, what, bases=None, dict=None): """ type(object_or_name, bases, dict)
阅读全文
摘要:1、介绍 python3中,可以使用函数len获取容器对象的长度,比如str字符串、list列表等。 2、函数 def len(*args, **kwargs): pass 返回类型为int,如果长度为0,则就返回0 不能对非容器变量使用,会报错,比如int、None值 3、示例 # 不能对非容器变
阅读全文
摘要:1、介绍 range是一个类,用于帮助for循环。 2、类 class range(object): """ range(stop) -> range object range(start, stop[, step]) -> range object """ def __init__(self, s
阅读全文
摘要:1、介绍 python3中,可以通过内建模块的open函数,进行文件的读写,以及创建文件。 2、函数 open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=N
阅读全文
摘要:1、介绍 python3中,使用bytes类处理字节数据。 2、类 class bytes(object): """ bytes(iterable_of_ints) -> bytes bytes(string, encoding[, errors]) -> bytes bytes(bytes_or_
阅读全文
摘要:1、介绍 菜单栏组件。这里指的是QMainWindow窗口顶部水平的菜单栏。 2、类和初始化 class QMenuBar(QWidget): """ QMenuBar(parent: QWidget = None) """ def __init__(self, parent=None): pass
阅读全文
摘要:QTabWidget 详解 – fengMisaka – 博客园 (cnblogs.com) 1、介绍 标签页组件。 2、类和初始化 class QTabWidget(QWidget): def __init__(self, parent=None): pass 3、属性 4、常用方法 (1)add
阅读全文
摘要:self.window.tableWidget_2: QTableWidget self.window.tableWidget_2.setColumnCount(7) self.window.tableWidget_2.setHorizontalHeaderLabels(['名称', '所在目录',
阅读全文
摘要:1、介绍 树形组件。实际上树组件很多特性和表格组件类似。 2、类和初始化 class QTreeWidget(QTreeView): """ QTreeWidget(parent: QWidget = None) """ def __init__(self, parent=None): pass 快
阅读全文
摘要:1、介绍 这是pyqt的纯文本多行输入组件。 2、类和初始化 class QPlainTextEdit(QAbstractScrollArea): """ QPlainTextEdit(parent: QWidget = None) QPlainTextEdit(str, parent: QWidg
阅读全文
摘要:1、介绍 这是pyqt的多行文本输入组件,支持html、markdown的修饰样式。 2、类和初始化 class QTextEdit(QAbstractScrollArea): """ QTextEdit(parent: QWidget = None) QTextEdit(str, parent:
阅读全文
摘要:1、介绍 单行文本输入组件。 2、类和初始化 class QLineEdit(QWidget): """ QLineEdit(parent: QWidget = None) QLineEdit(str, parent: QWidget = None) """ def __init__(self, *
阅读全文
摘要:1、介绍 字体下拉列表 2、类和初始化 class QFontComboBox(QComboBox): """ QFontComboBox(parent: QWidget = None) """ def __init__(self, parent=None): pass 3、属性 AllFonts
阅读全文
摘要:1、介绍 下拉列表 2、类和初始化 class QComboBox(QWidget): """ QComboBox(parent: QWidget = None) """ def __init__(self, parent=None): pass 快速查询: QComboBox(parent: ty
阅读全文
摘要:1、介绍 对话按钮框。提供两个按钮,进行选择。 2、创建和初始化 class QDialogButtonBox(QWidget): """ QDialogButtonBox(parent: QWidget = None) QDialogButtonBox(Qt.Orientation, parent
阅读全文
摘要:1、介绍 一般按钮。 2、类和初始化 class QPushButton(QAbstractButton): """ QPushButton(parent: QWidget = None) QPushButton(str, parent: QWidget = None) QPushButton(QI
阅读全文
摘要:1、介绍 该类定义了不同按钮类型的公共方法。其他按钮类型继承该类。 2、类和初始化 class QAbstractButton(QWidget): def __init__(self, parent=None): pass 3、属性 4、方法 (1)text 获取文本,类型为str (2)setTe
阅读全文
摘要:1、介绍 QWidget是几乎所有pyqt显示用组件的直接或间接父类,其声明的属性和方法很具有代表性。 QWidget既可以是窗口组件,独立显示,可以容纳其他组件。也可以是一般组件,被其他组件容纳。 常用的窗口组件包括QWidget、QMainWindow和QDialog。其它组件继承QWidget
阅读全文
摘要:1、介绍 这里介绍pyqt的一般开发过程。 pyqt的开发模式实际有多种,大致有: 一般类中直接创建GUI对象,进行使用 继承GUI类,进行使用 通过designer设计ui,保存为ui文件,然后转为py文件,相当于新的GUI类被使用 通过designer设计ui,保存为ui文件,基于loadUi函
阅读全文
摘要:1、介绍 QMainWindow是一个窗口组件,也是最常用的主窗口。 import sys from PyQt5.QtWidgets import QMainWindow, QApplication from PyQt5.uic import loadUi class my_window: def
阅读全文
摘要:1、介绍 渗透实际是一个永无止境的过程,一般来说,信息收集越广,越深入,可以测试、交叉利用的可能性越高。 在实际中,信息收集是受到多方面影响的,比如时间、精力、重要程度、自身的技术能力等等。 有些收集是必要的,而有些信息的收集看具体情况。有些是预先收集,有些是边测试边收集整理。 2、域名收集 域名收
阅读全文
摘要:1、介绍 一般,搜索引擎支持高级搜索语法。这里以百度https://www.baidu.com/为例。 2、高级搜索页 https://www.baidu.com/gaoji/advanced.html 通过该页面,填写表单,进行相关配置可以实现高级搜索功能 如果有多个选项,通过空格进行分隔 3、高
阅读全文
摘要:1、介绍 dnsenum是一款非常强大的 域名信息收集工具,它是由参与backtrack 开发项目的程序员所设计,设计者名叫Fillp (barbsie) Waeythens ,该名开发者是一个精通web渗透测试的安全人员,并对DNS信息收集有着非常丰富的经验。kali默认安装。 dnsenum的目
阅读全文
摘要:1、介绍 nikto是一款开源的网页服务器扫描器,可以对网页服务器进行全面的多种扫描。包括: 错误的配置 默认文件和脚本 不安全的文件和脚本 过时软件 2、帮助信息 -config+ 使用配置文件 -Display+ 打开或关闭显示输入 -dbcheck 检查数据库,其他的关键文件 -Format+
阅读全文
摘要:帮助信息 └─$ xsser --help 2 ⨯ Usage: xsser [OPTIONS] [--all <url> |-u <url> |-i <file> |-d <dork> (options)|-l ] [-g <get> |-p <post> |-c <crawl> (options
阅读全文
摘要:1、介绍 自动化xss漏洞挖掘 – xsser_哔哩哔哩_bilibili kali默认安装,用于扫描xss漏洞。 官网: https://xsser.03c8.net/ 安装: ─$ sudo apt install xsser 图形化启动: └─$ xsser --gtk 使用教程: XSSer
阅读全文
摘要:1、介绍 msf启动后,以交互式窗口命令进行工作。通过help命令查看帮助文档: help 2、核心命令 3、模块命令 4、任务命令 5、资源脚本命令 6、数据库后端命令 7、认证后端命令 8、发展命令
阅读全文
摘要:MSF——基本使用和Exploit模块(一) – 走看看 (zoukankan.com) 1、介绍 matasploit,简称msf,是一款开源安全漏洞利用和测试工具,集成了 各种平台上常见的溢出漏洞和流行的shellcode,并持续保持更新。 msfconsole 2、永恒之蓝 永恒之蓝 2017
阅读全文
摘要:使用phpstudy搭建的dvwa靶场,测试文件上传漏洞 low级别。 1、准备php木马文件,命名为up.php <?php eval($_POST['abc']); ?> 2、phpstudy启动,dvwa登录,置为low级别 3、上传up.php 4、浏览器访问上传的php文件,未报404,说
阅读全文
摘要:蚁剑安装和基本使用_哔哩哔哩_bilibili 1、介绍 中国蚁剑是一款webshell管理工具,开源免费。一般搭配文件上传漏洞使用。 2、下载 antsword · GitHub Topics · GitHub 代码和加载器这两个都需要下载,注意下载器直接下载我这里解压不出来,文件损坏,需要到Gi
阅读全文
摘要:1、环境 在windows通过phpstudy部署sqli-lab靶场,在vm虚拟机部署kali。 2、直接测试 sqlmap -u "http://192.168.93.1/sqli/Less-1/?id=1" 如果直接指定url,可以不加-u url可以不加引号 测试过程中会有一些选项,ente
阅读全文
摘要:sqlmap快速入门 – FreeBuf网络安全行业门户 SQLMAP详细参数详解 – FreeBuf网络安全行业门户 Sqlmap中文手册若水斋-CSDN博客sqlmap sqlmap:自动SQL注入和数据库接管工具 公司简介 ·sqlmapproject/sqlmap Wiki ·GitHub
阅读全文
摘要:1、介绍 kali工具之Beef – FreeBuf网络安全行业门户 早期版本kali默认安装,后来则需要手动安装 Web安全 XSS漏洞的利用(Beef工具)(点击链接就被黑的技术.)_半个西瓜.的博客-CSDN博客_beef工具 2、安装 (1)切换root用户 sudo su 密码也是kali
阅读全文
摘要:1、平台认证 2、代理服务器 3、socks代理 4、超时请求、域名解析、超出范围丢弃 5、日志 保存文件没有类型要求,可以是abc作为直接的文件名 不同行分别文件保存 保存是从配置保存文件开始的 保存的报文格式: 6、用户关于连接的选项 7、显示 8、快捷键和临时文件存储位置 9、 10、
阅读全文
摘要:1、介绍 intruder入侵模块,实际上是基于不同策略的重复请求,然后测试人员可以结合测试参数,分析响应。 从其他模块,选择请求,右键选择send to intruder,可以将其请求提交到intruder模块进行操作。 2、攻击类型选择和测试文本标记 (1)攻击类型有四种 sniper:狙击手模
阅读全文
摘要:1、Logger日志模块 Logger显示Burp工具和目标应用程序之间发送的所有HTTP流量的历史记录。这包括由扩展生成的请求。也就是说包括intruder和repeater等。 删除target中的记录并不会影响Logger中的内容,反之也不会 设置显示的字段: 2、导出 burp中有三种导出方
阅读全文
摘要:1、介绍 burpsuite,简称为burp,是基于java开发的针对web应用程序的攻击平台。 官网:Burp Suite – Application Security Testing Software – PortSwigger 2、下载和安装 分为pro版和community版,前者收费,后者
阅读全文
摘要:1、开始 使用--help选项,可以查看详细的帮助信息 nmap --help 基本语法: nmap [Scan Type(s)] [Options] {target specification} 2、目标指定 3、主机发现 -sn 只进行ping扫描用于主机发现,不进行端口扫描 -Pn 视作所有主
阅读全文
摘要:1、介绍 nmap是一个开源、免费的网络探测工具。支持windows、linux等多种操作系统,在kali上默认安装。 探测主机是否存活 探测主机系统 探测主机开放的端口 探测主机开发端口的服务 nmap工具使用详解 – FreeBuf网络安全行业门户 2、端口状态信息 > open :端口开启 >
阅读全文
摘要:1、介绍 浏览器可以作为基础的安全工具使用。 2、功能 2.1 界面 (1)浏览器地址栏和界面,可以很方便的输入参数,进行请求测试。 (2)界面可以加载显示html文档,查看前端解析效果,尤其是针对xss和界面劫持等漏洞是非常必要的 以及可以清楚的分辨响应结果是防火墙,还是404或500异常,亦或者
阅读全文
摘要:1、定义 界面操作劫持攻击是一种基于视觉欺骗的web会话劫持攻击,它通过在网页的可见输入控件上覆盖一个不可见的框iframe,使得用户误以为在操作可见控件,而实际上用户的操作行为被不可见的框所劫持,执行不可见框中的恶意劫持代码,从而完成在用户不知情的情况下窃取敏感信息、篡改数据等攻击。 界面操作劫持
阅读全文
摘要:(176条消息) RCE漏洞_Poolhuang的博客-CSDN博客 1、定义 RCE(remote command/code execute)RCE漏洞,可以让攻击者直接向后台服务器远程注入操作系统命令或者代码,从而控制后台系统。 一般出现这种漏洞,是因为应用系统从设计上需要给用户提供指定的远程命
阅读全文
摘要:(176条消息) 渗透测试-JSONP数据劫持漏洞_jsonp劫持_成都知道创宇的博客-CSDN博客 (178条消息) 渗透测试-JSONP数据劫持漏洞_jsonp劫持_成都知道创宇的博客-CSDN博客 1、定义 json劫持,有时也被称为jsonp劫持,或者划分为csrf的一种类型,说的是同一个对
阅读全文
摘要:1、url跳转漏洞定义 如果用户基于url访问目标网站时,跳转到攻击者控制的站点,而未发觉此时域名的变化,或者即使发现但仍然相信,认为跳转后的页面也是属于目标网站,从而信任。 攻击者可以在控制的网站中进行钓鱼活动,比如输出错误信息,要求用户输入信息。 2、发生场景 (1)业务场景 发生url跳转的主
阅读全文
摘要:产生SSRF漏洞的代码_哔哩哔哩_bilibili SSRF总结 – FreeBuf网络安全行业门户 1、介绍 ssrf,server-server request forgery服务端对服务端的请求伪造,有时也理解为server side request forgery服务端侧的请求伪造。 指服务
阅读全文
摘要:1、测试步骤 首先要确定业务的sql语句类型,一般是对select语句进行测试,安全。 1.1 数值测试 如果参数是数值类型,那么有可能是数值型参数,可以比较id=1与id=2-1类似的测试,比较两者的响应体部是否相同。 如果相同,那么猜测存在sql注入,且为数值型。 1.2 空格测试 对参数添加多
阅读全文
摘要:1、union联合注入 如果sql语句是select结构,可以尝试联合注入获取信息。 (1)order by n确认查询字段数,n从1开始递增,只有当n等于当前select查询字段数才正常执行sql语句 (2)union select 1,2,3...n,默认查询,确认有输出前端的字段。 如果确定是
阅读全文
摘要:1、定义 sql注入,是用户提交的数据,服务端接收后未经过严格检查,将其直接拼接到sql语句中,交给sql应用执行,超出了开发者预期的sql语句结构,从而造成危害。 与xss需要用户参与不同,sql注入攻击者可以直接实现。 (1)提交数据 并不局限请求方法,get/post/put/delete均可
阅读全文
摘要:1、发生场景 目标网站某处,响应页面中包含脚本,会读取数据作为eval等危险函数的参数或者直接赋值为innerHTML等敏感属性,从而造成危害。 参数来源可能是地址栏中的直接参数、路径参数或者hash,也可能是保存在cookie或本地存储中,还可能是当前页面的js变量、html元素的属性值或文本中。
阅读全文
摘要:1、反射型 在一个请求中,攻击者可以控制用户提交的数据,服务端未经过严格过滤检查,将数据写入响应的html文档中,使得数据中的payload被用户的浏览器解析为脚本执行。 (1)响应 响应头部字段content-type,包含text/html,将响应体部作为html文档解析 需要是非ajax交互,
阅读全文
摘要:1、介绍 (1)os模块是python中的一个内部模块。用于处理与系统相关的函数和类。 (2)os模块支持windows和linux,在os模块中一般是用NT和Posix分别指windows和linux。 在不同系统中,会调用不同具体的模块实现。 (3)目前主要使用os.listdir函数和os.p
阅读全文
摘要:1、介绍 time模块是python的内部模块。用于获取系统时间,格式化输出,将参数解析为时间等。 2、函数 (1)获取当前时间 print(time.time(), type(time.time())) 返回float类型,1670592065.0852547形式,单位为秒 (2)获取当前时间 p
阅读全文
摘要:1、介绍 将作为pattern参数的str类型,编译返回Pattern类型,方便后续调用,提高效率。 re模块下存在多个函数,可以进行编译,返回类型是Pattern。Pattern类具有和re正则匹配函数类似的方法,当然在参数上略有不同,比如是将待匹配文本作为Pattern类的参数。 2、compi
阅读全文
摘要:1、介绍 re.match、re.fullmatch和re.search这三个函数,如果存在匹配,其返回pattern初次匹配的结果,类型就为re.Match。 2、类和初始化 3、方法 pattern = "(ab)c" result = re.match(pattern=pattern, str
阅读全文
摘要:1、介绍 在re模块的函数中,多数允许设置修饰符flags参数,其用于对匹配做优化和个性设置。 2、修饰符 修饰符实质上是int参数类型,可以直接指定int类型,也可以通过re调用变量名称指定。 修饰符 描述 re.I 使匹配对大小写不敏感 re.L 做本地化识别(locale-aware)匹配 r
阅读全文
摘要:1、介绍 这里整理了表达式,即pattern参数的语法。其本质是一个str类型。 2、开始和结尾 (1)^ ^匹配字符串的开头 (2)$ $匹配字符串的末尾 (3)整体匹配 同时使用^和$ 3、匹配次数 (1)贪婪匹配和非贪婪匹配模式 贪婪匹配,在允许的范围内尽可能多的匹配表达式次数。比如*、+、{
阅读全文
摘要:1、介绍 这里介绍findall和finditer两个函数。 2、findall函数 findall(pattern, string, flags=0) pattern,正则表达式 string,待处理字符串 flags,标志,处理模式 返回类型为list,如果不存在匹配,返回空列表[]。如果存在匹
阅读全文
摘要:1、介绍 这里整理sub、subn和split三个函数的使用。 2、sub函数 sub(pattern, repl, string, count=0, flags=0) pattern,正则表达式 repl,替换文本 string,待处理字符串 count,表示替换的最大次数。默认为0表示全部替换
阅读全文
摘要:1、介绍 re模块是python3用于处理正则的模块。 这里介绍三个函数,re.match、re.fullmatch和re.search的使用。 其都是如果匹配,则返回re.Match类对象,为初次匹配项。不匹配则返回None。 且()不影响匹配结果,只是匹配过程中对需要匹配的描述。 2、match
阅读全文
摘要:https://www.runoob.com/python3/python3-namespace-scope.html 1、命名空间 命名空间(Namespace)是从名称到对象的映射,大部分的命名空间都是通过 Python 字典来实现的。 命名空间提供了在项目中避免名字冲突的一种方法。各个命名空间
阅读全文
摘要:1、介绍python3支持多种运算符,可以分为:算术运算符、比较运算符、赋值运算符、逻辑运算符、位运算符和其他运算符 2、算术运算符bool类型参与算术运算时,True相当于1,False相当于0 (1)++可以表示加法运算,前后两个操作数必须是number类型,可以是不一致的,比如1+True+可
阅读全文
摘要:1、介绍 python是解释型语言,变量不声明类型,而是由赋值进行确定,比如=之后的字面量或类型,或者形参接收的实参。 每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建。 2、标准数据类型 包括数值number(int、float、bool、comlex)、字符串str、元组tuple、列表
阅读全文
摘要:1、标识符 (1)首字符必须是字母或下划线 (2)标识符其他字符由数字、字母和下划线组成 (3)标识符对大小写敏感 (4) Python 3 中,可以用中文作为变量名,非 ASCII 标识符也是允许的了。但是并不建议使用 2、保留字 保留字即关键字,是编程语言本身所使用的,开发者不能将其作为任何标识
阅读全文