Python
asyn/testConnect IOC 注解(原文来自EPICS Technical:EPICS -- 测试asynDriver和设备支持的示例1-- 连接测试)
EPICS 学习,推荐EPICS Technical的“EPICS教程”。 这个应用程序可以用于测试连接管理。它用drvAsynIPPort连接一个设备并且在一个后台线程中周期地写入此设备。取决于是否连接了设备,将打印出错消息。可以通过循环上电或者断开网线连接或断开这个设备来测试这种行为。 以下是建立并且测试这个程序的完整过程: 1) 建立IOC应用程序框架[blctrl@main-
peewee 操作 sqlite 锁表问题分析
在使用python orm 框架 peewee 操作数据库时时常会抛出以一个异常,具体的报错就是 database is locked 初步了解是因为sqlite锁的颗粒度比较大,是库锁。当一个连接在写数据库时,另一个连接在想要写任意一张表都会报错。 为了解决这个问题,做如下的实验分析问题 理论分析 SQLite 是一个软件库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎
Python实现商城购物经典案例
代码分步骤思路: 1.在商城添加商品: opea_db = [{'store_name': '手机','num': 1}]while True: store_name=input('请输入需要存放的商品(按1退出添加1):') # def f(o): # list(filter(f,opea_db)) # 输出每个字典 def f(i
zeebe流程引擎&支持的客户端
zeebe工作流引擎 项目文档 https://docs.camunda.io/docs/components/zeebe/zeebe-overview/ https://github.com/camunda/zeebe zeebe客户端 语言 项目地址 JAVA(官方支持) https://github.com/camunda/zeebe/tree/main/clients/go
如何编写包的__init__.py
__init__.py 文件的主要作用是标记一个目录为 Python 包。这样,Python 才能认识到子目录应被视为一个包或模块的集合。除了定义 __version__,__init__.py 可以定义或包含多种内容,具体取决于包的目的和设计。以下是在 __init__.py 中常见的内容和最佳实践: 包的文档字符串 (docstring): 在 __init__.py 的开头添加一段描述该
iwebsec-sql注入 01 数字型注入
01、题目分析 数字型注入的sql语句 最最最常规的,直接注入 02、手工注入: 先判断有多少列 知道有多少列了,接下来判断数据库 知道数据库名称了,接下来就可以爆表 爆列 爆数据 收工 03、sqlmap工具注入: 判断能否注入: 能注入,暴库 暴表 暴字段 暴数据 04、代码分析
iwebsec-sql注入 02 字符型注入
01、题目分析 正常来讲的字符型的sql注入,sql语句如下 像这种就可以在注入的传参后面加上一个单引号,然后联合sql语句最后加上注释符 --+就行,但是这个网站不行,因为在这个靶场的字符型注入的中的源代码,加入了宽字节过滤,所以正常的字符型注入不能实现,所以复制一份源代码并命名为20.php,修改成正常的字符型注入代码 所以先尝试正常的字符型sql注入 02、正常字符型手工注入: 先判断有
iwebsec-sql注入 03 bool型注入
01、题目分析: 三大盲注型注入中的布尔型注入,说明只会回显正确结果,错误结果将不再回显,对于布尔型注入,手工注入会费时费力,因此布尔注入比较适合工具注入 02、sqlmap工具注入: 一把梭 03、手工注入: 盲注,简单的来讲就是无论你输入什么内容,页面都不会出现错误提示,如果查询结果正确就显示类似查询成功或者其他的,错误就不会显示。所以注入思路其实就是一个个猜,比如数据库名的长度是6个吗
iwebsec-sql注入 04 时间延迟型注入
01、题目分析: 三大盲注中的时间型注入,当查询语句正常的时候,不会有什么返回值或者回显,唯一的特征就是可以通过sleep函数来判断sql语句是否正确,也就是说,当有办法能判断输入语句是否正确的时候,步骤就和bool盲注一样了,话不多说,直接先让我们伟大的sqlmap跑起来 02、sqlmap工具注入: 一把梭 03、手工注入: 盲注,简单的来讲就是无论你输入什么内容,页面都不会出现错误提示
docker方式部署 uvicorn python项目
uvicorn 项目接触比较少,写dockerfile编译后,启动一直报错重启,尤其是最后写 ENTRYPOINT 启动命令,改了很多次,特地记录下。 以下为正确的dockerfile文件 注: 1.RUN pip install -i 要替换成国内的源,要不然下载插件速度很慢,,例如阿里源,豆瓣源等,这里用清华源 2.最后的--host,--port 一定要和参数分开写,要不然会报错无效参
iwebsec-sql注入 05 报错型注入
01、题目分析: 三大盲注中的报错型注入, 02、sqlmap工具注入: 一把梭 03、手工注入: 盲注,简单的来讲就是无论你输入什么内容,页面都不会出现错误提示,如果查询结果正确就显示类似查询成功或者其他的,错误就不会显示。所以注入思路其实就是一个个猜,比如数据库名的长度是6个吗,看看是否正确,没显示继续猜,正确就猜数据库名第一个字母是a吗,是b吗......这样一直猜,猜出来数据库名,表
iwebsec-sql注入 06 宽字节字符型注入
01、题目分析 宽字节字符型注入,因为源代码中传参get值的时候,有一个addslashes() 函数,是返回在预定义字符(' " )之前添加反斜杠的字符串。 也就是说,当我们按照正常的字符型注入的时候,会在'前加入,也就是说,我们在url上 因为sql语句中没有反斜杠,所以一定会报错,那我们就完成不了正常的注入,所以我们应该想办法把他去掉 02、宽字节过滤下的字符型手工注入 在'前加上%d
iwebsec-sql注入 07 空格过滤
01、题目分析 空格过滤就是将用户输入的空格过滤掉,众所周知,sql注入语句中会有很多的sql注入语句,如果进行了空格过滤,那么sql注入语句会因为参数连接在一快导致不能正常注入 02、手工注入 既然是数字型注入,那么对sql注入语句中的空格用其他内容替换即可,可以使用/**/、()、%0a等等,我这里使用的是括号以及url编码%0a代表空格 依旧是先测试是字符型还是数字型 剩下的只需要将sql
iwebsec-sql注入 08 大小写过滤注入
01、题目分析 大小写过滤顾名思义,会对正常小写的sql语句进行过滤,这个时候只需要大写sql注入语句即可 02、手工注入 02、工具注入 03、代码分析
iwebsec-sql注入 09 双写关键字绕过
01、题目分析 大小写过滤顾名思义,会对正常小写的sql语句进行过滤,这个时候只需要大写sql注入语句即可 02、手工注入 关键词绕过顾名思义,就是将一些sql注入中会用到的一些关键词进行过滤,本关是将select过滤了,那就双写写成seselectlect 02、工具注入 因为sqlmap中并没有双写绕过的脚本,因此借用shadowwolf大神的脚本 把这个文件拷贝到sqlmap的tampe
iwebsec-sql注入 10 双重url编码绕过
01、题目分析 依旧是对关键词进行了过滤,除了双写大小写等过滤方法还可以采用双重url编码, 在 SQL 注入攻击中,双层 URL 编码绕过机制是一种黑客利用 URL 编码的漏洞绕过安全检查的手法。原始的 URL 编码是将特殊字符转换成 % 后面跟着它的 ASCII 值的十六进制表示。例如,' 被编码为 %27," 被编码为 %22。 然而,某些 Web 应用程序在接收到 URL 编码值时,会自动
iwebsec-sql注入 11 十六进制编码绕过
01、题目分析 这里对单引号双引号啥的进行了过滤,可以采用16进制编码进行绕过 02、手工注入 这个和上次的双重url编码有异曲同工之妙,不过这个编码就简单了,直接十六进制编码即可,这里采用的编码软件是CaptfEncoder-win-x64-3.1.2.exe,16进制编码主要是在引号方面 02、工具注入 还有什么比有工具有脚本更美妙的呢,直接梭哈 03、代码分析
iwebsec-sql注入 12 等价函数替换过滤
01、题目分析 依旧是对等号进行了过滤,那么可以尝试一些等价值的内容来替换等号 02、手工注入 依旧是对等号进行了过滤,那么可以尝试一些等价值的内容来替换等号,比如like,rlike,regexp替换,id = 1可以用id like 1以及id > 0 and id < 2以及!(id <> 1)进行绕过 02、工具注入 还有什么比有工具有脚本更美妙的呢,直接梭哈
【pandas小技巧】--统计值作为新列
这次介绍的小技巧不是统计,而是把统计结果作为新列和原来的数据放在一起。pandas的各种统计功能之前已经介绍了不少,但是每次都是统计结果归统计结果,原始数据归原始数据,没有把它们合并在一个数据集中来观察。 下面通过两个场景示例来演示如果把统计值作为新列的数据。 1. 成绩统计的场景 成绩统计及其类似的场景比较常见,也就是把每行统计的结果作为该行的一个新列。比如: 统计每个学生的各科总分和平均分
Ubuntu 开机自启动Django程序
在Ubuntu系统中设置开机启动一个命令,如 python manage.py runserver 0.0.0.0:8000 来启动Django服务器,可以通过以下步骤实现: 创建一个 Systemd Service 文件: 打开终端并使用文本编辑器(例如 nano 或 vim)创建一个 Systemd Service 文件,比如 django_app.service: bashCopy code
CentOS7.9中的Glibc2.17源码编译升级到Glibc2.31
一、准备工作 1、配置yum阿里镜像源 查看yum当前配置的仓库,如果yum配置的不是阿里云源,请配置阿里云源。 验证是否能ping通阿里云 备份官方的原yum源配置 下载Centos-7.repo文件 清除及生成缓存 2、安装Python3 3、升级gcc 4、升级make 5、安装biso 二、源码编译安装 注意:如果make编译完有错误,一
Python包名和Pypi项目名
在PyPI和setuptools中,项目名称中的下划线 (_) 和连字符 (-) 都是允许的,但它们在某些上下文中有所不同。 PyPI项目名: 当你上传一个包到PyPI时,项目名称中的下划线 (_) 和连字符 (-) 都是允许的。但为了统一,PyPI会视两者为相同。例如,如果有人上传了名为 my_project 的项目,那么其他人就不能再上传名为 my-project 的项目,因为PyPI会
Win11 privateGPT
目标还是用GPT实现局域网内文档内容快速查询。发现privateGPT似乎更接近这个目标。 使用privateGPT进行多文档问答 · ymcui/Chinese-LLaMA-Alpaca Wiki (github.com) 第一步安装llama-cpp-python这里就遇到问题了。 默认的命令是需要编译的,结果就报错了。查了一下,是我的VS太老了,需要VS2019以上版本,来支持cmake的s