自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(90)
  • 收藏
  • 关注

原创 MySQL事务

事务就是一个独立的工作单元,事务内的语句,要不就全部执行成功,要不就全部执行失败。比如一个转账过程,可以打包成一个事务,如果其中某一步失败,就需要直接回滚前面的所有步骤。事务具有四个特性(ACID):1)原子性,一个事务必须时一个不可分割的最小工作单元,要不就全成功要不就失败回滚。2)一致性:数据库是从一个一致性状态到另一个一致性状态,事务执行前没有最终提交前,前面的步骤修改都不会保存,这样就保证了一致性。3)隔离性:一个事务提交前,对于其它事务是不可见的,多个事务之间互不干扰。SQL中

2022-05-05 01:31:24 776

原创 MySQL架构

MySQL与其它数据库相比,应用场景多,足够灵活,能够适应不同环境,也可以嵌入到应用程序中,如支持数据仓库,内容索引,部署软件、高可用的冗余系统,在线事物处理系统等。下图是MySQL的逻辑架构图,分为三层。最顶层是客户端,第二层是MySQL的核心服务,包括查询缓存、分析、优化等所有内置的函数,第三层是存储引擎,负责数据的存储和提取,服务器通过API与存储引擎通信,存储引擎的API中有很多底层函数,来执行一些操作。连接线程处理:每个客户端连接都会在服务器进程中开启一个线程,这个连接下的查询都会在线

2022-05-05 01:06:50 217

原创 tesseract的安装和使用方法

tesseract的安装和使用方法

2022-03-02 19:24:51 3601

原创 Redis和ES

一、mysql:关系型数据库管理系统使用场景二、Redis:NoSQL数据库之一,是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。1)基于内存运行,性能高,支持数据持久化,可将内存的数据保存在磁盘中,重启后可以再次加载来使用;2)支持主从备份,高可用和分布式;3)key-value存储,value可以是字符串string、哈希hash、列表list、集合sets和有序集合等类型;4)red

2022-02-28 20:08:53 5384

原创 python使用pip安装not a supported wheel问题

安装一些库时,使用下载的whl文件安装,会遇到.whl is not a supported wheel on this platform.报错,如下图实际是whl的版本与python版本不匹配导致。解决方法:1.cmd输入pip debug --verbose查看在compatible tags中有当前一些版本适合的名称将whl名称改名为以上格式的,即可正确安装...

2022-02-22 20:47:02 2811

原创 pytest(三)测试报告生成

主要讲两种方式,report和allure的Report在配置文件中,加入生成报告的指令,可以将报告放在指定的report文件夹中,此时执行后,在report中会有html的报告如图:此时打开可以看到对应的执行报告,包括成功失败skip和报错等。2. allure-pytest这个插件相对于pytest更精美,内容更详细,并且支持jenkins构建,功能更强大。1)安装(这里用的是macos的,需要有java环境):1、下载地址https://github.com/..

2022-01-31 00:26:32 423

原创 python常见报错

记录下一些安装或使用时常见的报错,陆续更新ing

2022-01-30 22:37:52 1071

原创 pytest(二)用例执行顺序

​pytest执行顺序一般是按照从上往下的顺序执行的,如果使用过程中想要指定顺序,可以使用ordering插件,但在实际使用中,会涉及到一些其它顺序相关的问题。使用场景:一份详细的自动化用例中,区分筛选冒烟用例和详细用例等标注,如果验证性执行或者首次执行,一般会先执行冒烟 部分模块功能变动测试,此时会实际到区分模块的分组执行 散布在整套用例中区分一些测试,如接口测试或者web测试,需要筛选出来执行执行方法:在用例前做标记,用@pytest.mark的方法给所有用例打标,如图,在每个用例

2022-01-30 21:48:49 1955

原创 pytest(一)基本介绍

pytest 是一种单元测试框架,市场上用的比较多的是unittest和pytest,易上手,灵活,可以用来做web自动化,接口自动化和app自动化等等。实际自动化测试的流程如下:1)找到测试用例2)执行测试,按照顺序和规则进行测试执行3)判断结果和实际结果差异4)测试报告生成,统计测试结果,通过率,耗时等等pytest有很多插件,在实际使用中很实用,如pytest-html可以用于生成html格式的自动化报告,pytest-xdist用于测试用例分布式执行,pytest-order

2022-01-24 20:22:20 1961

原创 Python-mysql应用

实际测试或者工作中,有时候会涉及到操作数据库,数据量多的情况下,使用python更加便捷方便。Python支持很多不同的数据库,如图等等,连接不同的数据库,需要下载不同的API模块。MySQL需要下载MySQL的模块。1. 安装模块python2使用mysqldb,python3用的是PyMySQLpython3中pip install mysql会报错pip3 install pymsql可以成功2.连接数据库连接数据库之前,需要已经有已启动的数据库,且有对应权..

2022-01-23 22:21:58 1227

原创 开放api测试问题

开放api:平台一般会提供appid、appkey和appsecret,appkey和appsecret是同时生成的,同一个id可以有多对appkey和appsecret,这种情况下可以分配不同接口权限,权限配置与appkey关联。这种情况下,为了放置key和secret被穷举破译,需要进行加密。根据解密方如何获取加密的密钥,分为对称加密和非对称加密。对称加密:加密和解密使用相同的密钥,常见的对称加密算法有DES,AES,3DES等,对称加密效率高,但是安全性较低。 非对称加密:加密和解密

2021-11-21 21:28:56 3990

原创 RobotFramework调用自定义lib

rf使用时,除了通用BuiltIn的关键字以及一些第三方库,也会遇到实际应用中需要自己来编写

2021-11-14 16:48:03 3505

原创 RobotFramework笔记一:元素定位

RF通过seleniumxpath元素定位

2021-11-07 17:26:50 430

原创 metesploit-snmp协议收集信息

SNMP协议:简单网络管理协议(simple network managementprotocal),用于IP网络管理网络节点的标准协议,是一种应用层协议。利用SNMP协议,管理工作站可以远程管理所有支持这种协议的网络设备。SNMP服务开启:目标主机需要开启SNMP服务,可以通过root权限开启。windows主机可以在控制面板的程序中,选择“打开或关闭windows功能”按钮,勾选SNMp并开启。linux主机需要修改配置文件 进入vim /etc/snmp/snmpd将 SNM.

2021-10-31 20:45:41 203

原创 metasploit-TCP协议的信息收集

1.使用nmap和arp_sweep进行收集主机信息metasploit内置的nmap和arp_sweep可以用来收集主机信息,之前nmap有涉及到,这里介绍下arp_sweep。arp_sweep模块在auxiliary中,是一个arp扫描器,可以search出来,是在scanner的discovery中,查询到后,可以use进入,然后show option可以看到需要设置的内容。必填项是RHOSTS,THREADS和TIMEOUT,RHOSTS是要扫描的主机和网段,THREADS是线程数

2021-10-24 21:58:04 2197

原创 Metasploit--模块或漏洞的查找和选择

一、show的使用show后面可以接的参数all,exploits,payloads,auxiliary,post,encorders,nops,plugins,info,options如show payloads可以展示所有的payloads,但是这种展示会把全部列出来,比较费时二、search的使用metasploit使用过程中,由于这个框架有太多的内容,如果想单独搜索某一个知道名称的或者知道大致模块的内容,可以使用search使用search -h可以看到search的帮助..

2021-10-17 14:26:20 2888

原创 metasploit(十)漏洞攻击exploit代码编写

exploit格式1.攻击载荷信息块2.需要提供可用目标的列表3.尽量使用exploit()和check()函数,少使用run函数例如以下:require 'msf/core' #引入core库的内容class Metasploit3 <Msf::Exploit::Remote Rank = ExcellentRanking #设置ran等级 include Msf::Exploit::Remote::Tcp ...

2021-10-03 21:12:20 923

原创 缓冲区溢出原理

缓冲区:在内存中预留指定大小的一些存储空间对I/O数据做临时的存储,可以用来减少物理读写次数,如从磁盘读取信息,可以先把读出的数据放在缓冲期,再从缓冲区读取,等到缓冲区的数据全部读取完成后,再去磁盘读,这样可以解放CPU。缓冲区溢出:缓冲区溢出对于程序来说是个重大bug,一般遇到这种问题会导致程序运行失败,活着设备重启,之前测试中也经常遇到,常见会有反复重启的问题。缓冲区溢出在安全上也是个重要漏洞,相当于开后门,攻击者可以通过缓冲区溢出来执行恶意代码,如攻击覆盖了函数返回地址,且有root权限,通过该溢

2021-10-03 20:00:56 652

原创 Metasploit(九) 后漏洞利用

1. 清楚痕迹1)禁用防火墙首先,需要检查防火墙是否启动:run getcountermeasuremeterpreter中打开被攻击系统的shell:netsh firewall show opmode禁用:netsh firewall show opmode mode=disable2)禁用杀毒软件和日志删除文本编辑器打开killav.rb脚本,该文件位置在opt/framework/msf3/scripts/killav.rb,这个脚本里有一些基本的杀毒软件进程,运行会在被攻击

2021-09-18 18:07:22 318

原创 Metasploit(八)后漏洞的提权

提权即提升对资源的访问权限,对于一些受保护的资源,或者需要权限访问的资源,提权后,可以进行一些恶意操作。可以使用自带的minishare小程序,use exploit/windows/http/minishare_get_overflow,输入show options可以查看设置项RHOST和RPORT是必设项,RHOST设置目标ip,RPORT设置目标端口号,设置成功后,需要选择目标系统类型,可以通过接入获取到的信息进行选择通过getsystem -h来进行提权options里..

2021-09-12 22:14:36 106

原创 Metasploit(七)后漏洞的信息收集

后漏洞利用是系统被攻击后的操作,实际就是需要收集敏感信息,获取这些信息进行后续访问。系统信息:sysinfogetpid被攻击主机上可以看到进程名与meterpreter查看的一致检查是否是虚拟机运行时间run get_env路由设置...

2021-09-12 21:38:39 210

原创 Metasploit(五)Nessus的使用

nessus是专用的漏洞扫描器,用于检测目标系统漏洞、错误配置和默认凭证1.启动:打开msfconsole,输入load nessusnessus_help可以查看一些命令信息2.本地主机的连接:nessus_connect <user name>:<password>@localhost:8834 ok3.连接成功后,用nessus_policy_list可以查看扫描策略,共四个扫描策略,外部网络扫描、内部网络扫描、web应用测试、支付卡行业4.对目..

2021-09-05 15:27:30 1018

原创 Metasploit(六)客户端漏洞

浏览器漏洞攻击1.启动msfconsole,输入use auxiliary/server/browser_autopwn2.可以通过show options查看需要设置的信息3.设置参数set LHOST <target ip>set SRVHOST <ip>setSRVPORT 80点击run该模块有个恶意url,即图上最后的using url被攻击对象的系统上打开该url后,会发送一个反向连接给攻击者的系统,可以看到上...

2021-09-01 17:29:18 339

原创 Metasploit(四)信息收集

Metasploit集成了一些用于信息收集及分析的工具1. nmap工具,可以通过nmap -v -n ip来查找对应主机的开放端口,返回的结果有端口,状态和服务类型1)nmap可以进行多个主机的扫描,只需要nmap ip1 ip22) nmap支持ping扫描,用来发现网络中的活动主机 nmap -sP ip3)TCP ACK ping,通过向目标主机发送tcp ack报文,收集主机的tcp响应来获取数据,nmap -PA ip4)ICMP,向主机发送icmp报文,nmap -..

2021-08-29 21:48:57 159

原创 Metasploit(三) Meterpreter基础知识

攻击前期步骤:1. 启动msfconsole:命令行输入use exploit/windows/smb/ms08_067_netapi2. 可以通过show options查看设置的条件,默认远程主机不会有内容,需要手动设置,通过set RHOST ip 进行设置目标主机地址,端口也可以设置,设置完成后,可以看到如下图,上面是目标主机的ip和端口信息,下面是本地信息3. 设置完毕后,输入exploit就可以进入meterpreter shell基本命令输入help可以查看所有Met.

2021-08-29 20:48:29 1632

原创 Metasploit(二)基本概念

攻击载荷:当某漏洞攻击在一个有漏洞的系统上执行,攻击载荷可以控制该系统,一般会附加在漏洞攻击上进行分发shellcode:指令集,在实施漏洞攻击时,作为攻击载荷使用监听器:以组件方式,等待传入的连接请求漏洞利用原理:发送带了攻击载荷的漏洞攻击代码给有漏洞的系统,先执行漏洞攻击代码,执行成功后,攻击载荷中的代码进行执行,执行成功后,就获得了有漏洞系统的控制权,就可以进行一些恶意操作。1. 获取系统IP,找到开放的端口,确认操作系统和服务,端口扫描工具可以使用Nmap等2. 根据服务和版本,

2021-08-22 22:21:42 115

原创 Metasploit(一) 安装和目录结构

1.安装BackTrack R3镜像链接链接:https://www.nigesb.com/backtrack-5-r3-released.htmlps:启动界面的命令行输入startx后,进行安装,安装完成后,root/toor进入系统2.结构:Rex:Metasploit基础库,用于不同协议、转换及socket处理,支持SSL、HTTP、XOR、SMB及随机文本MSF内核:定义框架,提供基本应用界面MSF库:提供简化的应用界面使用cd /opt/metasploit/msf3

2021-08-22 21:58:58 531

原创 Python--Tkinter(五)

Canvas组件,用于显示和编辑图形,可以用来绘制图形1. create_line() 直线,需要填写直线的两个坐标点,可以选择颜色,也可以选择实线或虚线dash,dash的数值用来调整虚线的粗细2. create_rectangle() 矩形,需要输入四个数值,前两个数值是矩形左上角的第一个坐标,后两个数字是长度,可以填入矩形颜色,外框颜色和粗度3.create_text() 文字,必填需要输入位置坐标和文本内容4. create_oval()椭圆形或圆形,需要输入四个..

2021-08-15 20:59:01 804 2

原创 Python--正则表达式

Python是通过re模块实现正则,需要import re1.search():用于在字符串中搜索要搜索的内容第一次出现的位置,如下2.通配符:正则的通配符是用点号表示,可以匹配除换行符之外所有的字符3.反斜杠用法:1)\.用来代表.本身,可以用反斜杠剥夺这类元字符的特殊能力2)\d代表数字,可以用这个特效进行提取字符串中的数字,但这个方法实际使用会有点繁琐4.创建字符类进行匹配,如可以自定义一个字类,也可以设置一些数字或者字符的规则,如[0-9]代表数字0-9任一,[a-.

2021-08-15 20:04:40 100

原创 Python--Tkinter(四)

Tags:用于改变text组件中内容,比如字体尺寸颜色等。Tags的数量可以自定义,名字由字符串组成,tag_add用于新增tag1)tag_config可以用于设置文本内容的样式background 背景颜色borderwidth 文本框宽度font 文本字体Imarigin 文本的缩进overstrike 文本内容画一条删除线relief 文本边框样式underline 文本加下划线wrap 是否自动换行……ps:如果多个tag设置了一样的config,...

2021-08-08 14:15:08 199

原创 Python--Tkinter(三)

Text组件:用于显示和处理多行文本,可以处理多种任务,页常用语简单的文本编辑和网页浏览。内容的插入可以使用insert(),如图

2021-08-08 13:31:29 96

原创 Python--Tkinter(二)

Listbox组件:当提供给用户选择时,选项很多的时候,可以用listbox组件,比如一些地区城市选择,用radiobutton页面会存放不下,用listbox可以用列表形式展示,支持滚动操作。Scrollbar组件:滚动条,搭配其他组件一起使用,用来进行垂直滚动ps:需要搭配的组件的yscrollbarcommand选项为Scrollbar组件的set()方法,然后设置Scrollbar组件的command选项为该组件的yview()方法,如下,设置listbox的滚动条Scale组件

2021-08-01 19:11:41 84

原创 Python--Tkinter(一)

Tkinter是python标准的gui库,用于图形界面开发,tkinter相比于easygui更丰富。基本使用:import tkinter#创建窗口root = tkinter.Tk()#设置窗口的标题root.title('这是标题')#添加label组件,用于显示文本theLabel = tkinter.Label(root,text = '这是内容^^')theLabel.pack()root.mainloop()Label组件用于显示文本和位图,可以在界面上

2021-08-01 18:42:27 615 9

原创 Python--urllib.request访问的隐藏

使用urllib.request去进行直接的数据访问,次数过多,会被识别到非正常的访问,此时需要对请求进行隐藏方法一:增加header,请求头的user-agent告诉了服务器访问的设备类型和浏览器等信息,将这部分内容加入请求中,需要使用urllib.request.Request,这个函数相比于urlopen更完整,可以加入headers等信息如下图实例方法二:使用add_header():urllib有专门用于添加头的方法,直接可以加入虽然使用header做了一定隐藏,但长.

2021-07-25 20:51:49 375 1

原创 Python--urllib库使用实例(翻译)

可以使用python对一些在线翻译页面进行处理。1.获取url和接口信息:打开控制台,进入在线翻译页面,如下图,输入翻译内容后,查看请求信息和url,如图可以直接使用request url的地址在Form Data中可以查看需要传的参数,i是需要翻译的内容,from和to可以指定语言,实际该接口中,i和doctype是必须传递的2.urllib.request:可以用来发送和获取请求内容,获取到的response就是我们需要的内容;urllib.parse用来解析和处理url,可以用于.

2021-07-25 20:17:12 142

原创 Python--生成器

Python函数的定义体中有yield关键字,该函数就是生成器函数,调用生成器函数,会返回一个生成器对象。yield作用相当于return,没有元素会调用StopIteration如图,使用生成器进行的斐波那契数列:生成器表达式:如图,用小括号括住的表达式作用:是创建生成器的简洁语法,不需要定义函数再调用可以转换成生成器函数,有时使用生成器表达式更便捷,一般如果生成器表达式分多行写,还是使用生成器函数更合适...

2021-07-18 15:07:28 70

原创 Python--迭代器

迭代器用来遍历所有的值,字符串、列表、元组、字典和集合都可以进行迭代。1.使用for循环遍历迭代字符串:列表:元组:字典:集合:2.iter()

2021-07-18 13:37:26 63

原创 Python--类和对象相关内置函数

1.issubclass(class,classinfo):布尔函数判断一个类是否四另一个类的子类,返回true or false2.isinstance(obj,class):布尔函数判断obj是否是类的实例对象,返回true or false3.property(fget=None,fset=None,fdel=None,doc=None):通过属性来设置属性,如图,设置好get,set,del,传给property,之后就可以直接调用,如第一个调用get,第二个直接设置调用set,最后

2021-07-11 18:56:20 153 1

原创 Python--类和对象

Python是一门面向对象的语言,特征是封装、继承和多态。对象用来封装属性和方法,继承是子类自动共享父类的方法和数据,多态是不同对象对同一方法响应不同。Class(类):类是属性+方法,属性是一些变量,方法是一些函数,类的定义是由大写字母开头,函数由小写字母开头。对象是类的实例。self:类与普通函数区别就在于他有额外的第一个参数名称,即self,self相当于指针,代表当前对象地址,如下图,先将没有的参数传给self,再将正式参数值5传给orange()__init__(self,para

2021-07-11 17:55:02 98

原创 Python-EasyGui

easygui适合用于python的一些简单的图形开发官网:http://easygui.sourceforge.net安装:pip3 install easygui(mac)导入:import easygui导入成功后可以调用验证下,调用msgbox()会有弹窗基本函数介绍:1. easygui.ynbox(msg,choices,image):输出的内容默认为Shall I continue? ,msg可以设置输入,结果可选择yes or no或者设置按钮2.

2021-07-04 18:56:25 227

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除