
技术
文章平均质量分 75
种豆得豆1986
这个作者很懒,什么都没留下…
展开
-
勿信网传,解决CLOSE_WAIT、TIME_WAIT连接状态过多正确姿势
先来看下一台生产环境中的各种tcp状态的连接数:netstat -n| awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'LAST_ACK 6SYN_RECV 77CLOSE_WAIT 5793ESTABLISHED 8540FIN_WAIT1 143FIN_WAIT2 378CLOSING 29TIME_WAIT 22...原创 2019-06-27 14:09:58 · 4673 阅读 · 0 评论 -
不依赖于微信等第三方的扫描登录系统
背景扫描登录很安全,但基本上大家用的都是基于微信的,需要到开发平台申请。对于大量的内部系统,比如流程管理系统、企业内部邮箱、各种管理后台,目前大家基本都采用密码登录,相对外面的网站员工在公司内部网站更会用弱密码。内部系统弱口令的危害很大:资料泄漏、后台权限,而且内部系统往往校验少,更可能被webshell提权。产品说明在这样的背景下我一直在琢磨做一个开源的项目,正好我又是有些密码学背景,...原创 2020-03-08 21:20:19 · 538 阅读 · 0 评论 -
生成universal link以及解决“由于应用universal link校验不通过,无法完成微信登录”
ios app使用微信登录现在都需要填写一个universal link,本文介绍1.怎么生成universal link,2.提示错误时怎么检查生成universal link准备工作:需要有可以使用https访问的网址,网站需要通过苹果ATS测试:http://s.tool.chinaz.com/ats/获取你的开发者Team ID,登录https://developer.apple....原创 2019-11-21 00:28:05 · 47009 阅读 · 1 评论 -
解决flutter调试ios 13.1以上版本不输出调试日志问题
ios手机升级到13后,flutter调试模式下print会无效,不打印调试日志解决方法有几种:等官方更新,或者切到flutter的master分支,方法是执行flutter channel master。这个方法我没试过,也不推荐,业务master分支不是一个稳定分支。把修正这个错误的单子合并到stable分支,因为我用的是stable分支,所以后面讲这么合并到stable分支1.打...原创 2019-11-14 00:08:02 · 4354 阅读 · 0 评论 -
安全渗透测试--sql注入之sql-shell
mysql找到含有password字段的表select table_name,column_name from information_schema.columns where column_name like '%pwd%' or column_name like '%pass%' 找到含有特定字符串的表名select table_name from information_schem...原创 2019-08-11 00:32:58 · 4704 阅读 · 0 评论 -
记一次驱动在win10 1903 x64下的蓝屏调试过程
背景我们的产品有个驱动,用于做安全防护的,这个驱动已经稳定运行几年了,分32位和64位,虽然中间也偶有蓝屏,但都是新的os系统或大补丁发布后一些硬编码的偏移的问题,改掉这些问题后就好了。但这次收到用户反馈在1903的系统上会蓝屏,然后我们搭建了两个测试环境,系统都是 win10 x64 1903,I7 CPU的系统回重现蓝屏,另一台E系列的cpu的系统运行正常。而蓝屏发生时是挂在系统内部函数...原创 2019-06-28 14:02:30 · 1865 阅读 · 1 评论 -
thinkjs的select,find,getField
getField:.getField('groupId', true) //3.getField('groupId', true) //undefined.getField('groupId', false)) //[ 3 ].getField('groupId', false)) // [].getField('groupId, userId', false)) // { gro...原创 2019-07-02 15:16:38 · 764 阅读 · 0 评论 -
关于随机数,你的用法可能一直都是错误的
一般我们使用随机数会使用srand和rand函数,但是很多时候我们的用法是不够安全的,比如你用他们来生成一个加密秘钥的时候。看下下面两行代码的内部工作原理:srand(123);printf(rand())srand执行做的事非常简单:把123存放到线程环境变量里作为起始随机种子rand的伪代码如下:function rand() {a = get srand 保存的值b = ...原创 2019-05-13 16:38:19 · 680 阅读 · 0 评论 -
MySQL的四种事务隔离级别
https://www.cnblogs.com/huanongying/p/7021555.html转载 2019-05-21 17:40:11 · 138 阅读 · 0 评论 -
python的值传递和引用传递
结论:python和js是非常类似的,除了基本类型以外的类型都是引用传递a = "abc"def f1(b): b= "asdf"f1(a)print(a) #值传递abca= [1,2,3]def f1(b): b[0] = 0f1(a)print(a) #引用传递[0,2,3] 同理还有mapa= [1,2,3]f1(a[:])print(a) #[...原创 2019-05-15 18:35:07 · 204 阅读 · 0 评论 -
golang的值传递和引用传递
s := [3]int{1, 2, 4}func(v [3]int) { v[0] = 0}(s)fmt.Println(s) //参数固定长度数组是值传递 输出1 2 4func(v []int) { v[0] = 0}(s[:])fmt.Println(s) //参数非固定长度是切片是引用传递 输出0 2 4m := map[int]int{ 1: 10, 2: 20...原创 2019-05-15 18:10:53 · 1046 阅读 · 0 评论 -
解决Cannot compare tz-naive and tz-aware timestamps
offset-naive是不含时区的时间类型,而offset-aware是有时区时间类型>>> a = pd.to_datetime('2099-09-30 16:00:00')>>> b = a.tz_localize('Asia/Shanghai')>>> print('type:', type(a), type(b))type: ...原创 2019-05-10 12:23:26 · 5679 阅读 · 0 评论 -
thinkjs的这个bug害人不浅
前段时间开始做一个thinkjs的项目,thinkjs本身相当简洁好用,直到遇到这个神奇的bug某一天,我在享受着用webstorm写代码的快感,感觉马上就要突破新境界的时候,Ctrl+S保存一下,然后这个代码文件突然就不见了,被删了,IDE的代码窗口也自动关闭。。。然后脑子一呆:我刚才干什么了,我刚才删文件了吗?回收站还有吗,没有!我好像没删文件啊?莫非磁盘挂了?作为团队的技术担当,我是不会...原创 2019-07-11 00:32:05 · 1219 阅读 · 4 评论 -
渗透测试-主机信息收集
端口扫描# 单主机描IP段masscan 8.8.8.8 --ports 0-1000 #号称最快nmap -sS -Pn 8.8.8.8 -p 1-65535 半连接扫描# 根据端口扫描IP段nmap -sS -p 3389 -oG - 8.8.8.0/24 | grep open#根据端口扫描开放的业务及软件版本(通过数据内容探测,而非端口查表)nmap -sV 8...原创 2019-08-10 22:03:48 · 415 阅读 · 0 评论 -
python3下使用 libxml2报iter() returned non-iterator of type 'xmlCoreDepthFirstItertor'错误的解决方法
最近将KVM-virsh升级到到了最新的版本,最新的版本是使用python3的,而老版本使用python2,最新版本使用时如果编辑虚拟机就会报错:iter() returned non-iterator of type ‘xmlCoreDepthFirstItertor’,相关代码如下: 390 if all([node_is_text(n) for n in parent...原创 2019-08-11 00:12:15 · 482 阅读 · 0 评论 -
安全渗透测试--sqlmap使用
常用命令#post请求注入 把post保存到文件sqlmap -r /tmp/a.txt#扫描增站sqlmap --forms --batch --crawl=2 --threads=5 --smart -u http://www.pin9.win/#sqlmap -hhUsage: python2 sqlmap [options]Options:-h, --help ...原创 2019-08-11 14:20:18 · 2003 阅读 · 0 评论 -
渗透中用到的sql语句-mysql篇
# 找到含有密码字段的表select table_name,column_name from INFORMATION_SCHEMA.COLUMNS where column_name like '%pwd%' or column_name like '%passw%'#找含有特定内容的表名SELECT table_name FROM information_schema.tables wh...原创 2019-08-20 23:58:11 · 362 阅读 · 0 评论 -
ios审核注意事项备忘
支付功能必须在登录后订阅方式必须明确指出多久后收费,收多少钱不能有兑换码功能,这个是跟内付费冲突的会员功能苹果会建议做成订阅,而非消耗型订阅必须有用户协议链接在商品旁边,可以点击打开网页协议提审前一些开关,比如内部热更新,广告不要忘了关...原创 2019-08-21 11:14:38 · 253 阅读 · 0 评论 -
ios 订阅类收据的服务器处理
先看苹果验证收据可能返回的错误码:21000App Store无法读取你提供的JSON数据21002 收据数据不符合格式21003 收据无法被验证21004 你提供的共享密钥和账户的共享密钥不一致21005 收据服务器当前不可用21006 收据是有效的,但订阅服务已经过期。当收到这个信息时,解码后的收据信息也包含在返回内容中21007 收据信息是测试用(sandbox),但却被发送...原创 2019-08-21 17:51:47 · 1337 阅读 · 3 评论 -
解决docker下安装vi后按键混乱的bug
docker下安装vi,按方向键变成了输入 A B C D,解决方案:echo "set nocompatible" >~/.vimrc再打开vim就好了原创 2019-08-17 22:15:33 · 799 阅读 · 0 评论 -
wamp协议实现rpc调用
组成:路由: 分发rpc的服务器 可以现在go语言版的,https://github.com/jcelliott/turnpikeserver: 函数提供者client:函数调用方server和client 可以选择 https://wamp-proto.org/implementations/index.htmlpython 例子 http://autobahn.readthedoc...原创 2019-05-08 10:32:16 · 402 阅读 · 0 评论 -
influxdb过期策略
SHOW RETENTION POLICIES ON db 命令显示过期策略> SHOW RETENTION POLICIES ON dbnamename duration shardGroupDuration replicaN default---- -------- ------------------ -------- -------autogen 168h0m0s...原创 2019-05-08 10:32:25 · 3997 阅读 · 1 评论 -
kibana json input里使用自定义脚本
前置条件inline script默认是不开启的在config/elasticsearch.yml中加入script.inline: truescript.indexed: true官方文档:https://www.elastic.co/guide/en/elasticsearch/guide/current/script-score.htmlhttps://www.elastic...原创 2019-05-07 13:37:04 · 7875 阅读 · 3 评论 -
elasticsearch删除指定记录
批量删除指定查询条件的记录POST logstash-log-2017.11.*/_delete_by_query{ "query": { "match": { "event":"\"xxx\"" } }}POST logstash-log-2018.04.26/_delete_by_query{ "query": { "boo...原创 2019-05-05 13:43:04 · 1283 阅读 · 0 评论 -
elasticsearch 删除N天前的索引脚本
#!/bin/shfunction delIndex(){ index_name=$1 savedays=$2 while [ $savedays -le $3 ] do format_day='%Y.%m.%d' sevendayago=`date -d "-...原创 2019-05-05 13:39:58 · 1366 阅读 · 0 评论 -
nginx支持https
https协议有很多种算法,tls系列、ssl系列。ssl由于出了漏洞所以安全性较低苹果要求ATS(未正式开始强制要求)的https和微信小程序的https要求如下:支持tls1.2协议禁止ssl协议签名算法为SHA2ats和微信小程序同时支持的nginx配置如下: server { listen 80; listen ...原创 2019-05-05 13:35:13 · 318 阅读 · 0 评论 -
ffmpeg常用命令
1.分离视频音频流ffmpeg -i input_file -vcodec copy -an output_file_video //分离视频流ffmpeg -i input_file -acodec copy -vn output_file_audio //分离音频流2.视频解复用ffmpeg –i test.mp4 –vcodec copy –an –f m4v test.264...原创 2019-05-05 13:34:25 · 230 阅读 · 0 评论 -
mysql常用命令
mysql -S /tmp/mysql2.sockmysqld_multi start 3change master tomaster_host='10.240.39.21',master_user='root',master_password='123456',master_port=3306,master_log_file='mysql-bin.000001',master...原创 2019-05-05 13:33:55 · 168 阅读 · 0 评论 -
解决ssh登录慢的问题,禁用sshd的反向解析,提高登录速度
ssh连上服务器的时间经常很慢,主要是卡住反向查询客户端ip对应的域名慢,可以禁用#vi /etc/ssh/sshd_configUseDNS no原创 2019-05-05 12:36:04 · 303 阅读 · 0 评论 -
nginx内置变量备忘
参数说明示例$remote_addr客户端地址211.28.65.253$remote_user客户端用户名称–$time_local访问时间和时区18/Jul/2012:17:00:01 +0800$request请求的URI和HTTP协议“GET /article-10000.html HTTP/1.1”$http_host请求h...原创 2019-05-05 12:35:03 · 106 阅读 · 0 评论 -
解决time_wait过多问题
如果系统日志报以下错误,说明tcp的time_wait状态较多kernel: TCP: time wait bucket table overflow处理方法是加大tcp_max_tw_buckets,千万不要听信网络谣言把net.ipv4.tcp_tw_recycle改成1#vi /etc/sysctl.conf 优化系统tcp参数net.nf_conntrack_max = 10000...原创 2019-05-05 11:55:19 · 1528 阅读 · 0 评论 -
证书互转
从 .pfx 格式转换成 .pvk 和 .spc 格式需要使用 OpenSSL 来实现格式转换,如果没有OpenSSL ,则需要 下载 和安装一个 OpenSSL Win32 包;从 PFX 格式文件中提取私钥中间格式文件 (.key),假设 OpenSSL 的安装目录为:c:\program file\GnuWin32, PFX 格式文件目录:c:\cert\mycert.pf...原创 2019-05-07 13:38:10 · 314 阅读 · 0 评论 -
Python pandas DataFrame操作
官方文档地址: http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.html# coding=utf-8import pandas as pdimport numpy####### 创建dfdic = { 'name': ['zhangsan', 'lisi'], 'score'...原创 2019-05-07 13:40:59 · 2628 阅读 · 0 评论 -
python时间函数
#当前时间戳 import timetime.time()Out[3]: 1529670754.066# python的时间为datetime64格式dt64 = np.datetime64(dt)dt64 = pd.to_datetime('2018-07-31 00:00:00'))dt64 = pd.to_datetime(时间戳 * 1000 * 1000000) #会有...原创 2019-05-08 10:32:29 · 292 阅读 · 0 评论 -
docker网络模式
在docker run -net=xxx命令时指定网络模式,共四种:brideg 默认 新建一个虚拟网卡和主机想通,如172.17.12.xxhost 和主机共享ip和端口none 没有网卡container 跟另一个docker虚拟机共享网络,和主机不共享配置静态IP的方法:先创建一个自定义的网络 docker network create --subnet=172.18.0....原创 2019-05-08 10:32:34 · 410 阅读 · 0 评论 -
flutter编译报错解决备忘
xcode编译提示:/bin/sh: /packages/flutter_tools/bin/xcode_backend.sh: No such file or directory 或者ld: warning: directory not found for option ‘-L/xxxx/build/ios/Debug-iphoneos/path_provider’ld: warning: ...原创 2019-05-07 13:57:27 · 813 阅读 · 0 评论 -
flutter编译生成文件列表
release下apk的assets目录如下:isolate_snapshot_dataisolate_snapshot_instrvm_snapshot_datavm_snapshot_instrdebugflutter_assets:* isolate_snapshot_data* kernel_blob.bin* platform.dill* vm_snapshot_...原创 2019-05-07 13:56:17 · 501 阅读 · 0 评论 -
flutter安卓下对各种指令集的选择编译
安卓加载so的顺序是先去最合适自己的目录下查找,如果目录不存在就往下兼容找,比如一台arm64的安卓先去lib/arm64-v8a下找so,如果目录存在但so不存在就报错, 如果目录不存在就去armeabi-v7a目录下找,flutter是支持arm64-v8a armeabi-v7a android-x64 android-x86,先只考虑arm的情况flutter build命令和flut...原创 2019-05-07 13:53:52 · 1287 阅读 · 0 评论 -
windows 10 x64安装talib
download https://nchc.dl.sourceforge.net/project/ta-lib/ta-lib/0.4.0/ta-lib-0.4.0-msvc.zipunzip to C:\ta-libopen “VS2013 开发人员命令提示”(32位python) 或者"VS2013 x64 本机工具命令提示"(64位python)cd /d C:\ta-lib\c\m...原创 2019-05-07 13:50:29 · 1212 阅读 · 0 评论 -
linux自启动脚本汇总
/etc/rc.local 开机自启动 不要运行阻塞的程序, 该文件中不能加入用户shell下的脚本,例如加入 alias ll=“ls -l” 无效,因为该文件的执行环境是在系统shell下,系统尚未进入用户shell环境。/etc/profile 第一个用户shell登录时 只执行一次, 可以放全局的环境变量修改~/.bash_profile对应每个人的profile,也只执行一次,只有s...原创 2019-05-07 13:48:45 · 250 阅读 · 0 评论