- 博客(61)
- 资源 (46)
- 收藏
- 关注
原创 builtins.TypeError: sequence item 0: expected a bytes-like object, str found
Python3中会遇到此问题,均为Python2兼容导致。'ssh-rsa': keys.Key.fromString(data=pubKeyString)改为b'ssh-rsa': keys.Key.fromString(data=pubKeyString)
2019-07-31 18:58:38 1458
原创 Python字典类型内部做判断赋值
# coding=utf-8import sysaaa = 1bbb = 2ccc = {"zhaoyun":"abc" if aaa == 2 else "cba", "zhangfei":"def" }print (ccc)结果:{'zhangfei': 'def', 'zhaoyun': 'cba'}...
2019-07-31 15:30:27 731
原创 error: command ‘x86_64-linux-gnu-gcc‘ failed with exit status 1
【代码】error: command 'x86_64-linux-gnu-gcc' failed with exit status 1。
2019-07-30 20:04:50 3902 1
原创 打印Python当前版本详细信息
import sysprint ("Python Version {}".format(str(sys.version).replace('\n', '')))
2019-07-30 19:41:49 9615 1
原创 判断当前用户是否为root
限制程序root用户执行,防贼搞事情。if os.name == 'posix' and os.getuid() == 0: print('ERROR: You must not run zhaoyun as root!') sys.exit(1)
2019-07-30 18:57:49 1003
原创 Python面向对象编程之Zope.interface安装使用( @implementer)implements
python中也有interface的概念,但是python其本身不提供interface的实现,需要通过第三方扩展库来使用类似interface的功能,一般都是Zope.interface。如上图所示:zope.interface下载成功后提示我pip版本较低,然后升级pip到最新版本,升级成功后zope.interface就安装成功了,接下来使用即可。3、类描述对象的属性和方法(实现接口的类,必须实现接口内所描述的所有方法,否则必须声明为抽象类);1、类通过继承接口的方式,来继承接口的抽象方法;
2019-07-30 18:39:57 1844
原创 漏洞平台批量安装
今天给大家分享一个docker安装的漏洞平台批量安装vulstudy是专门收集当下流行的漏洞学习平台,并将其制作成搬运工镜像,方便大家快速搭建环境,节省搭建时间,专注于的漏洞学习上目前。
2019-07-30 10:54:24 1316 1
原创 installer,source,binary,archive 版本区别
二进制包,已编译好的可直接使用的程序,解压缩后,点击bin目录下的.sh或者.bat执行文件即可使用。源代码包,需要经过计算机编译才能执行安装。安装程序,执行exe文件即可以安装。
2019-07-30 10:36:33 9415
原创 Python实现FTP服务器和客户端
服务器配置管理稍显复杂,不利于安全,服务器需要开放随机高位端口以便客户端可以连接,因此大多数FTP服务软件都可以手动配置被动端口的范围。FTP只通过TCP连接,FTP不同于其他服务的是它使用了两个端口, 一个数据端口和一个命令端口(或称为控制端口)。如果客户端开启了防火墙,或客户端处于内网(NAT网关之后), 那么服务器对客户端端口发起的连接可能会失败。通常21端口是命令端口,20端口是数据端口。服务端配置简单,利于服务器安全管理,服务器只需要开放21端口。安装模块 pyftpdlib。
2019-07-29 18:59:22 6815 2
转载 FTP:文件传输协议(指令及响应代码)
文件传输协议(FTP)使得主机间可以共享文件。 FTP 使用 TCP 生成一个虚拟连接用于控制信息,然后再生成一个单独的 TCP 连接用于数据传输。控制连接使用类似 TELNET 协议在主机间交换命令和消息。 FTP 的主要功能如下:提供文件的共享(计算机程序 / 数据); 支持间接使用远程计算机; 使用户不因各类主机文件存储器系统的差异而受影响; 可靠且有效的传输数据。 FT...
2019-07-29 17:36:18 1363
原创 获取Shell(提权)后的操作(windows、Linux)
查看用户身份,如果是系统用户那就再好不过了,如果是普通用户的话,就得想办法提权了。但是这里要注意,远程连接前判断该用户是否在线,万一对方管理员在线,你把人家给挤下去了,这样一下子就暴露了。先查看当前用户身份,是否是root权限身份,如果不是的话,查看系统版本,是否可以利用已知漏洞提权的,比如 CVE-2016-5195。:获得了权限之后,尽一切可能搜集该主机的信息,该主机上各种服务的用户名和密码。当我们通过对Web服务器进行渗透,拿到了该Web服务器的shell后,可以执行系统命令后,我们该如何操作呢?..
2019-07-26 16:24:24 8052
原创 Linux下9个有用的touch命令示例(更改文件时间、更新文件时间)
在 touch 命令中使用 -c 选项即可,如果文件存在,那么我们可以改变文件的访问时间,如果不存在,我们也可不会创建它。注意:在上述命令中,如果我们不指定 -c ,如果系统中不存在该文件那么 touch 命令将创建一个新文件,并将时间戳设置为命令中给出的。假设我们想要将特定的日期和时间设置为文件的访问和修改时间,这可以使用 touch 命令中的 -c 和 -t 选项来实现。每当我们使用 touch 命令更改文件和目录的访问和修改时间时,它将当前时间设置为该文件或目录的访问和修改时间。
2019-07-26 11:37:26 1377
原创 ubuntu安装python3、setuptools、ipython
1. python3sudo apt-get install python32. pip3sudo apt install python3-venv python3-pip3. 升级pip3pip3 install --upgrade pip4.安装setuptools1、下载ez_setup.py文件下载地址:https://bootstrap.pypa....
2019-07-25 14:29:02 916
原创 python3时间的转换及比较、计算几天前的时间、计算时间差(秒)、日期类型转换字符串
【代码】python3时间的转换及比较、计算几天前的时间、计算时间差(秒)、日期类型转换字符串。
2019-07-24 11:05:45 4001 1
原创 Python获取同目录下json文件内容(读取json文件)
这种写法可以替代配置文件的传参,效率更高json文件:baittype.json{ "bait_type":[ { "type":"ssh", "user":"root", "password":"qazwsx", "start_time":"14:00:00", ...
2019-07-23 16:42:33 4507 1
原创 python中os.path.dirname(__file__)的使用(获取文件夹路径)(获取当前py文件绝对路径)
(1).当"print os.path.dirname(__file__)"所在脚本是以完整路径被运行的, 那么将输出该脚本所在的完整路径,比如:那么将输出 d:/pythonSrc/test(2).当"print os.path.dirname(__file__)"所在脚本是以相对路径被运行的, 那么将输出空目录,比如:那么将输出空字符串。
2019-07-23 15:55:51 3945 1
原创 NameError: name ‘file‘ is not defined
原因:python版本升级,函数使用有所变化。file函数改为open函数。
2019-07-22 17:06:48 4831 1
原创 python3+requests:get、post请求(python get、post)
(1)请求正文是application/x-www-form-urlencoded。(2)请求正文是multipart/form-data。(2)有请求参数的类型(键值对形式表示参数)(3)有请求头(键值对形式表示请求头)(4)请求正文是binary。(1)没有请求参数类型。(3)请求正文是raw。
2019-07-22 17:04:35 2609 1
原创 cannot use a string pattern on a bytes-like object(bytes与str互转)
python2转python3遇到的问题看源码:buff = proc.communicate()stritem = buff[0]str_list = re.split(r' +|\n', stritem)运行出现错误:cannot use a string pattern on a bytes-like object这是因为stritem = buff[0] ...
2019-07-22 16:22:19 1156
原创 Web渗透测试完整实例(windows)
学习一整套的web渗透测试实验对以后的测试工作很有帮助,所以我把学习环境中的实现写下来,提供对整个网站测试的经验。(1)了解黑客是如何通过漏洞入侵网站,并获得服务器权限;(2)学习渗透测试完整过程黑客通过挖掘网站的注入漏洞,进而获得管理员账号密码进去后台,通过数据库备份,拿到webshell;然后黑客登录shell,通过2003服务器的提权exp拿下服务器的权限。
2019-07-22 12:10:35 4731 1
原创 docker ubuntu16.04镜像下安装cowrie蜜罐记录
修改sshd_config文件将端口改为千万不要cowrie.cfg文件中监听的端口一致 62223,否则进入22端口的流量就转发到新的ssh端口,蜜罐被屏蔽掉了。-u 表示选择登陆的用户名, -p 表示登陆的用户密码,上面命令输入之后会提示输入密码,此时输入密码就可以登录到mysql。这里先不着急,我们的docker容器ubuntu还没有装mysql,一会再装。为空没有安装,进行安装,安装期间输入root用户登陆mysql的密码。安装iptables,docker的ubuntu没有安装。
2019-07-19 18:42:17 668
原创 Linux PWN从入门到熟练
最近在复习pwn的一些知识。主要涉及到当堆栈开启了保护的时候,我们不能够直接将shellcode覆盖到堆栈中执行,而需要利用程序其他部分的可执行的小片段来连接成最终的shellcode。此小片段就是gadgets。本文主要通过练习题的方式讲述如何寻找gadgets,如何利用现有的工具来加速自己的pwn的效率。Gadgets的类型和难度也逐步变化。下面带来手把手教你linux pwn。让你的pwn技术从入门到熟练。练习题的难度逐步加大。
2019-07-19 14:22:26 1780
原创 linux下的各个语言中stdin,stdout和stderr理解
标准错误和标准输出一样都是输出到终端上, 标准错误输出的文件标识符为2。笔者更倾向于从语义上分析:在程序处理的时候,正常的信息输出作为标准输出,产生错误的输出作为标准错误输出。这样在重定向的时候,就可以将正常的信息和错误的信息重定向到不同的文件。在linux中经常会看到stdin,stdout和stderr,这3个可以称为终端(Terminal)的标准输入(standard input),标准输出( standard out)和标准错误输出(standard error)。标准输入的文件标识符为0。
2019-07-16 16:05:26 2374
原创 Python @property装饰器的用法,判断函数参数整形、字符串、取值范围
如果我们对所赋的值有一定的限制,比如要求名字必须是字符串,年龄必须是数字,否则会对方法的调用造成影响,这个时候单纯的赋值就不能满足这样的过滤效果了。既然是条件过滤,那么这几条代码就需要放在方法里,所以就有了setName(),getName()这样的方法,在set方法里做条件限制,使用的时候是这样的:p1 = People('张三', 22)p1.set('李四')print(p1.ge...
2019-07-16 15:43:57 506
原创 Docker Dockerfile 定制镜像
VOLUME ["", ""...]VOLUME 之前我们说过,容器运行时应该尽量保持容器存储层不发生写操作,对于数据库类需要保存动态数据的应用,其数据库文件应该保存于卷(volume)中。为了防止运行时用户忘记将动态文件所保存目录挂载为卷,在 Dockerfile 中,我们可以事先指定某些目录挂载为匿名卷,这样在运行时如果用户不指定挂载,其应用也可以正常运行,不会向容器存储层写入大量数据。这里的/data。
2019-07-15 11:13:26 222
原创 docker镜像没有ifconfig、ping指令
apt-get updateapt install net-tools # ifconfigapt install iputils-ping # ping
2019-07-12 18:11:43 2181 1
原创 Linux下查看网关方法
Linux下查看网关方法route -n ip route show traceroute www.prudentwoo.com -s 100 第一行就是自己的默认网关 netstat -r more /etc/network/interfaces Debian/Ubuntu Linux more /etc/sysconfig/network-scripts/ifcfg-eth0...
2019-07-12 15:19:20 7767
原创 Docker 的4种网络模式
这条规则会将源地址为172.17.0.0/16的包(也就是从Docker容器产生的包),并且不是从docker0网卡发出的,进行源地址转换,转换成主机网卡的地址。所定义的私有IP网段中,选择一个和宿主机不同的IP地址和子网分配给docker0,连接到docker0的容器就从这个子网中选择一个未占用的IP使用。这个模式和前两个不同。bridge模式是Docker默认的网络设置,此模式会为每一个容器分配Network Namespace、设置IP等,并将一个主机上的Docker容器连接到一个虚拟网桥上。
2019-07-12 14:54:29 2364
原创 Ubuntu 14.04 16.04 安装最新的 docker
Ubuntu 14.04 16.04 (使用apt-get进行安装)# step 1: 安装必要的一些系统工具sudo apt-get updatesudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common# step 2: 安装GPG证书curl -fsSL ...
2019-07-12 10:54:55 421 1
原创 SQLAlchemy 多态进阶(__mapper_args__ )、多对多标签
这里定义了雇员Employee 模型,指定type字段为多态所在字段,并且对于这个模型,当type字段为'employee'时,即为一个雇员再看下面这两个继承之后的模型}}这里又定义了两个模型,Engineer,Manager,并对应了两张表,这两张表的结构除了有少许不同,类似的,polymorphic_identity指定了这两种模型对应的type字段值,可不可以完全在一张表上实现这样的多态?这样的模型可以用作M2M关系吗?两者的答案显然是肯定的。
2019-07-10 18:50:18 4076
转载 Python并发之协程gevent基础
1,gevent介绍gevent是第三方库,通过greenlet实现coroutine,创建、调度的开销比线程(thread)还小,因此程序内部的执行流效率高。gevent 实现了 python 标准库中一些阻塞库的非阻塞版本,如 socket、os、select 等 (全部的可参考gevent1.0 的 monkey.py 源码),可用这些非阻塞的库替代 python 标...
2019-07-09 20:05:24 1620
转载 SQLAlchemy 多条件查询
SQLAlchemy and or 查询方式范例:AND:# use and_()from sqlalchemy import and_query.filter(and_(User.name == 'ed', User.fullname == 'Ed Jones'))# or send multiple expressions to .filter()query.f...
2019-07-09 18:32:40 13681
原创 pymongo 日期类型
这是因为mongo中的date类型以UTC(Coordinated Universal Time)存储,就等于GMT(格林尼治标准时)时间。而系统时间使用的是GMT+0800时间,两者正好相差8个小时。mongo中的日期类型,使用ISO格式,例如:ISODate("2012-11-02T07:58:51.718Z")。我们看到,mongo中的时间似乎与系统时间相差了8个小时,why?当前日期: 2012-11-02 星期五。当前时间: 16:13:14.95。输入新日期: (年月日)
2019-07-09 18:06:21 4208
原创 python - 获取时间戳(10位和13位)
在python里,在网上介绍的很多方法,得到的时间戳是10位。而java里默认是13位(milliseconds,毫秒级的)。在python 开发web程序时,需要调用第三方的相关接口,在调用时,需要对请求进行签名。需要用到unix时间戳。(1)默认情况下python的时间戳是以秒为单位输出的float。强制转换是直接去掉小数位。round()是四舍五入。
2019-07-09 15:46:22 34954 1
原创 notepad++以16进制查看文件
下载地址:https://sourceforge.net/projects/npp-plugins/files/Hex%20Editor/Hex%20Editor%20Plugin%20v0.9.5/HexEditor_0_9_5_UNI_dll.zip/download?2、以Hex Editor为例, 下载插件后,解压缩后把HexEditor.dll文件复制到安装目录(如C:\Program Files\Notepad++\plugins),退出NotePad++重新打开即可!
2019-07-09 10:52:38 5788 1
原创 python中 yield 的用法详解——最简单,最清晰的解释(排序节省内存消耗)
先大致说一下send函数的概念:此时你应该注意到上面那个的紫色的字,还有上面那个res的值为什么是None,这个变成了7,到底为什么,这是因为,send是发送一个参数给res的,因为上面讲到,return的时候,并没有把4赋值给res,下次执行的时候只好继续执行赋值操作,只好赋值为None了,而如果用send的话,开始执行的时候,先接着上一次(return 4之后)执行,先把7赋值给了res,然后执行next的作用,遇见下一回的yield,return出结果后结束。next程序停止的地方开始执行的。
2019-07-08 18:35:40 262
Fortify SCA 20.1.1代码审计
2023-06-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人