
Python
文章平均质量分 77
My6n
我们会毁灭于我们所热爱的东西
展开
-
volatility 工具(vol.py)报错 ERROR : volatility.debug : You must specify something to do (try -h)
记录在 kali 使用工具 volatility(vol.py)的一个报错及解决方案。找不到 Crypto 库,尽管我们已经安装了 pycryptodome 库。执行其他很多其他的插件(比如 mimikatz)也会遇到也会遇到这个报错。此时执行 vol.py 依旧是会报错的,没有 construct 这个库。解决方法:安装更新 setuptools 和 wheel。在安装第二个库 construct 时又遇到了报错。后面发现是 python 版本的问题。使用下载的脚本安装 pip。原创 2024-10-08 23:19:36 · 885 阅读 · 3 评论 -
python 安装库 pip install 永久替换国内源及Configuration file contains invalid cp936 characters in C:\Users的解决办法
但是如果我们希望直接 pip install 库名,而不用每次都追加 -i 参数,那么就需要在当前用户的目录下再新建一个名为 pip 的目录,在 pip 目录下新建配置文件 pip.ini。注意看一下你的 pip.ini 内容中是否有中文的注释,将注释内容去掉,仅保留英文内容。看了下网上很多是放在这儿,反正你放在当前用户的下一层目录即可。原创 2024-08-20 10:11:50 · 604 阅读 · 0 评论 -
记录无论 pip install 什么都会报错(由于目标计算机积极拒绝,无法连接)的一个可能解决方案
pip 和 setuptools 之间存在依赖关系,某些版本的 pip 需要特定版本的 setuptools 才能正常工作,单独更新 pip 可能导致与现有的 setuptools 版本不兼容,而同时更新两个工具可以确保它们之间的版本兼容性。在更新 pip 时,系统可能会使用缓存或系统路径中的旧版本 setuptools,这可能导致更新失败,通过同时更新两个工具,可以确保它们都被正确更新,并避免旧版本干扰。新版本的 setuptools 可能包含修复旧版本中的错误,这些错误可能会影响 pip 的正常更新。原创 2024-05-21 11:46:27 · 864 阅读 · 2 评论 -
python-程序流程控制
if i%x == 0 如果余数是 0 说明 i 不是素数,使用 break 结束内层的 for 循环,则会跳过内层的 else 语句(这里的 else 语句是用来输出素数的),如果余数不是 0 ,if 语句不满足,则会执行内层的 else 语句输出素数,外层的 else 语句是在外层 for 循环结束后执行的,输出 'over'。这里的 %d 和 %2d 是格式化字符串中的占位符,用于将数字插入到字符串中,%d不限定宽度,而 %2d 则是确保其至少占两个字节宽度,不足的地方用空格填充。原创 2024-04-17 14:51:57 · 887 阅读 · 0 评论 -
彻底解决 pyshark 库 TShark not found
新增 tshark 的路径为上面 tshark.exe 的位置,即 D:\Wireshark\tshark.exe。关于 pyshark 库 TShark not found 的问题至此解决。在 wireshark 安装目录下找到 tshark.exe。(注释主要是备份保险,当然你也可以直接修改)接下来我们找 pyshark 库的位置。这个是它原本的默认路径,我们将它注释掉。再次运行刚才的脚本,没有报错,执行成功。(先安装了 pyshark 库)使用编辑器(记事本)打开。依次点击 文件->设置。原创 2024-04-16 21:50:35 · 1598 阅读 · 0 评论 -
学了 Python 但又感觉没学 Python 不如重学 Python - day4(数据类型:列表)
列表常量用方括号表示;列表可以包含任意类型的对象;列表是可变的;列表储存的是对象的引用,而不是对象本身。append()方法会在原地修改列表,但它返回的是None。这是因为append()方法没有返回值,它只是将元素添加到列表的末尾,并更新了原列表,而不返回任何内容。因此,print(x.append('abc'))语句打印的是None,表示该操作没有返回有用的结果,只是修改了原列表。原创 2024-03-20 12:02:52 · 716 阅读 · 0 评论 -
学了 Python 但又感觉没学 Python 不如重学 Python - day3(数据类型:字符串)
字符串是一种有序的字符集合,用于表示文本数据。f 是 f-string 的语法,是一种用于字符串格式化的快捷方式;在 f-string 中,可以直接嵌入变量和表达式,而不需要使用传统的字符串格式化方法;{} 内放的是表达式,可以是变量、常量、表达式等;这部分被称为花括号或占位符,用于在字符串中表示将在运行时被替换的值。原创 2024-03-19 23:13:06 · 1342 阅读 · 0 评论 -
学了 Python 但又感觉没学 Python 不如重学 Python - day2(基础内置函数与变量引用的详细理解)
说简单的,我们给 x 赋了个 1 的值,此时对象是 1 ,当我们后面给 x 赋值为 2 了,那么对象 1 就没有引用了,占用的内存空间也就会被自动回收,这种回收机制在我们编程时是不需要考虑的。序列赋值:在 = 左侧是元组、列表表示的多个变量名,右侧是元组、列表或字符串序列表示的值,序列赋值可以一次性为多个变量赋值,顺序匹配变量名和值。(3)变量引用了对象,当在表达式中使用变量时,变量立即被其引用的对象替代,因此变量在使用前必须先为其赋值。在 Python 中,所有的数据都是以对象的方式存在。原创 2024-03-15 11:31:45 · 1177 阅读 · 1 评论 -
学了 Python 但又感觉没学 Python 不如重学 Python - day1(基本语句)
很多人可能看到过一些勇师傅之前写的博客,关于 Python 很多报错的解决方法、Python 的基础知识以及一些 Python 库的用法,但实际的勇师傅其实并不会写 Python 脚本,因此勇师傅决定再次重学 Python 基础语法,写这个博客既是对自己学习的总结,也希望可以帮助到刚接触 Python 的小白,各位如果有好的学习方法和视频也可以推荐推荐哈哈哈。原创 2024-03-13 14:32:28 · 986 阅读 · 0 评论 -
python 学习之 socket 库的基本使用(网络编程-套接字)
Socket 又称 "套接字",应用程序通常通过 "套接字" 向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯。python中提供了两个基本的 Socket 模块:服务端 Socket 和客户端 Socket,当创建了一个服务端 Socket 后,这个 Socket 就会在本机的一个端口上等待连接,当客户端 Socket 访问这个端口,两者完成连接后就能够进行交互了。原创 2024-01-31 11:51:33 · 6094 阅读 · 1 评论 -
python 学习之 re库的基本使用(正则匹配)下
前面曾经提到^表示字符串的开头,但它还有另外一个含义,当在一组方括号里使用 ^ 时,它表示"非"或"排除"的意思,常常用来剔除某个字符。re.U 表示特殊字符集 \w, \W, \b, \B, \d, \D, \s, \S 依赖于 Unicode 字符属性数据库。%s 是一种字符串格式化的方式,用于将字符串中的占位符替换为相应的值,替代的变量是通过 % 操作符的右侧提供的。re.L 表示特殊字符集 \w, \W, \b, \B, \s, \S 依赖于当前环境。原创 2024-01-26 23:28:02 · 1210 阅读 · 0 评论 -
python 学习之 re库的基本使用(正则匹配)上
我们先讲最基础的用法,介绍常见函数,后面再介绍一些常用的匹配规则。原创 2024-01-25 22:49:34 · 1286 阅读 · 0 评论 -
python 学习之 request 库的基本使用
re 为我们自定义的一个参数,用来接收请求返回的信息,在 python 中点表示调用的意思,我们这里就调用了 requests 库中的 get() 方法,括号内为请求的URL,使用单引号或者双引号包裹;就是加入一个 proxies ,字典的数据类型,内容为键值对的形式,分别为 http 和https 协议设置代理,我这里是转发到本地的 8080 端口,再使用 burpsuite 进行抓包拦截。re. text # 返回的是unicode 型的数据,一般是在网页的header中定义的编码形式。原创 2024-01-24 13:37:53 · 6629 阅读 · 0 评论 -
已安装crypto库依旧无法检测到该模块
找到该库的位置,我的路径在:D:\Python\Lib\site-packages。也就是你Python安装位置下的\Lib\site-packages文件夹下。重新刷新pycharm后可以看到已经没有关于crypto的报错了。找到crypto文件夹,将其改为Crypto(大写C)原创 2024-01-08 14:59:46 · 1798 阅读 · 0 评论 -
使用Python进行帧提取及指定帧插入实现文本隐写(CTF杂项出题方向)
关键帧是视频中特定时间点上的帧,这些帧是完整保存的图像。视频的分辨率影响图像的清晰度。将文本插入到视频帧中的位置通常选择在图像的较为平坦或者复杂的区域,以减小插入内容对整体图像的影响,提高隐蔽性。视频是由一系列连续的图像帧组成的,每一帧都是视频的静止画面。将文本放置在视频帧的角落,可以选择左上、右上、左下或右下,这样的位置相对不引人注意。,尤其是高速运动的区域,可以选择在这些区域插入文本,运动模糊可以帮助隐藏文本的存在。选择视频帧上的复杂纹理区域,比如树叶、花纹等,可以使插入的文本相对不容易被察觉。原创 2023-11-27 17:24:39 · 2423 阅读 · 0 评论 -
SyntaxError: Non-UTF-8 code starting with ‘\xff‘ in file but no encoding declared 解决办法与分析
最终解决办法是将代码复制下来,重新建一个py文件,将代码内容粘贴进去,即可正常执行。简单记录一下执行一个经过反编译后得到的py文件时报错的。或者在代码首行添加:# coding=gb2312。在代码首行添加:# coding=utf-8。或者在代码首行添加:# coding=gbk。有些确实是适用于这种方法的,但是我这里不行。(注意等号两边不要加空格)原创 2023-11-25 14:39:36 · 3593 阅读 · 0 评论 -
ImportError: Unknown magic number 3495 in test.pyc
在Python3.7及以上版本的编译后二进制文件中,头部除了四字节Magic Number,还有四个字节的空位和八个字节的时间戳+大小信息,后者对文件反编译没有影响,全部填充0即可;Python3.3 - Python3.7(包含3.3)版本中,只需要Magic Number和八位时间戳+大小信息。Python3.3 以下的版本中,只有Magic Number和四位时间戳。将版本对应的二进制码添加到pyc文件头部即可正常进行反编译。丢头部的magic number的pyc文件。原创 2023-11-21 19:20:54 · 1915 阅读 · 1 评论 -
解决uncompyle6反编译报错KeyError
报错内容:KeyError:'3.11.0' (这个是我自己的Python版本号)关于这个问题的解决方法我将放在下一篇博客,也是在Python专栏,欢迎大家来参考!至此,我们解决了uncompyle6反编译报错KeyError的问题。可以看到没有出现报错,而是提示我们需要输入用于反编译的文件。可以看到反编译成功,pyc文件被成功反编译为py源码。进行添加,我的Python版本是3.11(我的是在这个路径下:D:\Python\。它的路径大概在:D:\Python\。接下来再次尝试使用命令。原创 2023-11-21 18:13:47 · 3649 阅读 · 14 评论 -
Python之pyc文件的生成与反编译
看起来就是一堆乱码,这种主要是不想让别人看到源码的情况。pyc文件(PyCodeObject)是Python编译后的结果。当python程序运行时,编译的结果是保存于PyCodeObject,程序运行结束后,Python就将PyCodeObject写入到pyc文件中,这是个字节码文件。原创 2023-11-21 17:20:10 · 3840 阅读 · 0 评论 -
基于Python优化图片亮度与噪点
参数:密度(density)表示椒盐噪点的比例,即在图像中设置为黑色或白色的像素的比例。参数:强度(intensity)表示添加的相位噪点的强度,即在相位上引入的随机值的范围。方法:通过在每个像素的颜色通道上添加服从正态分布的随机数,模拟真实场景中的随机噪点。方法:在每个像素的颜色通道上添加从均匀分布中随机选择的整数,模拟图像中的波动噪点。参数:密度(density)表示斑点噪点的比例,即在图像中设置为斑点的像素的比例。参数:强度(intensity)表示添加的波动噪点的强度,即随机整数的范围。原创 2023-11-13 20:49:24 · 918 阅读 · 0 评论 -
剪贴板劫持--PasteJacker的安装
如果遇到报错,在结尾追加 --break-system-packages。按i进入编辑模式,将try的部分注释掉,并缩进return语句。找出来的结果有点多,我们直接找文件 updater.py(从 GitHub 库克隆PasteJacker。后面会继续介绍PasteJacker的基本用法。先找一下文件夹dist-packages。尝试运行pastejacker。安装PasteJacker。修改updater.py。ESC,wq保存退出。原创 2023-11-10 17:37:21 · 454 阅读 · 0 评论 -
面向网络安全-Python语言
对于上面得到的结果(ans),我们一般需要对它进行一个判断,是否符合一些漏洞的特征,如果是则输出目标存在相关漏洞是脆弱的,否则输出目标不存在相关漏洞,通常我们会使用if,elif,else语句的组合来实现。即使程序的语法完全正确,程序运行过程中任然可能会出错而导致程序终止,最典型的就是除零错,因为0不能作为除数,解释器会通知这个错误,并且这个错误会导致程序终止。当然,我们希望向用户提供更多与错误有关的信息,因此,我们一般会把异常储存到变量e中,再将e打印出来,同时还要显示地将e转换成字符串。原创 2023-11-03 16:58:55 · 259 阅读 · 0 评论 -
自制目录扫描工具并由py文件转为exe可执行程序
hidden参数是确告诉PyInstaller包含requests库,否则生成的东西除了exe程序还会有一个_internal文件夹,该文件夹是requests库的内部文件夹,用于存储库的内部数据和模块,在许多情况下,这个文件夹会随着库的使用而生成,我们可以使用上面的参数确保requests库的相关代码被包括在生成的exe文件中,并且不会产生_internal文件夹。除了用来调用前面定义的两个函数,main函数中的其它代码可以保证程序正常继续运行和关闭,以及对用户输入错误的提示和处理。原创 2023-11-02 20:18:37 · 602 阅读 · 2 评论 -
关于pyinstaller执行报错的解决方案
pyinstaller : 无法将“pyinstaller”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。在文件里面打开设置,找到Python解释器,在软件包里面找到 pyinstaller ,此时将鼠标悬停在上面,则会显示出该软件包所在绝对路径。但是我们要找的是Scripts文件夹的路径,我这里Scripts与Lib在同一目录下。比如我这里是:D:\Python\Lib\site-packages。所在位置 行:1 字符: 1。原创 2023-11-02 16:09:42 · 8127 阅读 · 6 评论 -
Python-文件操作
此外还可以使用readlines和readline进行读取,前者会返回一个列表,列表中每个元素为文件中的每一行数据,后者则是读取一行的数据,并且返回的数据类型不是列表。尽管文件退出后自动关闭,但是考虑到数据的安全性,每次使用完文件都要进行关闭,否则一旦程序崩溃,很可能导致文件中数据没有保存。如果文件不存在,系统会自动创建一个文件并写入数据,如果文件存在,则会清空文件原有数据,重新写入新数据。使用read方法读取文件:read(size),size表示要从文件中读取数据的长度,单位为字节;原创 2023-11-01 23:15:57 · 351 阅读 · 0 评论 -
Python-函数
使用def开头,后面紧跟函数名和圆括号(),函数内容以冒号起始,并且缩进。可以给函数的参数设置默认值,但是带默认值的参数一定位于参数列表末尾。如果有返回值,使用return语句关于函数的嵌套调用则是在一个函数中调用另一个函数;还有变量作用域的问题,变量分为全局变量和局部变量,前者定义在函数外,后者定义在函数内;global关键字:在变量名前使用global声明,该变量则会被当作全局变量使用。原创 2023-10-30 20:16:52 · 347 阅读 · 0 评论 -
Python-列表、元组和字典
一、列表概述二、列表的循环遍历1、使用for循环遍历列表2、使用while循环遍历列表三、列表的常见操作1、在列表中增加元素(1)使用append方法2)使用extend方法(3)使用insert方法2、在列表中查找元素3、在列表中修改元素4、在列表中删除元素(1)使用del删除(2)使用pop删除(3)使用remove删除5、列表的排序操作(1)使用reverse方法(2)使用sort方法四、元组1、访问元组2、修改元组原创 2023-10-25 13:42:17 · 765 阅读 · 1 评论 -
Python-字符串(切片操作与内建函数)
一、字符串介绍1、什么是字符串2、转义字符二、字符串的输入和输出1、字符串输出2、字符串输入三、访问字符串中的值1、字符串的存储方式2、使用切片截取字符串四、字符串内建函数1、find2、index3、count4、replace5、split6、capitalize7、title8、startswith9、endswith10、upper11、ljust12、rjust13、center原创 2023-10-23 19:36:23 · 1494 阅读 · 0 评论 -
Python常用语句(初学入门)不要一直做脚本小子
先从最外层开始判断,满足则执行一些操作,再判断是否满足内部嵌套的循环条件,若满足则执行相关操作,直到不满足内部循环条件时,结束内部while循环,来到外部while循环,直至最外层循环条件不满足时,结束整个外部的循环。讲的东西和代码这些都很简单很基础,大家莫笑我啊,因为我也是刚开始学Python,算是对自己学习的一个总结吧,同时也希望能帮助到初学者学习Python,加油!每进行一次循环flag的值都会加1,那么就会进行四次循环,此时flag=5,不满足条件,程序停止。输出多个对象时,需要用 , 分隔。原创 2023-10-19 16:21:57 · 2276 阅读 · 0 评论 -
Python基础语法
一、基本语法1、注释2、 缩进3、语句换行二、数据类型1、数字类型(number)2、布尔类型(bool)3、字符串类型(string)4、列表类型(list)5、元组类型(tuple)6、字典类型(dictionary)三、标识符和关键字1、标识符2、关键字四、简单数值类型1、整型2、浮点型3、布尔型4、复数型5、数字类型转换五、运算符1、算术运算符2、赋值运算符3、比较运算符4、逻辑运算符5、成员运算符原创 2023-10-16 20:19:59 · 452 阅读 · 0 评论 -
基于Web安全的Python编程(1)
一、http协议基础知识介绍1、http协议分类2、请求方法3、什么是URL4、请求头5、响应状态码二、常用Python库、函数、操作三、http常用请求方法1、不带参请求2、带参数请求(get和post存在细微区别)四、http响应属性获取1、获取状态码2、获取响应文本3、获取响应头和请求头4、获取请求url和cookie5、修改请求头原创 2023-09-27 21:47:33 · 730 阅读 · 0 评论 -
关于Python安装Scrapy库的常见报错解决
1、关于pip3命令的报错2、执行scrapy报错(Python3下的OpenSSL模块出错)3、卸载pyopenssl时报错原创 2023-09-22 17:21:36 · 3787 阅读 · 0 评论 -
Python环境配置及基础用法&Pycharm库安装与背景设置及避免Venv文件夹
一、Python环境部署及简单使用1、Python下载安装2、环境变量配置3、检查是否安装成功4、Python的两种模式(编辑模式&交互模式)二、Pycharm库安装与背景设置1、Python库安装2、Pycharm自定义背景三、如何避免Venv文件夹原创 2023-09-22 00:21:38 · 1670 阅读 · 0 评论 -
关于SSTI模块注入的常见绕过方法
1、过滤了中括号2、过滤了双下划线3、过滤了单下划线4、过滤了点5、过滤了大括号6、过滤了引号7、过滤了数字原创 2023-07-05 14:27:39 · 1923 阅读 · 0 评论 -
基于SSTI模块注入的常用payload总结
一、查找函数位置,利用函数实现1、利用file函数进行读取2、利用内嵌函数eval进行命令执行3、利用linecache函数进行命令执行二、查找类的位置,利用类下的函数实现1、利用_frozen_importlib_external.FileLoader类2、利用importlib类进行命令执行3、利用subprocess.Popen类进行命令执行三、利用os模块进行命令执行1、利用config2、利用url_for3、利用子类的os模块四、关于其他的利用原创 2023-07-05 10:38:47 · 1758 阅读 · 0 评论 -
[CSCCTF 2019 Qual] FlaskLight
[CSCCTF 2019 Qual] FlaskLight;SSTI模块注入;利用subprocess.Popen类实现命令执行原创 2023-07-04 23:40:57 · 469 阅读 · 0 评论 -
SSTI模板注入
1、原理简述2、常用payload及相关脚本函数调用、高危函数3、实战:攻防世界 Web_python_template_injection原创 2023-07-04 18:22:06 · 1204 阅读 · 0 评论