python2安装PIL库,python3安装Pillow库,无需改动代码
python2安装PIL库,python3安装Pillow库,无需改动代码
安装Erlang RabbitMQ Server采用Erlang语言编写,在安装之前必须先安装Erlang RabbitMQ与Erlang有版本的对应关系,需先确认RabbitMQ版本,安装版本的Erlang。 版本的对应关系如下: https://www.rabbitmq.com/which-erlang.html Erlang的下载地址:https://erlang.org/download/otp_versions_tree.html Windows下载win64_installer安装即可。 安装Rabbi…
Canary绕过 canary是Linux的一种代码保护机制,通过在程序中加入一个校验值,来防止程序被破坏。 Canary原理 程序启动时,从某个特定地址(例如fs+28H)处读取一个数值进行保存。 在需要时,重新比较两个值,如果xor的结果不为0,说明有值被修改了,代表程序被破坏。 Canary的处理 检测 可通过checksec命令来检测是否开启了Canary保护。 获取Canary 为了在栈溢出时不破坏canary的值导致程序退出,我们要获取canary的值,并在溢出时将其构造回原位置。 我们在上图中[rbp…
PWN是基于给定的程序段,借助堆\栈溢出,缓冲区溢出等手段,使程序执行指定的命令,从而达到攻破的目的。 基础工具 基本环境 基础环境一键安装脚本:https://github.com/giantbranch/pwn-env-init/blob/master/pwn_init_py2.sh 建议在Ubuntu 18.04下执行,20版本的可能无法获取到python2。 安装完成后要修改~/.gdbinit文件,删除第二行,仅保留pwndgb这个插件。 GDB GDB是一款Linux下的调试器,用来动态分析程序代码,配…
检查是否存在注入点 使用-u参数传入目标url 检测发现存在注入点。 检测当前数据库 使用--current-db命令获取当前数据库。 成功获取到当前数据库为security。 获取数据库表 使用-D参数指定数据库,使用--tables参数扫描表。 获取到一张名为users的表。 获取表字段 使用-T参数指定使用的表,然后使用--columns参数获取表字段。 成功获取到表存在三个字段:id、password、username 获取表内容 使用-C命令来获取指定字段的值,使用--dump命令来导出值。
组网工具其实有很多,我之前曾经尝试过Zerotier,但是不知道是环境问题还是怎样,效果真的是一言难尽,而借助公网的云服务器,小水管仅能满足网站的对外访问需求,对于图片视频等大文件的外网使用速率实在感人。 最近发现了一个和Zerotire差不多的组网工具,装上试了一下,傻瓜式,效果好,确实值得推荐一下。 官网:https://tailscale.com/ SPK套件开源地址:https://github.com/tailscale/tailscale-synology 安装 当然,傻瓜式的原因是有前人栽树,矿神出了…
最近部署了一个私人的密码工具,但该工具在公网环境下访问必须走HTTPS,所以就要借助群晖的反向代理来套证书。 服务Docker的部署端口是6005,我一开始给FRP设定了一个本地端口6007,想把域名先穿透到本地6007端口,再反代到6005端口。 这样设置之后就可以正常解析了,但是后面的使用过程中发现,群晖的反代隔一段时间就会失效,访问网站会直接打开默认的WebStation页面,服务也无法正常使用。 然后尝试了下把FRP穿透到默认的443端口,并且把反代也指向443,目前来看一切正常。
因为域名在阿里云买的,之前一直在阿里云购买单域名的证书,但是随着需要挂锁的网站越来越多,还是的弄个通配符证书,借助Acme.sh,实现了自动申请部署通配符证书,不用单个申请,也不用担心证书过期了。 本文介绍了在群晖下如何借助acme.sh脚本来自动申请并部署通配符证书,本域名使用CloudFlare进行解析。 获取CloudFlare的API令牌 登录CloudFlare之后,可以通过这个链接访问令牌页面:https://dash.cloudflare.com/profile/api-tokens 点击创建令牌,使…
一个体系结构定义一个词汇表和一组约束。 词汇表包含构件和连接件。 约束定义构件和连接件的组合方式。 一、数据流风格 1、管道-过滤器风格 工作原理 读取并消费数据流,过滤器在处理数据的时候不是先收集再处理,而是输入被完全消费之前,输出就产生了。 例子 编译器 Unix管道 特点 数据是增量式传递,构件的粒度较小,高并发,实时性好。 2、批处理风格 工作原理 每一步处理都是独立的并且每一步都是顺序执行,只有在前一步结束后才能开始下一步的处理并且数据必须是完整的,以整体的方式来传递。 例子 基于Eclipse的代码重复…