- 博客(183)
- 资源 (3)
- 收藏
- 关注
原创 docker镜像 ubuntu:22.04 21.04 apt-get update 报错 Problem executing scripts APT::Update::Post-Invoke ‘rm
docker镜像 ubuntu:22.04 21.04 apt-get update 报错 Problem executing scripts APT::Update::Post-Invoke ‘rm -f /var/cache/apt/archives/如果有原因不能升级 临时解决方案 注意是临时 线上环境不能这样使用。升级docker 到20.10.8 以上的版本。ubuntu如何升级docker到最新版本。
2023-05-22 09:55:04
1316
原创 python对于操作xml 忽略命名空间 处理解析修改xml
如果我们直接处理xml的话会遇到一些有命名空间的xml如果正常要添加一个含有命名空间的节点需要这么创建 header = Element(r'{http://schemas.openxmlformats.org/wordprocessingml/2006/main}headerReference',{ r"{http://schemas.openxmlformats.org/wordprocessingml/2006/main}type": "first",
2021-11-19 15:59:09
5513
原创 python操作一段shellcode遇到的问题bytes 转义符问题
我写的程序会接收一个shellcode的变量 然后将这个shellcode aes加密的字符串写到go的代码里 go使用go-shellcode执行shellcode一、python2和python3对于 这种类型的字符串是不一样的#!/usr/bin/python# coding=utf-8'''Date: 2021-09-24 10:33:47LastEditors: recarLastEditTime: 2021-09-24 10:33:53'''text = b"\xfc\x4
2021-09-24 15:48:58
712
2
原创 pip Could not find a version that satisfies the requirement *(from -r requirements.txt)
在制作一个docker镜像的时候RUN pip install -r requirements.txt -i http://pypi.tuna.tsinghua.edu.cn/simple但是报错说 找不到这个版本 我就去pypi搜 发现是有这个版本的那么接下来怎么查看呢 pip —help 可以看到很多帮助信息于是详细输出RUN pip install -r requirements.txt -i http://pypi.tuna.tsinghua.edu.cn/simple -vvv好的报错的
2021-07-28 21:16:59
561
原创 python asyncio 异步获取子域名小demo
96106 字典用了228秒可能是我写的方式不对我之前用多线程的方式 只要 118秒 (https://github.com/Ciyfly/y_subdomain)#!/usr/bin/python# coding=utf-8'''Date: 2021-06-24 16:32:54LastEditors: recarLastEditTime: 2021-06-24 17:33:30'''import asyncioimport aiodnsimport timeloop = a
2021-06-24 17:42:48
219
原创 python 对asnyc异步限流
因为对于一些请求如果是异步的话 会产生很大的并发连接量 需要限制一下不然对接api会有频率限制或者打挂了的情况固定任务队列大小import asyncioimport randomasync def download(code): wait_time = random.randint(1, 3) print('downloading {} will take {} second(s)'.format(code, wait_time)) # 发起请求阻塞的地方 aw.
2021-06-22 10:30:40
360
原创 简单了解taint 污点追踪
php扩展流程先 模块初始化阶段(MINIT)注册常量或者类等初始化操作然后 模块激活阶段(RINIT)该过程发生在请求阶段, 例如通过url请求某个页面,则在每次请求之前都会进行模块激活(RINIT请求开始)。 例如PHP注册了一些扩展模块tainttaint主要由三部分构成,污点标记、污点传播、污点沉降污点方法//定义mark规则#define TAINT_MARK(str) (GC_FLAGS((str)) |= IS_STR_TAINT_POSSIBLE)#define
2021-05-18 18:10:44
2052
1
原创 gitlab前面部署个nginx 302跳转是Location http://gitlab的解决
部署了一个gitlab,前面要加一个特制的nginx都是基于docker部署的当正常反向代理的话,访问登陆后会跳转到 http://gitlab/xx/xx 不是机器的ip 导致访问不了查了很多相关配置 修改gitlab的都没有效果。最终解决 只需要如下配置 location /{ proxy_redirect off; proxy_set_header Host $host; proxy_set_header X
2021-01-05 17:32:29
1482
原创 Python3 解析请求字符串格式为请求对象
是python3的读取 requests.txt 然后解析输出对象requests.txtPOST /search.php?test=query HTTP/1.1Host: testphp.vulnweb.comUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:75.0) Gecko/20100101 Firefox/75.0Accept: text/html,application/xhtml+xml,application/xm
2020-05-26 16:53:18
787
原创 python对变量的字符串不转义 变量如何加r
这个变量是含有16进制。python继续操作不是原始字符串,不能进行正则匹配。如果是字面量字符串可以在前面直接加r但是对于变量的话使用 repr(变量) 来实现不进行转义即 变量 = repr(变量)repr() 函数将对象转化为供解释器读取的形式str是会漂亮的输出 格式化输出字符串 所以会进行转义而repr是明确的 所以没有进行转义处理参考 :https://www.geeksforgeeks.org/str-vs-repr-in-python/https://stackoverflo
2020-05-22 18:03:51
10363
5
原创 python socket 获取目的ip getsockopt
是一个需求需要获取连接socket的目的ip,不是本机ip,传递过来的流量的目的ip不是本机ip研究得知需要使用 getsockopt 函数具体实现from socket import *SO_ORIGINAL_DST = 80s = socket(AF_INET, SOCK_STREAM)s.setsockopt(SOL_SOCKET, SO_REUSEADDR, 1)s.bind(('192.168.0.2', 1234))s.listen(1)conn, addr = s.acce
2020-05-18 19:44:28
2319
原创 docker 启动mongodb并设置用户名密码
很多抄来抄去写的都是 先 --auth 启动后再exec bash进入容器 添加用户名密码这种是错误的,都已经开启auth 用户权限验证了是不能进入容器添加用户名和密码的!!!真正的做法 可以去dockerhub看到官方已经写了真正的用法地址: https://hub.docker.com/_/mongo最后命令如下:sudo docker run -d -p 27017:27017 ...
2019-11-19 21:21:39
9554
原创 nginx: 报错 socket() [::]:80 failed (97: Address family not supported by protocol)
2019 11 19使用dockerfile构建的nginx基于 ubuntu:14.04的镜像 会报这个错误需要修改如下文件:/etc/nginx/sites-available/default将这里的 文件修改为server { listen 80; # listen 80 default_server; #listen [::]:80 default_server;其他文...
2019-11-19 15:10:51
898
原创 sqlmap源码浅析
这里写到了我的hexo博客上链接地址 :sqlmap源码浅析https://ciyfly.github.io/2019/11/08/sqlmap%E6%BA%90%E7%A0%81%E6%B5%85%E6%9E%90/
2019-11-08 18:51:24
456
原创 requests源码浅读
版本是 request-2.22.0init 初始化 一些信息 将各个包都导入主要是这一句from .api import request, get, head, post, patch, put, delete, options这是从api 那里导入了 这么多的功能api中导出的这些都是基于 request 方法的get head等是对他的方法的封装从其他模块导入到 __init_...
2019-09-11 18:45:04
576
原创 python使用xml.etree.ElementTree 解析xml保存缩进 中文属性值不被转义 插入mysql
使用 xml.etree.ElementTree 解析 xml 获取指定节点的熟悉值和保持原有格式输出并插入mysqlxml是这样的<one_list> <two name="two的name用于测试的" src="中文属性" dst="中文属性"> <任意的></任意的> </two ></one_list...
2019-07-12 18:04:20
1507
原创 M2Crypto 报错 AttributeError: 'module' object has no attribute 'h2b'
推荐使用 ubuntu因为使用到了 M2Crypto直接安装的话会默认安装最新版本但是最新版本 util 中没有 h2b方法from M2Crypto import utildata = util.h2b(encrypted_data)去看了代码分支 最新版 这里面的util是有h2b方法的我本来使用centos安装各种错误。使用ubuntu直接一条命令sudo apt-get ...
2019-06-11 12:26:46
511
原创 python使用信号量动态更新配置文件
一种小技巧,可以让python捕获信号量HUP 然后当使用 kill 发起HUP信号量的时候 捕获到进行处理,可以处理为重新读取配置文件并重新赋值,这样不需要重启服务也可以让程序重新读取配置文件的内容捕获信号量import signalimport ConfigParserdef get_config(): conf = ConfigParser.ConfigParser() ...
2019-05-24 12:46:14
1848
原创 ssh端口修改无效果 修改失败 修改不成功解决
有几台机器ssh端口怎么修改也不行,终于找到问题是由于selinux系统未关闭导致关闭selinux的方法:vi /etc/selinux/config将SELINUX=enforcing改为SELINUX=disabled 执行命令# setenforce 0后生效修改ssh默认端口需要修改 配置文件vi /etc/ssh/sshd_config将 Port 复制一行添加 ...
2019-05-08 15:02:40
10286
原创 限制docker容器向外部ip连接
有个需求需要容器对某个ip进行访问限制,不允许这个容器访问外部的 dst_ip直接上iptables 限制转发而不是在docker链中进行限制iptables -I FORWARD -p tcp -m iprange --dst-range 被限制的外部ip -j DROP注意这条命令是限制容器向外的请求。这样限制后 容器的网卡还是会有向外的请求但是被本机转发限制了。流量不会发送到...
2019-04-04 11:47:43
4827
原创 mongo 使用命令行连接总是一直报验证失败 { ok: 0.0, errmsg: "auth failed", code: 18, codeName: "AuthenticationFailed"
情景:迁移数据库,我想先连接下看看有没有限制比如acl这些。于是我先telnet ip 端口 查看 是可以连接到端口的。那么我就直接使用 mongo 命令行的连接方式来测试 mongo ip:port/admin -u username -p password发现一直报 { ok: 0.0, errmsg: "auth failed", code: 18, codeName: "A...
2019-03-26 11:09:36
7817
原创 蜜罐cowrie配置 supervisor运行
配置cowrie蜜罐,但是经常挂。这就很烦人了,因为是启动在docker容器里面的,每次都要attach进去启动或者直接重启容器,很麻烦。我就用supervisor管理容器里面的cowrie进程。有个坑是这样的,supervisor是不能监控后台运行进程的。所以直接配置supervisor启动 cowrie会报错,cowrie挂了也不会立即重启。查到了需要修改 cowrie的配置是直接修改...
2019-01-30 17:38:02
554
原创 使用redis的管道 pipeline快速读写大量list数据
这里原来的脚本我看到拉取和插入redis数据要花很长时间且很耗时。于是想到了使用 pipeline, 这个是redis自带的批量执行命令的这里只演示读写 redis的list数据类型的读写,且读出来是删除的方式from config import REDIS_IP, REDIS_PORT, REDIS_PASSWORDimport redisimport timekey =&amp;quot;xxxx...
2019-01-22 19:30:29
13497
原创 docker容器设置自动重启,设置容器启动就执行某个服务(脚本启动)
这里我们容器里面有个服务,并写了一个脚本 start.sh来启动这个服务。但是这个容器经常挂掉,需要容器自动重启并且需要这个脚本不需要我们手工 attach进行执行那么就进行如下操作。修改start.sh脚本#!/bin/sh/bin/serviceA start #启动服务/bin/bash #保留一个终端,防止容器自动退出使用 容器启动参数--r...
2019-01-18 11:37:37
29314
1
原创 启动supervisor报错解决
error:class ‘socket.error’ [Errno 2] No such file or directory: file: /usr/lib64/python2.7/socke就是上面的错。这个是使用 ubuntu的 apt-get 安装的(推荐 apt-get 安装 不推荐 pip安装)解决:干掉安装后默认启动的supervisor进程然后这样启动/usr/bin/...
2019-01-16 19:34:21
3609
原创 flask celery 多worker指定执行 限制并发同时只有一个执行
原来的代码里写到了一起,就一个worker执行,两个定时任务异步任务都放到一个队列,经常阻塞不够用。这里我这样修改的。先将定时任务都发到一个队列。然后定时任务调起来的异步任务是发到不同的队列的。配置是这样的。celery 4.2# celeryapp.config['CELERY_BROKER_URL'] = 'redis://localhost:6379/0'app.config['...
2018-11-12 21:07:23
10863
原创 node-sass安装失败解决
报如下错误:gyp ERR! configure errorgyp ERR! stack Error: unable to verify the first certificategyp ERR! stack at TLSSocket.&lt;anonymous&gt; (_tls_wrap.js:1103:38)gyp ERR! stack at emitNone (ev...
2018-11-05 19:42:14
3369
原创 scapy 修改pcap数据包再使用tomahawk发包的问题
scapy使用 rdpcap读取数据包pcap = rdpcap(pcap_path)然后修改源ip地址这样pcap[x]["IP"].src = "修改后的ip地址"很多使用的地方可以直接运行 scapy 测试或者参考文档def mod_pcap_src(pcap_path,ip): pcap = rdpcap(pcap_path) new_pcap = [] ...
2018-10-10 19:44:28
2930
原创 python如何不生成pyc文件(三种方式)
pyc文件的生成是什么情况下生成呢:当 import导入另一个模块的时候会生成python3会生成 __pycache__如何不生成编译文件呢:1.使用 -B参数 即python3 -B test.py里面的包含的就不会生成pyc了2.设置环境变量export PYTHONDONTWRITEBYTECODE=1还有一种更方便的3. 在导入的地方写import sys...
2018-10-08 12:31:53
13235
原创 python copy.deepcoy(x) 深拷贝对象失败,还是在修改一个对象属性
遇到一个问题,每次都要动态实例出来一个类。然后修改类的属性, 再次调用类的方法返回一个值。是一个循环的,多次修改,于是这里使用了深拷贝,以为这样就不是修改一个对象了。 确实不是修改一个对象,打印出来的确实是不一样的对象。 但是还是输出多次修改一个对象的属性。为什么呢? 原来我修改的是类的属性,不是实例属性,将其属性值改为 init 下self的并赋值就好了。 这个真的是我基础没打牢...
2018-09-04 22:45:22
973
原创 Mongodb报错 pymongo.errors.NetworkTimeout: ip:port: timed out问题解决
遇到了这个错误,分析使用,根据报错的地方。是一个对数据库的查询,开始想到查询超时?查询超时 pymongo有个pymongo find().max_time_ms(500)这个可以设置,但是设置了不行。 后来看到了api异常文档那里http://api.mongodb.com/python/current/api/pymongo/errors.html说是 socketTim...
2018-08-21 21:17:45
4070
1
原创 python操作AWVS11创建扫描并下载报告
流程:创建任务->启动任务扫描->获取扫描状态完成->生成报告->下载报告# -*- coding: utf-8 -*-import requestsimport jsonimport timeimport sysreload(sys)sys.setdefaultencoding('utf8')requests.packages.urllib3...
2018-07-15 12:46:08
4654
13
原创 java秒杀高并发------安全优化 验证码 秒杀接口地址隐藏 接口限流防刷
秒杀接口地址隐藏思路:秒杀开始之前,先去请求接口获取秒杀地址1.接口改造,带上 PathVariable参数2.添加接口生成地址的接口3.秒杀手动请求,先验证PathVariable随机生成一个字符串,作为地址加在url上,然后生成的时候 存入 redis缓存中,根据前端请求的url获取path。 判断与缓存中的字符串是否一致,一致就认为对的。就正常 藐视,否则失败。...
2018-05-08 21:00:57
3770
原创 java秒杀高并发------秒杀接口高并发秒杀优化 RabbitMQ模式
RabbitMQ我在windows平台下安装参考 https://blog.youkuaiyun.com/hzw19920329/article/details/53156015集成RabbitMQ要先安装 erlang,要依赖他http://www.erlang.org/downloads启动: 安装了管理界面后 rabbitmq-plugins enable rabbit...
2018-05-08 20:54:51
11720
5
原创 java秒杀高并发------页面相关优化 页面缓存、对象缓存、静态资源缓存
页面缓存防止瞬间的访问首先去缓存中取,找到直接返回,没有就渲染返回,在缓存比如商品列表,访问的话是 goods_list 模板将数据放到 model中然后去渲染模板改为 直接返回 html先创建一个对商品的前缀,用于存入 redis中GoodsKey设置,设置默认缓存。60spublic class GoodsKey extends BasePrefix {...
2018-05-08 15:26:19
2819
原创 java秒杀高并发------Jmeter压力测试
JMeter入门下载 http://jmeter.apache.org/download_jmeter.cgi下载,运行 jmeter.bat 会弹出图像界面添加线程组,设置线程数为10配置 默认http请求在线程组上右键-》添加-》配置元件-》HTTP请求默认值配置了之后的http请求就不用重复配置了再创建个http请求在线程组上 添加 -》sampler...
2018-05-08 15:21:18
13770
原创 java秒杀高并发------用户登录功能实现 分布式Session 异常处理器 根据token获取用户信息
使用两次MD51.用户端:PASS = MD5(明文+固定Salt) 防止用户明文密码在网络中传输2.服务端:PASS = MD5(用户输入+随机Salt) 防止被脱裤引入MD5工具类,添加MD5Util<!--MD5--><dependency> <groupId>commons-codec</groupId> ...
2018-05-08 15:08:42
4980
原创 java秒杀高并发---项目框架搭建 将redis集成,前缀的设置
Spring Boot环境搭建Spring Boot 文档 https://docs.spring.io/spring-boot/docs/1.5.2.RELEASE/reference/htmlsingle/配置模板Thymeleaf配置#thymeleaf startspring.thymeleaf.mode=HTML5spring.thymeleaf.encoding=...
2018-05-08 14:58:50
2040
原创 subDomainsBrute 子域名工具 源码分析
分析的是这个 lijiejie的子域名工具 https://github.com/lijiejie/subDomainsBrute 此次分析的版本是v1.1 首先导入了这些库import multiprocessingimport geventfrom gevent import monkeymonkey.patch_all()from gevent.queue import...
2018-04-27 11:04:34
3380
1
原创 ActiveMQ简单入门使用
参考学习慕课网教程记录笔记 https://www.imooc.com/learn/856win 安装 activeMQ下载安装包直接启动http://activemq.apache.org/activemq-5153-release.html启动最好右键以管理员身份启动localhost:8161队列模式的消息演示创建工厂-》创建连接->会话-&g...
2018-04-13 20:29:23
568
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人