自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 CVE-2020-1957--Shiro未授权访问

参考链接:https://www.cnblogs.com/backlion/p/14055274.html1、影响版本Apache Shiro < 1.5.22、漏洞原因Shiro框架通过拦截器功能来对用户访问权限进行控制,如anon, authc等拦截器。anon为匿名拦截器,不需要登录即可访问;authc为登录拦截器,需要登录才可以访问。Shiro的URL路径表达式为Ant格式,路径通配符*表示匹配零个或多个字符串,/*可以匹配/hello,但是匹配不到/hello/,因为*通配符无法

2021-08-12 15:17:57 1351

原创 Jboss未授权访问

1、jmx-console未授权访问漏洞原因JBoss默认访问jmx-console页面不需要输入密码,可以进入配置war包进行危险操作。或默认用户名密码为admin/admin。漏洞复现这里使用的环境是kali中的vulhub和docker。进入vulhub/jboss/CVE-2017-12149目录,执行命令docker-compose up -d开启环境。访问http://your-ip:8080/。(这里我的IP是172.17.0.1)构造payload部署war包。http

2021-08-11 10:45:34 1354 1

原创 Jboss反序列化漏洞

1、CVE-2017-12149影响版本Jboss5.x/6.x漏洞原因在JBoss的HttpInvoker组件中的 ReadOnlyAccessFilter 过滤器中,其doFilter方法在没有进行任何安全检查和限制的情况下,尝试将来自客户端的序列化数据流进行反序列化,导致任意代码执行。引发漏洞的目录:http://your-ip:8080/invoker/readonly漏洞复现这里使用的环境是kali中的vulhub和docker。进入vulhub/jboss/CVE-201

2021-08-11 09:37:40 508

原创 CVE-2016-4437---Shiro反序列化漏洞

1、影响版本Apache Shiro <= 1.2.42、漏洞原因Apache Shiro默认使用了CookieRememberMeManager。其处理cookie的流程是:得到rememberMe的cookie值;Base64解码;AES解密;反序列化。然而AES的密钥是硬编码的,即AES加解密的密钥是写死在代码中的,攻击者可以构造恶意数据造成反序列化漏洞。3、漏洞复现这里使用的环境是Kali中的vulhub和docker。首先进入目录vulhub/shiro/CVE-2016

2021-08-10 15:28:33 3940 1

原创 Linux之Bash基本功能

一、历史命令和命令补全history默认会保存1000条历史命令,可以在环境变量配置文件/etc/profile中进行修改。使用上、下箭头调用以前的历史命令;使用“!n” 重复执行第n条历史命令;使用“!!” 重复执行上一条命令;使用“!字串” 重复执行最后一条以字串开头的命令。history [选项][历史命令保存文件]-c: 清空历史命令-w: 把缓存中的历史命令写入历史命令保存文件(~/.bash_history)在输入命令或文件时,按“Tab” 键就会自动进行补全。

2021-03-29 12:38:50 96

原创 Linux系统管理之进程管理

进程是正在执行的一个程序或命令,每一个进程都是一个运行的实体,都有自己的地址空间,并占用一定的系统资源。一、进程管理的作用判断服务器的健康状态top [选项] #查看系统健康状态-d: 秒数,指定top命令每隔几秒钟更新,默认是3秒;-h: 显示交互模式的帮助;-P: 以CPU使用率排序,默认是此项;-M: 以内存的使用率的排序;-N: 以PID排序;-q: 退出top。pstree [选项] #查看进程树-p: 显示进程的PID;-u: 显示进程的所属用户。其中显.

2021-03-22 20:55:21 107

原创 在Linux中安装virtualenv

当需要开发多个项目且每个项目之间存在很多差距时,通常会使用虚拟环境将每个项目的环境给隔离开,所以需要引入虚拟环境virtualenv。virtualenv的安装教程首先需要安装virtualenv和virtualenvwrapper;sudo pip3 install virtualenvsudo pip3 install virtualenvwrapper安装完成之后创建存放虚拟环境的目录;mkdir $HOME_virtualenv打开~/.bashrc进入编辑模式,输入.

2021-03-18 15:57:23 1006

原创 Linux用户配置文件

越是对服务器安全性要求高的服务器,越需要建立合理的用户权限等级制度和服务器操作规范。在Linux中主要是通过用户配置文件来查看和修改用户信息。一、用户信息文件-----/etc/passwd可以通过vim /etc/passswd来查看文件内容,其中一共包括七个字段。第1字段:用户名称;第2字段:密码标志(标志该用户密码是否存放在此文件中);第3字段:UID(用户ID),“0” 表示超级用户,“1-499” 表示系统用户即伪用户,“500-65535” 表示普通用户;第4字段:GID(用户.

2020-11-20 15:43:59 1743 1

原创 Python之正则表达式相关知识介绍

Python之正则表达式正则表达式是用来描述目标字符串特征的一串特殊的文本,它定义了一种匹配模式,可以用来匹配与检索符合该模式的文本。学习正则表达式首先要了解元字符。元字符作用string匹配包含string的字符串re1 | re2匹配正则表达式re1或者re2^匹配以指定字符串开头的字符串$匹配以指定字符串结尾的字符串.匹配除\n之外任意字符串*匹配0次或者多次前文正则表达式+匹配1次或者多次前文正则表达式?匹配0次或

2020-09-16 22:20:17 131

原创 PyQt5之信号与槽介绍

PyQt5之信号与槽介绍PyQt的窗口控件类中有很多内置信号,开发者也可以添加自定义信号。在编写一个类时,要先定义该类的信号与槽,在类中信号与槽连接,实现对象之间的数据传输。信号与槽具有如下特点:一个信号可以连接多个槽;一个信号可以连接另一个信号;信号参数可以是任何Python类型;一个槽可以监听多个信号;信号与槽的连接方式可以是同步连接,也可以是异步连接;信号与槽的连接可能会跨线程;信号可能会断开。一、定义信号为QObject对象创建信号:-使用pyqtSignal()函

2020-09-07 21:46:17 1643

原创 Linux之Vim常用操作

Linux之Vim常用操作Vim是一个功能强大的全屏幕文本编辑器,是Linux/UNIX上最常用的文本编辑器,它的作用是建立、编辑和显示文本文件。Vim没有菜单,只有命令。一、插入命令命令作用a在光标所在字符后插入A在光标所在行行尾插入i在光标所在字符前插入I在光标所在行行首插入o在光标下插入新行O在光标上插入新行二、定位命令命令作用: set nu设置行号: set nonu取消行号gg光

2020-09-07 20:27:32 110

原创 PyQt5之设置样式

一、为标签和按钮添加背景图片import sysfrom PyQt5 import QtCorefrom PyQt5.QtWidgets import *from PyQt5.QtGui import *from PyQt5.QtCore import *class Demo(QWidget): def __init__(self): super().__init__() self.setGeometry(500,300,300,300)

2020-09-06 20:54:02 2283

原创 Linux常见命令之关机重启命令

一、常见的关机重启命令------shutdown语法:shutdown [选项] 时间(-c:取消前一个关机命令、-h:关机、-r:重启);范例:$ shutdown -h now(现在关机)、$ shutdown -h 14:00(14:00关机);其他关机命令:halt、 poweroff、 init 0;其他重启命令:reboot、init 6。修改系统默认运行级别:$ cat /etc/inittab(id:3:initdefault:),系统默认运行级别是3,不建议将系统运行级别改为

2020-09-06 14:03:01 158

原创 PyQt5之不规则窗口的显示

PyQt5之不规则窗口的显示函数描述setMask(self,QBitmap或QRegion)setMask()的作用是为调用它的一个控件增加一个遮罩,遮在所选区域以外的部分,使之看起来是透明的。它的参数可以为QBitmap或QRegion对象。paintEvent(self,QPaintEvent)通过重载paintEvent()函数绘制窗口背景一、实现可以拖动的不规则窗口import sysfrom PyQt5 import QtCorefrom PyQt5.

2020-08-25 17:42:37 683

原创 Linux常见命令之网络命令

一、常见的网络命令------write命令所在路径:/usr/bin/write;执行权限:所有用户;功能描述:给在线用户发信息,Ctrl+D保存结束;语法:write 用户名;范例:$ write ABCD(给ABCD用户发送信息,回车输入发送内容,Ctrl+D保存结束)。二、常见的网络命令------wall命令英文原意:write all;命令所在路径:/usr/bin/wall;执行权限:所有用户;功能描述:发广播信息,即给所有在线用户发送信息,Ctrl+D保存结束;语

2020-08-25 16:51:27 173

原创 PyQt5之设置窗口背景

PyQt5之设置窗口背景窗口背景主要包括:背景色和背景图片。设置窗口背景主要有三种方法:使用QSS设置窗口背景;使用QPalette设置窗口背景;实现paintEvent,使用QPainter绘制背景。一、使用QSS设置窗口背景使用setStyleSheet()设置窗口背景图片:import sysfrom PyQt5 import QtCorefrom PyQt5.QtWidgets import *from PyQt5.QtGui import *from PyQt5.

2020-08-24 15:40:01 4564

原创 Linux常见命令之压缩解压命令

一、常见的压缩命令------gzip命令英文原意:GNU zip;命令所在路径:/bin/gzip;执行权限:所有用户;功能描述:压缩文件,压缩之后不保留原文件;语法:gzip [文件];压缩后文件格式:.gz。二、常见的解压命令------gunzip命令英文原意:GNU unzip;命令所在路径:/bin/gunzip;执行权限:所有用户;功能描述:解压.gz的压缩文件;语法:gunzip [压缩文件]。三、常见的压缩解压命令------tar命令所在路径:/bi

2020-08-24 14:55:07 205

原创 PyQt5之QSS的UI美观

PyQt5之QSS的UI美观QSS(Qt Style Sheets)即Qt样式表,是用来自定义控件外观的一种机制。QSS大量参考了CSS的内容,但QSS的功能比CSS要弱的多,体现为选择器少,可以使用的QSS属性也少,并且并不是所有的属性都可以应用在PyQt的控件上。一、QSS的语法规则QSS的语法规则几乎与CSS相同。QSS样式由两部分组成,其中一部分是选择器(Selector),指定哪些控件会受到影响;另一部分是声明(Declaration),指定哪些属性应该在控件上进行设置。声明部分是一系列

2020-08-21 20:45:55 1923

原创 Linux常见命令之用户管理命令

一、常见的用户管理命令------useradd命令所在路径:/usr/sbin/useradd;执行权限:root;功能描述:添加新用户;语法:useradd 用户名;范例:$ useradd ABCD(添加一个新用户ABCD)。二、常见的用户管理命令------passwd命令所在路径:/usr/bin/passwd;执行权限:所有用户;功能描述:设置用户密码;语法:passwd 用户名;范例:$ passwd ABCD(给用户ABCD设置密码,管理员root可以给任意一个存

2020-08-21 17:04:28 833

原创 Linux常见命令之帮助命令

一、常见的帮助命令------man命令英文原意:manual;命令所在路径:/usr/bin/man;执行权限:所有用户;功能描述:获得帮助信息;语法:man [命令或配置文件](Shell内置命令除外);范例:$ man ls(查看ls命令的帮助信息,主要查看其作用和选项)、$ man services(查看配置文件services的帮助信息,主要查看其格式);当命令名称和配置文件名称相同时,一般来说,1表示命令的帮助信息,5表示配置文件的帮助信息,如要查看passwd配置文件的帮助信息

2020-08-20 21:45:51 229

原创 PyQt5之绘图

PyQt5之绘图在PyQt中常用的图像类有4个,即QPixmap、QImage、QPicture和QBitmap。QPixmap是专门为绘图而设计的,在绘制图片时需要使用QPixmap;QImage提供了一个与硬件无关的图像表示函数,可以用于图片的像素级访问;QPicture是一个绘图设备类,它继承自QPainter类,可以使用QPainter的begin()函数在QPicture上绘图,使用end()函数结束绘图,使用QPicture的save()函数将QPainter所使用过的绘图指令保存到

2020-08-20 17:45:26 3689 1

原创 PyQt5之窗口风格

PyQt5之窗口风格使用PyQt实现的窗口样式,默认使用的就是当前操作系统的原生窗口样式。如果其他Widget没有设置QStyle,则默认使用QApplication设置的QStyle。一、设置窗口控件的风格setStyle(QStyle style) #可以为每个Widget都设置风格QStyleFactory.keys() #获得当前平台支持的原有的QStyle样式QApplication.setStyle(QStyleFactory.create("WindowsXP")) #对QA

2020-08-19 22:35:25 1849

原创 Linux常见命令之文件搜索命令

一、常见的文件搜索命令------find命令所在路径:/bin/find;执行权限:所有用户;功能描述:文件搜索;语法:find [搜索范围] [匹配条件] (-name:按文件名查找、-iname:按文件名查找,文件名不区分大小写、-size:按文件大小查找,大于+、小于-、等于=、-user:按所有者查找、-group:按所属组查找、-amin:按访问时间查找、-cmin:按文件属性查找、-mmin:按文件内容查找、-type:按文件类型查找、-inum:按i节点查找,一般用来删除文件);

2020-08-19 12:20:50 210

原创 Linux常见命令之权限管理命令

一、常见的权限管理命令------chmod命令英文原意:change the permissions mode of a file;命令所在路径:/bin/chmod;执行权限:所有用户;功能描述:改变文件或目录权限;语法:chmod [{ugoa} {+-=} {rwx}] [文件或目录] 或 chmod [mode=421] [文件或目录](-R:递归修改);u-所有者、g-所属组、o-其他人、a-所有人;权限的数字表示 r-4、w-2、x-1(例如:rwx 对应数字4+2+1=7);

2020-08-16 18:04:02 179

原创 Linux之链接命令

一、常见的链接命令------ln命令英文原意:link;命令所在路径:/bin/ln;执行权限:所有用户;功能描述:生成链接文件;语法:ln -s [原文件] [目标文件](-s:创建软链接);范例:$ ln -s /etc/issue /tmp/issue.soft(生成软链接)、 $ ln /etc/issue /tmp/issue.hard (生成硬链接)。二、软链接和硬链接的区别软链接类似于Windows的快捷方式,硬链接常用来备份。软链接的特征:lrwxrwxrwx

2020-08-13 16:38:49 256

原创 Linux常见命令之文件处理命令

Linux之文件处理命令一、常见的文件处理命令-------touch命令所在路径:/bin/touch;执行权限:所有用户;功能描述:创建空文件;语法:touch [文件名];范例:$ touch one.list(在当前目录下创建一个文件);二、常见的文件处理命令-------cat命令所在路径:/bin/cat;执行权限:所有用户;功能描述:显示文件内容(适用于内容较少的文件, -n:显示行号);语法:cat [文件名];范例:$ cat /etc/issue、 $ c

2020-08-12 21:37:58 290

原创 Linux常见命令之目录处理命令

Linux之目录处理命令命令格式:命令 [-选项] [参数](例:ls -la /etc)说明:1、个别命令使用不遵循此格式 ;2、当有多个选项时,可以写在一起 ;3、简化选项与完整选项的使用(-a等于–all)。一、常见的目录处理命令------ls命令英文原意:list;命令所在路径:/bin/ls;执行权限:所有用户;功能描述:显示目录文件;语法:ls 选项[-ald] [文件或目录](-a:显示所有文件,包括隐藏文件,隐藏文件名以.开头;-l:显示详细信息;-d:查看目录属性;

2020-08-11 22:54:59 169

原创 PyQt5之网页交互

PyQt5之网页交互PyQt5使用QWebEngineView控件来展示HTML页面。一、QWebEngineView类中的常用方法方法描述load(QUrl url)加载指定的URL并显示setHtml(QString &html)将网页视图的内容设置为指定的HTML内容二、加载并显示外部的Web页面import sysfrom PyQt5 import QtCorefrom PyQt5.QtWidgets import *from PyQ

2020-08-02 17:28:52 2811 4

原创 PyQt5之QThread多线程

PyQt5之QThread多线程要使用QThread开始一个线程,可以创建它的一个子类,然后覆盖其QThread.run()函数。一、QThread类中的常用方法方法描述start()启动线程wait()阻止线程,直到满足如下条件之一:1、与此QThread对象关联的线程已完成执行(即从run()返回时)。如果线程完成执行,此函数将返回True;如果线程尚未启动,此函数也返回True。2、等待时间的单位是毫秒。如果时间是ULONG_MAX(默认值),则等待,永远不会超

2020-08-01 16:35:48 2584

原创 PyQt5之QTimer定时器

PyQt5之QTimer定时器如果要在应用程序中周期性地进行某项操作,比如周期性地检测主机的CPU值,则需要用到QTimer定时器,QTimer类提供了重复的和单次的定时器。要使用定时器,需要先创建一个QTimer实例,将其timeout信号连接到相应的槽,并调用start()。然后定时器会以恒定的间隔发出timeout信号,当窗口控件收到timeout信号后,它就会停止这个定时器。一、QTimer类中的常用方法方法描述start(milliseconds)启动或重新启动定时

2020-07-30 22:47:46 4636

原创 PyQt5之多文档界面

PyQt5之多文档界面多文档界面应用程序占用较少的内存资源,子窗口都可以放在主窗口容器中,这个容器控件被称为QMdiArea。QMdiArea控件通常占据在QMainWindow对象的中央位置,可以设置任何QWidget作为子窗口对象的内部控件。一、QMdiArea和QMdiSubWindow类中的常用方法方法描述addSubWindow()将一个小控件添加在MDI区域作为一个新的子窗口removeSubWindow()删除一个子窗口中的小控件setActive

2020-07-27 22:18:42 861

原创 PyQt5之停靠控件和滚动条控件

PyQt5之停靠控件和滚动条控件一、QDockWidget停靠控件QDockWidget是一个可以停靠在QMainWidget内的窗口控件,它可以保持在浮动状态或者指定位置作为子窗口添加到主窗口中,QMainWidget类的主窗口对象保留有一个用于停靠窗口的区域。QDockWidget类中的常用方法方法描述setWidget()在Dock窗口区域设置QWidgetsetFloating()设置Dock窗口是否可以浮动,如果设置为True,则表示可以浮动setA

2020-07-25 23:08:52 838

原创 PyQt5之选项卡控件和堆栈窗口控件

PyQt5之选项卡控件和堆栈窗口控件一、QTabWidget选项卡QTabWidget控件提供了一个选项卡和一个页面区域,默认显示第一个选项卡的页面。通过单击各选项卡可以查看对应的页面。如果在一个窗口中显示的输入字段很多,则可以对这些字段进行拆分,分别放置在不同页面的选项卡中。1. QTabWidget类中的常用方法方法描述addTab()将一个控件添加到Tab控件的选项卡中insertTab()将一个Tab控件的选项卡插入到指定位置removeTab()根

2020-07-24 23:48:32 1190

原创 PyQt5之QTreeWidget树形结构

PyQt5之QTreeWidget树形结构一、QTreeWidget类中的常用方法方法描述setColumnWidth(int column,int width)将指定列的宽度设置为给定的值widthinsertTopLevelItems()在视图的顶层索引中插入项目列表expandAll()展开所有的树形节点invisibleRootItem()返回树形控件中不可见的根选项selectedItems()返回所有选定的非隐藏项目的列表二、QTr

2020-07-23 12:03:23 4574

原创 PyQt5之QTableWidget表格数据

PyQt5之QTableWidget的基本用法QTableWidget是Qt程序中常用的显示数据表格的控件,类似于C#中的DataGrid。QTableWidget是QTableView的子类,它使用标准的数据模型,并且其单元格数据通过QTableWidgetItem来实现。一、QTableWidget类中的常用方法方法描述setRowCount(int row)设置QTableWidget表格控件的行数setColumnCount(int col)设置QTableW

2020-07-21 00:35:32 17309 1

原创 PyQt5之QListWidget显示列表数据

PyQt5之QListWidget显示列表数据QListWidget类是一个基于条目的接口,用于列表中添加或删除条目。列表中的每个条目都是一个QListWidgetItem对象。QListWidget可以设置为多重选择。一、QListWidget类中的常用方法方法描述addItem()在列表中添加QListWidgetItem对象或字符串addItems()添加列表中的每个条目insertItem()在指定的索引处插入条目clear()删除列表的内容

2020-07-19 23:08:47 7199

原创 PyQt5之QListView列表数据

PyQt5之QListView列表数据QListView类用于展示数据,它的子类是QListWidget。QListView是基于模型的,需要程序来建立模型,然后再保存数据。一、QListView类的常用方法方法描述setModel()用来设置View所关联的Model,可以使用Python原生的list作为数据源ModelselectedItem()选中Model中的条目isSelected()判断Model中的某条目是否被选中二、QListView类

2020-07-18 12:56:06 4335

原创 PyQt5之QTableView表格

PyQt5之QTableView表格在QTableView中可以使用自定义的数据模型来显示内容,通过setModel来绑定数据源。一、QTableView与QTableWidget的区别QTableWidget继承自QTableView,主要区别是QTableView可以使用自定义的数据模型来显示内容,而QTableWidget只能使用标准的数据模型,并且其单元格数据是通过QTableWidgetItem对象来实现的。通常使用QTableWidget就能够满足我们的要求。二、QTableV

2020-07-17 23:12:17 4184

原创 PyQt5之QPrinter打印

PyQt5之QPrinter打印import sysfrom PyQt5 import QtCorefrom PyQt5.QtWidgets import *from PyQt5.QtGui import *from PyQt5.QtCore import *from PyQt5.QtPrintSupport import QPageSetupDialog,QPrintDialog,QPrinterclass Win(QMainWindow): def __init__(self):

2020-07-16 23:09:45 1771

原创 PyQt5之QStatusBar状态栏

PyQt5之QStatusBar状态栏QStatusBar是MainWindow对象底部的一个水平条,用于显示永久的或临时的状态信息。一、QStatusBar类中的常用方法方法描述addWidget()在状态栏中添加给定的窗口小控件对象addPermanentWIdget()在状态栏中永久添加给定的窗口小控件对象showMessage()在状态栏中显示一条临时信息指定时间间隔clearMessage()删除正在显示的临时信息removeWidge

2020-07-15 23:29:03 1327

空空如也

空空如也

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

TA关注的人

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