自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

老司机开代码的博客

人生苦短,我用Python

  • 博客(117)
  • 收藏
  • 关注

原创 Linux基础命令-date命令

Linux-date命令用法

2022-09-01 00:55:30 22352 3

原创 安装Vmware workstations 16 Microsoft Visual C++ 2019 x86 Minimum Runtime报错解决办法

Micorsoft Visual C++ 2019 x86 Minimum Runtime解决方案我们点击OK,会弹出如下提示框:根据这个提示框,可以判断出是电脑中的出了问题,我们使用卸载掉这个库。工具可以在官网下载,这里给读者分享一个下载后,双击msicuu2.exe自动安装,在安装后会自动放在电脑的路径中。接着我们使用卸载工具卸载掉出问题的文件然后再次尝试安装Vmware,如果还有报错,就继续用同样的方法移除报错的文件。...

2022-06-30 22:49:23 9257 3

原创 散点图绘制

文章目录1. 二维数组的索引2. npz文件3. 散点图的绘制在Python数据分析与应用中有一个散点图的例子,做这个例子之前首先要弄清楚两个点:对二维数组进行取数操作python中的npz文件1. 二维数组的索引二维数组中的每一个元素通过行和列两个坐标共同锁定,因此取某个元素的时候,需要同时给定行和列来指定某个元素。例:假设变量x指向了一个二维数组, 那么访问指定元素的格式就是x[行坐标, 列坐标] ,注意坐标号从0开始In [38]: x = np.array([[1,2,3], [

2021-05-16 11:42:59 1976

原创 Matplotlib学习笔记

文章目录1. pyplot基础语法1.1 plt.figure - 创建空白画布1.2 figure.add_subplot - 创建子图并选中子图1.3 plt.title - 指定标题1.4 plt.xlabel, plt.ylabel - 定义轴属性1.5 plt.xlim, plt.ylim - 指定区间1.6 plt.xticks, plt.yticks - 指定刻度1.7 plt.plot - 绘制曲线1.8 plt.legend - 指定图形的图例1.9 plt.savefig - 保存图像1

2021-05-09 17:42:41 1297 2

原创 Numpy学习笔记(一)

文章目录1. 数组的创建1.1 数组的属性1.2 创建数组时提供的参数1.3 创建数组的8中方法1.3.1 array1.3.2 arange1.3.3 linspace1.3.4 logspace1.3.5 zeros1.3.6 eye1.3.7 diag1.3.8 ones1. 数组的创建1.1 数组的属性-> ndim : 返回数组的维数。-> shape : 返回数组的尺寸(行数, 列数)-> size : 返回数组中元素的个数-> dtype : 返回数

2021-03-21 20:46:22 211 1

原创 Python 异常处理之try...except

文章目录1. 什么是异常2. try...excpt的使用2.1 语法介绍2.2 执行流程2.3 异常类型的查看3. try...except...else4. try...except...finally1. 什么是异常在执行python程序时,会有出现错误的可能。导致出错的原因有一般两种:语法错误:程序员编写的代码不符合python的规范,比如把print写成了printf,此种错误一旦出现会导致程序无法正常启动,但是此类错误是可以避免的。异常:异常是指在程序运行的过程中由于用户的非法输入,环

2021-03-11 18:30:39 20293

原创 Python 生成器

文章目录1. 什么是生成器2. 创建生成器的方法2.1 方法一2.2 方法二3. 生成器的使用3.1 yield的作用3.2 调用生成器的两种方法3.2.1 next(生成器对象)3.2.2 生成器对象.send(value)4. 生成器和迭代器的异同1. 什么是生成器上篇文章讲了Python迭代器;这篇文章就来研究一下生成器。生成器:一种特殊的迭代器,含有yield的函数就是生成器。特殊在哪里? 生成器是一个没有实现__iter__和__next__方法的迭代器。下属代码就是一个生成器de

2021-03-10 18:31:23 285

原创 Python迭代器

文章目录1. 可迭代对象1.2 判断一个对象是否是可迭代对象1.2 对可迭代对象的解读1.3 小结2. 迭代器2.1 for的解读2.2 解读迭代器2.3 自定义迭代器3. 迭代器的应用场景3.1 场景一3.2 场景二4. 迭代器的其他应用4.1 range4.2 类型转换1. 可迭代对象对list,tuple,str等类型的数据使用for…in…的循环语法, 可以从其中依次拿到数据进行使用,我们把这样的过程称为遍历,也叫迭代;同时称list,tuple,str等类型的的数据为可迭代对象。1.

2021-03-09 20:49:24 295 1

原创 对__call__的究极研究

文章目录1. `__call__`定义在普通类中2. `__call__`在Metaclass中的作用2.1 证明1. __call__定义在普通类中当在普通的类中定义__call__方法时,会使得实例对象变成一个可调用对象python的可调用对象都会有__call__方法class T: passt = T()t()输出TypeError: 'T' object is not callable说T的实例对象是不可调用的;但是当你在T中实现了__call__方法以后cl

2021-03-07 17:04:43 191

原创 Python 的hasattr(), getattr() 和 setattr()函数

文章目录1. 语法及用法1.1 hasattr()1.2 getattr()2.3 setattr()2. 以上三个函数和`__getattribute__`等魔法方法的关系1. 语法及用法1.1 hasattr()用于判断对象obj是否含有某属性, 返回True或Falsehasattr(obj, name)-> obj : 对象名-> name : 属性名—例子—class T: country = 'xxx' def __init__(self):

2021-03-06 17:51:02 305

原创 Python 偏函数

文章目录1. Python中参数的分类2. 偏函数2.1 位置参数2.2 关键字参数2.3 可变长参数3. 总结1. Python中参数的分类位置参数:def test(a, b), 其中,a,b就是位置参数。调用函数时,要保证实参和形参的数量和个数相同。命名参数(关键字参数):*后的参数即为关键字参数,传参的时候,必须以name=value的格式传:def test(*, a, b) ; 调用:test(a=1, b=2)缺省参数:有默认值的参数。def test(a, b=2)不定长参数:d

2021-03-04 17:32:50 752 4

原创 Python中的__repr__和__str__

文章目录1. `__repr__`的作用2. 实例对象接收的对象究竟是谁?3. 结论1. __repr__的作用输出实例对象时,其内容由__repr__的返回值决定举个例子吧,通俗易懂class Test: def __repr__(self): return '铁锤't = Test()print(t) # 铁锤可以看到,当打印实例对象的时候,打印的结果就是__repr__的返回值。而我们如果不定义__repr__则会默认使用object的__repr__函

2021-03-02 22:52:54 2486

原创 Python 元类

文章目录1. 什么是元类2. type的第二种用法3. MetaClass1. 什么是元类我们可以通过类来创建实例对象,那么什么可以创建类呢?—元类(元类是一种特殊的类,它可以创建一个类对象)我们知道,实例对象是由类对象创建出来的,通过__class__属性就可以查看创建实例对象的类对象class Test: passt = Test()print(t.__class__) # <class '__main__.Test'>那么,类对象是谁创建的呢?可以输出Te

2021-02-28 15:57:16 154 3

原创 Python 中的 __new__

文章目录1. `__new__`的作用2. 用法2.1 `__new__`的实现2.2 关于初始化的问题2.3 `__new__`和`__init__`的调用顺序1. __new__的作用编程中往往少不了的一个过程就是实例化, 而实例化是生成一个新的实例对象的过程; 而一个新的实例对象的生成则是由__new__来完成的。一个实例对象需要两样东西:空间 (由__new__申请)数据 (初始化由__init__完成)我们可将实例化的过程理解为盖房子。__new__的作用就是盖一座房子(申请

2021-02-27 18:34:43 1547 2

原创 Python枚举类

文章目录1. 枚举类的定义2. 枚举类的使用3. 注意点1. 枚举类的定义枚举的属性用于定义一组不可变的相关常量值,这些值可能具有语义意义,也可能不具有语义意义比如月份,周几等等可以用枚举类来定义。枚举类有两种定义方法:自定义类继承Enumfrom enum import Enumclass Test(Enum): # 类成员 rock = 0 paper = 1 scissors = 2使用Enum定义枚举类from enum import En

2021-02-26 15:32:54 807

原创 Python面向对象中的多态

文章目录0. 前言1. 多态1.1 什么是多态?1.2 程序语言中的多态1.3 多态的优点2. 鸭子模型2.1 什么是鸭子模型2.2 鸭子模型2.3 鸭子模型的应用0. 前言Python面向对象的三个基本特征是:封装继承多态通过研读多篇博文,发现python的多态别具一格,本文就来探讨一下python中的多态。1. 多态1.1 什么是多态?多态就是同一类事物具有多种形态那么什么叫同一类事物有多种形态呢?我们来举几个例子:动物是一类事物,有哪些形态呢?人,猪,狗,猫等等变形

2021-02-24 15:39:08 340

原创 Python中的多继承查找算法

文章目录1. 问题引入1. 问题引入python是支持多继承的,即一个子类可以同时继承多个父类,但是当子类调用父类的方法时,它总需要一个查找顺序,比如:D继承了B和C,同时B和C都继承了A。那么当D调用了父类中的method方法时,查找的优先顺序是什么呢?class A: def method(self): print('A')class B(A): passclass C(A): def method(self): print('C

2021-02-18 21:53:10 265

原创 Python中的新式类和旧式类

新式类和旧式类的区别很多文章中都提到新式类和旧式类这两个字眼,处于好奇,查了一下。旧式类:在早期的Python版本中,程序员在定义类的时候必须要指明类继承了object,类不会默认继承object,这些没有继承object的类就称为旧式类。新式类:与上面相反,继承了object类的子类就叫做新式类,而在python3中,所有的类都会默认继承object类,所以python3中的类都是新式类。...

2021-02-18 14:33:45 240

转载 python程序打包发布

文章目录1. 安装py2exe2. 打包程序1. 安装py2exe打开cmd输入pip install py2exe2. 打包程序首先你要编写一个程序setup.py,用这个程序来打包你的程序。from distutils.core import setupimport py2exesetup(console=['test.py']) # test.py就是你要打包的目标程序然后打开cmd,cd到test.py所在的路径下。输入python setup.py py2exe

2021-02-16 18:19:14 135

原创 __getattribute__,__getattr__,__setattr__,__delattr__

文章目录1. 属性访问的调用顺序2. `__setattr__`和`__delattr__`1. 属性访问的调用顺序在实例化后,对实例属性的访问和修改操作是经常使用的,那么当我们在执行这些操作的时候,python的内部做了什么呢?__getattribute__(self, name):访问属性时调用(查看是否存在该属性,若不存在,接着去调用__getattr__)__getattr__(self, name): 访问不存在的属性时调用__setattr__(self, name, value)

2021-02-11 16:49:24 175

原创 对于id()函数和内存存储的研究

文章目录1. id()函数2. 根据不同情况得出来的结论2.1 数字2.2 列表等1. id()函数id函数能够返回变量所指向的地址>>> help(id) Help on built-in function id in module builtins: id(obj, /) Return the identity

2021-02-06 14:49:47 382

原创 python文件操作

文章目录1. 文件的打开方式1.1 openbuffering参数newline参数1.2 with as1.3 文件对象的属性2. 基础操作函数2.0 文件指针2.0.1 什么是文件指针?2.0.2 相关函数2.1 read系列2.2 write系列2.2.1 `write`和`writelines`的区别:2.3 删除文件内容1. 文件的打开方式1.1 openpython在对文件进行编辑的时,首先需要打开文件获取文件对象,然后调用一系列函数对文件对象进行操作。file = open(file_

2021-01-31 19:11:08 131

原创 1

今天是1024

2020-10-24 00:03:15 98 1

原创 Win7 粘滞键漏洞利用绕过登录密码

文章目录1. 原理2. 利用1. 原理在win7登录界面,连按5次Shift,则会弹出粘滞键提示。而此程序的路径位于c:\windows\system32路径下。可以将此程序的路径掉包成cmd,实现在登录界面弹出cmd命令行,重置登录密码实现登录。2. 利用首先开启win7,在启动的过程中直接断电强制关机。然后再次启动,win7会出现一个修复的界面。我们选择修复排查问题那一选项。然后windows会建议我们还原系统,这里选择取消。取消后,会等待比较长的一段时间。这里选择查看问题详细信息

2020-09-26 13:55:32 4148 1

转载 HTML代码简写方法

原文链接:HTML代码简写方法  HTML代码写起来很费事,因为它的标签多。一种解决方法是采用模板, 在别人写好的骨架内,填入自己的内容。还有一种就是我今天想要介绍的方法----简写法。常用的简写法,目前主要是Emmet和Haml两种,本文只介绍Emmet。在Dreamweaver软

2020-09-10 16:16:35 956

原创 HTML基础

文章目录格式常用标签<a><q><blockquote><br>列表实体字符<img><form><input><label><fieldset>和<legend><select>和<option><textarea>格式<!DOCTYPE html><html> <thead></thead>

2020-09-10 16:04:28 159

原创 ms08-067漏洞复现

文章目录ms08-067简介复现实验环境漏洞利用ms08-067简介Windows Server服务RPC请求缓冲区溢出漏洞(MS08-067)。漏洞类别:远程溢出CVE-ID : 2008-4250漏洞详情:MicrosoftWindows是美国微软(Microsoft)公司发布的一系列操作系统。Windows的Server服务在处理特制RPC请求时存在缓冲区溢出漏洞。远程攻击者可以通过发送恶意的RPC请求触发这个溢出,导致完全入侵用户系统,以SYSTEM权限执行任意指令。对于Windo

2020-09-09 15:53:48 4483 2

原创 msf17-010(永恒之蓝漏洞利用)

文章目录实验环境渗透过程实验环境win7: 192.168.43.202kali: 192.168.43.185渗透过程查找ms17-010相关模块调用模块查看需要配置的参数这里yes的为必须配置的;其他可以用默认值,只需要配置rhosts为win7的地址。配置参数查询有哪些payload可以使用设置payload查看payload所需用的参数将lhost设置为kali的地址。尝试攻击如图,证明入侵成功。这里可以调用scr

2020-09-07 19:47:11 1879

原创 PHP基础(二)

文章目录1. PHP常量1.1 define定义常量1.2 常量作用域1.3 大小写不敏感设置2. PHP条件判断3. 超级全局变量3.1 GLOBALS3.2 $_SERVER1. PHP常量1.1 define定义常量define(name, value [,case_insensitive=false])PHP常量利用define定义;常量名不需要带$符号。默认是大小写敏感的。并且常量一经创建就无法修改其值。define('pi','3.14');echo pi; // 3.14

2020-09-07 09:37:19 149

原创 PHP基础(一)

文章目录1. 变量作用域1.1 Global1.2 static2. PHP输出函数3. PHP定界符4. PHP数据类型4.1 字符串-string4.2 整型4.3 浮点型-float4.4 布尔型-bool4.5 数组-array4.6 NULL1. 变量作用域localglobalstatic1.1 GlobalPHP有全局变量和局部变量之分。在函数外部定义的变量为全局变量,函数内部定义的变量为局部变量。在PHP中,正常情况下,访问全局变量有两种方式:利用GLOABLS数组(

2020-09-06 07:55:34 308

原创 SQLmap使用笔记

文章目录1. 基础语法1.1 常用参数介绍1.2 实例1.2.1 -u 测试目标网站是否存在漏洞1.2.2 限定参数及部分查询参数的使用1.2.3 --cookie1.2.4 --data1.2.5 -r2. 进阶语法1. 基础语法1.1 常用参数介绍为了便于使用和记忆,个人将自己经常使用的一些参数做了如下分类。赋值参数:-u : 指定测试目标URL--cookie : 测试时提交cookie信息;可用于cookie注入(当--level设置为2才可用)--data : 构造POST提

2020-09-03 13:46:55 353

原创 XSS小结

文章目录前言注入技巧1. 常见注入点2. 常用payload2.1 构造标签2.2 构造事件3. 绕过思路4. 注入思路前言最近学习了XSS注入。为了避免遗忘,总结一下。注入技巧1. 常见注入点URL输入框2. 常用payload2.1 构造标签1. <script>alert(1)</script>2. <a href=javascript:alert(1)>3. <img src=1 onerror=alert(1)>4. &

2020-09-02 13:50:21 364

原创 DVWA DOM-XSS

文章目录关于DOMlowmediumhighimpossible关于DOM因为自己还没有深入,系统的学习js和html。因此对于DOM的理解也不深入,就目前个人的认识,DOM类型的XSS是利用浏览器访问DOM对象,修改网页html结构,从而达到xss注入。等以后详细的学习了,再把这个介绍补上。这里推荐一篇有关DOM-XSS介绍的文章:DOM-XSS攻击原理与防御lowlow级别,没有防护。但是这里的输入框是一种选择类型的框框,无法在输入框中构造payload。但是通过观察可以发现,输入框所选择

2020-09-02 13:05:57 348

原创 DVWA--XSS

文章目录lowmediumHighImpossiblelowpayload<script>alert(1)</script><a href=javascript:alert(1)> 123low级别没有什么防御机制,一般的payload都是可以的。mediumpayload<a href=javascript:alert(1)>123<scRipt>alert(1)</script><scri<

2020-09-02 11:00:46 181

原创 XSS挑战之旅(10-18)

文章目录第十关第十一关第十二关第十三关第十四关第十五关第十六关第十七关第十八关第十关构造url提交level10.php?keyword=<script>alert(1)</script>首先ctrl+U看一下页面源码:<h1 align=center>欢迎来到level10</h1><h2 align=center>没有找到和&lt;script&gt;alert(1)&lt;/script&gt;相

2020-08-31 17:47:18 638

原创 代码优化篇之html实体编号

文章目录0. 关键字1. HTML实体编号的作用2. 案例0. 关键字HTML预留字符<实体字符&lt;实体编号&#60;格式:&xx;或&#xx;1. HTML实体编号的作用在 HTML 中,某些字符是预留的。比如,在 HTML 中不能使用小于号(<)和大于号(>),这是因为浏览器会误认为它们是标签。如果我们想要在HTML页面正确的显示预留字符,则需要用到实体字符或实体编号。比如:<使用&lt;或&#60

2020-08-27 19:35:39 2540 1

原创 XSS挑战之旅(1-9)

文章目录环境搭建第一关第二关第三关第四关第五关第六关第七关第八关第九关环境搭建XSSlab的搭建很简单,下载好压缩包,解压到phpstudy的WWW目录下即可访问。源码下载(t8t7)如果不想自己搭建的话,网上有很多搭建好的可以直接测试,比如:https://xss.angelo.org.cn前几关还是比较水的,直接把做题过程记录下来好了。。。第一关如图所示,第一关展示的是我们可以通过url中的?name参数,向网站提交数据,然后返回到页面上。那么直接试一下把name的值提交成弹框。

2020-08-27 14:17:54 1244

原创 Windows搭建DVWA靶场

搭建DVWADVWA下载地址注:DVWA依赖PHP环境,在搭建DVWA之前,先在电脑上安装一个PHPstudy。下载好DVWA之后,解压到phpstudy的WWW目录下,进入config目录下,找到config.inc.php.dist文件,把文件名改成config.inc.php,并修改文件中的两个字段$_DVWA[ 'db_user' ] = 'root';$_DVWA[ 'db_password' ] = 'root';注:以上分别为连接mysql数据库的账户和密码;根据自己实

2020-08-25 20:49:05 1092

原创 wireshark学习笔记 第一篇

文章目录1. 问题描述2. 抓包1. 问题描述在书上看到了一个有意思的案例,自己来复现一下。问题描述:有两台主机,默认网关相同,均为:192.168.0.1,P地址如下:win10: 192.168.0.106/24win7: 92.168.0.200但配置win7的子网掩码的时候,不小心把掩码配置成了255.255.255.224。问:此时,win10和win7还能通信么?本次探讨的主要内容是,通信过程中,这个发包和收包的过程是怎么样的。2. 抓包在抓包分析路由过程之前,我们可以

2020-08-22 14:50:00 258

原创 win10 配置IIS搭建web站点

首先打开控制面板选择程序和功能点击左边的启用或关闭Windows功能勾选以下内容然后打开管理工具打开Internet Information Services右击网站,选择新建站点这里我们指定的端口是80,但是和原本默认的网站设置的端口存在争用,我们把原来的网站关掉。然后启动刚才测试的网站即可。如通过提示万维网发布服务没有启动,那么需要打开服务 win+r 输入services.msc右击启动这个服务。然后再刚才配置的目录上创建一个index.html的文件浏览器输

2020-08-06 22:06:55 5722 1

空空如也

空空如也

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

TA关注的人

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