Archive for 未分类

一种可以适用于固定抽奖时间、未知抽奖人数的随机抽奖算法

一般的抽奖都是使用 rand 按一定几率来确认是否中奖,但是在未知总抽奖人数时中将比率不好安排,很容易出现时间未结束奖就全部抽完了,或者抽奖时间结束奖还有的现象。

照成上面问题的主要原因是在拿未知的总抽奖人数作为抽奖几率的参数,算出来的几率很难正确。但是其实我们手里面还有一个参数可以用来算中奖几率,那就是抽奖时间。我们可以将每一个奖项随机的分配到抽奖时间里面,在某个奖项中奖时间后第一个抽奖的即可中当前奖项。这样避开了抽奖总人数未知的问题。当然,夜间可能没有人或很少有人抽奖,所以需要在总抽奖时间里面减去夜间,或根据夜间抽奖人数少降低分配到夜间的奖项。

大体做法是:
建立一个”中奖时间”表,含有中奖时间、奖励、状态 等字段。

每个奖励分配办法:
奖励数/总抽奖小时 = 平均每小时中奖数

for (int h = 0;h<总抽奖小时;h++) { for (int i=0;i<每小时中奖次数;i++) { 本次中奖时间 = 抽奖开始时间 + h小时 + Random(0,60*60*1000) } } 懒得写了,大体意思写出来即可。

No comment »

天机S291 CM12.1(Android5.1.0)合并分区版 无法刷入 gapps、xposed等包的解决办法

说出来很简单,官方提供的中兴天机S291中文Recovery(分区合并第二版)带刷机包验证(会验证是否合并分区版刷机包),gapps包无法通过,所以要刷入需要安装第三方 中兴天机S291中文TWRP合并分区后专用版 刷入 gapps 。

0620中兴天机S291 合并分区后专用版中文TWRP cwm-recovery刷机工具
http://www.myzte.cn/thread-233254-1-1.html

http://wiki.cyanogenmod.org/w/Google_Apps

[GAPPS][CM11][CM12.x][4.4.4][5.0.2][5.1.x] Delta Gapps With Modular Addons (All DPI)
http://forum.xda-developers.com/android/software/app-minimal-gapps-gapps-lp-20150107-1-t2997368

No comment »

记一下 Thrift windows python 安装

现在已经有windwos 预编译的 thrift 了,可以直接下载。先到 https://thrift.apache.org/download 页面把thrift-0.9.2.tar.gz 、Thrift compiler for Windows (thrift-0.9.2.exe) 下载下来。

1.把 thrift-0.9.2.exe 改名为 thrift.exe 并放到 path 里面。

2. 解压 thrift-0.9.2.tar.gz

3.进入thrift-0.9.2\lib\py目录,执行 setup.py install 安装python扩展。

4.现在到 thrift-0.9.2\tutorial 目录,执行 thrift.exe –r –gen py tutorial.thrift 会在 gen-py 目录生成 thrift 代码。

5.现在可以尝试执行 python 例子了。

服务器:

 
D:\thrift-0.9.2\tutorial>c:\Python27\python.exe py\PythonServer.py
Traceback (most recent call last):
  File "py\PythonServer.py", line 24, in 
    sys.path.insert(0, glob.glob('../../lib/py/build/lib.*')[0])
IndexError: list index out of range

#这个错误直接注释掉出错行即可。

D:\thrift-0.9.2\tutorial>c:\Python27\python.exe py\PythonServer.py
Starting the server...
ping()
add(1,1)
calculate(1, Work(comment=None, num1=1, num2=0, op=4))
calculate(1, Work(comment=None, num1=15, num2=10, op=2))
getStruct(1)
ping()
add(1,1)
calculate(1, Work(comment=None, num1=1, num2=0, op=4))
calculate(1, Work(comment=None, num1=15, num2=10, op=2))
getStruct(1)
ping()
add(1,1)
calculate(1, Work(comment=None, num1=1, num2=0, op=4))
calculate(1, Work(comment=None, num1=15, num2=10, op=2))
getStruct(1)
ping()
add(1,1)
calculate(1, Work(comment=None, num1=1, num2=0, op=4))
calculate(1, Work(comment=None, num1=15, num2=10, op=2))
getStruct(1)
ping()
add(1,1)
calculate(1, Work(comment=None, num1=1, num2=0, op=4))
calculate(1, Work(comment=None, num1=15, num2=10, op=2))
getStruct(1)

客户端:

 
d:\thrift-0.9.2\tutorial>c:\Python27\python.exe py\PythonClient.py
ping()
1+1=2
InvalidOperation: InvalidOperation(what=4, why='Cannot divide by 0')
15-10=5
Check log: 5

d:\thrift-0.9.2\tutorial>

No comment »

在线工具收集:js、html、c、c++、php、python、sql、正则、ping、远程唤醒等

html、js、css
http://jsfiddle.net/
http://runjs.cn/code

C,C++,D,Haskell,Lua,OCaml,PHP,Perl,Plain Text,Python,Ruby,Scheme,Tcl等
https://eval.in/
http://codepad.org/
http://tool.lu/coderunner
http://cogug.com/
https://coderpad.io/
http://cyber-dojo.org/setup/show/
http://www.tutorialspoint.com/codingground.htm
http://codevs.cn/

Scala
http://zh.scala-tour.com/#/hello-wolrd

在线IDE
https://koding.com/

API测试
https://apigee.com/console/
http://www.bejson.com/go.html?u=http://www.bejson.com/httppost/

httpbin(1): HTTP Request & Response Service
http://httpbin.org/
http://ifconfig.me/

sql
http://sqlfiddle.com/

正则
https://regex101.com/
http://www.regexr.com/
https://regex101.com/
正则表达式图形分析

远程唤醒
http://www.depicus.com/wake-on-lan/woli.aspx

html、xml、css、json、javaScript、java、sql格式化
http://tool.oschina.net/codeformat/json
http://tool.oschina.net/
http://www.kjson.com/
http://www.useol.com/

ping、TraceRoute、dns
http://alibench.com/
http://ping.pe/
http://www.ipip.net/ping.php
http://www.17ce.com/
http://ce.cloud.360.cn/
http://ping.chinaz.com/

Base64
http://www.kjson.com/encrypt/base64/
http://tool.chinaz.com/Tools/Base64.aspx
http://tool.oschina.net/

浏览器指纹
http://whoer.net/extended
https://whatleaks.com/
https://panopticlick.eff.org/
http://www.ip-score.com/
https://ipleak.net/
https://www.browserleaks.com/canvas
http://www.lalit.org/lab/javascript-css-font-detect/

BGP
http://bgp.he.net/AS4134

在线pdf阅读
http://www.useol.com/pdfReader/

在线Crontab表达式执行时间验证
http://www.atool.org/crontab.php

在线 htpasswd 生成器工具
http://www.atool.org/htpasswd.php

在线端口扫描
http://www.atool.org/port_scanner.php

在线抓包
http://www.atool.org/port_scanner.php

NAT 连通性测试
http://cc.rtmfp.net/

在线流程图
https://www.processon.com

Comments (1) »

[原创] 不安全的互联网系列(2) 家庭路由器部分

一个虚构的场景,某受害者在某大论坛看到一篇标题党的帖子,打开了发现有很多很小的打不开的图片,就发帖声讨楼主。却不知道路由器的dns已被攻击者修改了。下次受害者打开 chewang.net 跳转到山赛hao123网站是小事。打开淘宝购买东西付款时没注意地址栏没有锁标志或者没注意付款界面显示的付款内容就付款了,结果等了几天没收到货找淘宝才知道自己根本没给卖家付款,而是把钱打给攻击者了,这就很悲剧了。

当然了,上面那个场景并不容易实现,有些要求,比如路由器弱口令、被攻击者猜到了路由器IP,攻击者猜对路由器型号,才会受到攻击。看似艰难,但是很多路由器是默认密码,IP地址更大部分都是192.168.1.1,主流的路由器型号也不是很多,受害者就很多了,听说13年一次大范围攻击中在网的路由器4%的中招了。详细情况大家可以搜索“路由CSRF”。这里说一下解决办法:1.修改默认密码,2.修改默认路由器地址,3.经常去更新路由器固件(祈祷路由器厂家在路由器有漏洞时更提供新固件)。

上面写得是用户浏览网站中的招,但是实际上还有另外一个中招的可能,部分路由器默认对外网公开了一些服务,例如web、telnet 等服务,虽然只有极少数路由器有这个问题,但是也需要注意,如果设备再有后门密码,或者登陆验证跳过就被杯具了。有些人会扫整个互联网,尝试找到有问题的设备的哦。

这一块就不再细说了,各个品牌的路由器问题并不统一,而且在不断出新的问题。这里有国外的一份路由器漏洞列表,但是并不全,甚至一些国内品牌都不存在,只能作参考。地址是: http://routerpwn.com/ 。

建议只能是修改默认密码,修改默认IP,自己确认没有在外网开web、telnet 等服务,在更新到最新固件,这样一般就没什么大问题了。

Comments (1) »

[原创] 不安全的互联网系列(1) 局域网部分(含WLAN)

互联网从1969至今一运行了45年了,但是其安全性并不是很好。我打算列出一些我知道的安全问题。本来打算做一个零基础的科普,结果发现细节太多了,零基础科普再说吧,下面的内容需要相应的基础知识。

先从局域网开始,大约10年前的集线器就不说了,那个根本没有安全性可言。目前大部分家庭及网吧使用的交换机也是有安全问题的,ARP 攻击及 CAM 攻击是两个比较明显的安全问题。

先说一下 ARP 攻击,这个现在已经烂大街了,就是发虚假的ARP包欺骗其他计算机,使得其按攻击者的意图错误的设置自身的 ARP 表,造成攻击者可以将受害者对特定IP的访问引导至特定的网卡硬件地址(并不一定是真实的硬件地址,可以是伪造的)的计算机。典型的攻击例子是攻击者电脑开启IP转发功能,广播IP地址是网关IP、硬件地址是自身的 ARP回应包,使得局域网所有电脑会将上网的上行流量发送到攻击者电脑再由攻击者电脑转发给真实网关,使得攻击者可以截获所有明文的登录用户名及密码等数据(关于 https 加密的下面在单独说明)。

如果是仔细些其实还可以向路由器发伪造的arp包,使得下行流量也会经过攻击者。还可以同时使用js缓存投毒,将自身伪造的 Jquery 等库插入被攻击者浏览器缓存,使得 arp 虚假广播结束后也可以持续几天甚至几个月的时间控制被攻击者浏览器大部分网站,详细信息单独介绍。

受影响范围:基本上所有的家庭网络、大部分WLAN网络、很少的网吧、大部分办公电脑。解决方法:1.全局域网ARP绑定,麻烦些,需要网关和所有计算机都得双向绑定。2.VLAN端口隔离,这个有个缺陷是局域网普通电脑无法互相通信了,最常见的windows文件共享、打印机共享、局域网联机游戏对战、机顶盒等手机遥控遥控等功能全部无法使用,这个成本还可以,有不少便宜的支持 VLAN 端口隔离的交换机,但是也只能保护上行流量,无法保护下行流量(感谢 semicircle21@v2ex 补充)。3.程控交换机绑定端口IP及MAC,这个成本就高了。

然后就是 CAM 攻击了。交换机和集线器的区别就是一般转发包时会根据包的目的MAC地址将包转发到对应的端口,而不是广播到所有的包。交换机是通过各个端口发出来的包的源 MAC 来确定这个端口连接着的设备的 MAC 地址的,然后会存放到交换机的 CAM 表里面。但是如果交换机碰到的一个包的目的MAC地址在 CAM 表里面不存在怎么办?交换机就会退化为集线器,向所有端口广播这个包。所以 CAM 溢出攻击是通过发送大量的不同源MAC地址的包塞满 CAM 表,造成正常的 CAM 记录被挤掉,使得交换机退化为集线器,然后开网卡混杂模式就可以监听到整个局域网的流量提取用户名密码等数据了。

还有其实也可以仔细的操作,并不需要溢出CAM表,攻击者可以高速的以路由器MAC地址为源地址来发包,使得交换机认为攻击者持有路由器MAC地址而将发送到路由器MAC地址的数据转发给攻击者,完事后攻击者还可以广播网关IP的ARP请求包来使得路由器发ARP回应包来恢复交换机对网关的绑定。一般路由器再次发包交换机就会再次将MAC地址绑定回路由器所在的交换机端口,一般路由器都很繁忙,所以 CAM 攻击并不能完整的获得整个网络上面的数据。

受影响范围:所有的非程控交换机,所有的未用VLAN隔离或未做MAC地址和端口绑定的程控交换机。解决办法:1.还是VLAN端口隔离,缺陷和上面的ARP攻击一样,但是也只能保护上行流量,无法保护下行流量(感谢 semicircle21@v2ex 补充)。2.为交换机端口绑定MAC地址,缺点还是和ARP攻击解决办法一样,成本高,维护麻烦。

接着说一下现在大范围普及的 WLAN 吧。WLAN 分为两个方面,连接别人的 WLAN 热点有可能被钓鱼攻击,WLAN 热点本身有可能被人攻击。先说钓鱼攻击,攻击者伪造一个移动的 cmcc 的热点,受害者当成真实的移动cmcc了上去,输入了cmcc用户名密码就会被攻击者把账号密码偷到手了,受害者就有可能被攻击者盗用 wlan 账号,电话费就… 如果攻击者用心点,弄个4G上网卡或者直接用受害者的账号连接到真实的cmcc上面去,使得受害者还可以上网,那还可以捕获到用户的所有上网流量,所有明文的密码被攻击者捕获了(同上面,https 加密的问题单独在讲)。甚至还可以更进一步向ARP攻击一样做js缓存投毒,使得受害者即使断开了与虚假 wlan 网络的连接一样会收到攻击者的控制,持续时间从几天到数月不等。

不要以为不连接cmcc之类的公共网络,只连接单位的、商场的、熟悉的 wlan 就安全了,攻击者其实可以通过将真正的wlan击垮,而自己搭建一个同名的wlan来钓鱼。甚至有部分运营商定制机只要碰到名称是运营商名称的 wlan 就自动连接,更加容易被攻击。受影响范围:1.所有的无密码的 wlan 都有可能是伪造的。2.所有的密码公开的或者可被破解的 wlan 都有可能是伪造的。解决办法:实在不确定 wlan 安全性通过 wlan 上网的时候就挂vpn吧。

WLAN 热点本身也有可能被攻击。无密码 WLAN 就不用说了,WEP加密的密码可轻松被破解,WPA加密也不建议使用了。目前 WPA2 加密还是安全的,前提是关闭 WPS 功能及使用高强度密码。不过目前的问题是大部分新路由器都默认开启 WPS 功能,使得攻击者可以在数小时内破解 wlan 密码,之后是简单的蹭网还是像本文开头介绍的 ARP 攻击来攻击整个局域网或者击垮本wlan建一个同名同密码的钓鱼wlan甚至直接攻击路由器修改dns长时间控制着这个 wlan 就不好说了。关于攻击路由器的可行性下面再单独说明。也可以通过开启无线路由器的客户隔离功能来减少一些影响,但是这个相当于交换机的vlan,会像arp攻击里面介绍的一样影响很多功能,而且无法拦截对路由器的攻击,不建议家庭使用,强烈建议公共场所 wlan 使用。对了还有另一个安全隐患,wlan万能钥匙之类的软件设置不好会共享 wlan 密码,你再好的加密再复杂的密码也没用了。你可能说你不会装这类软件,但是你的家人呢,来串门的亲戚、朋友、同事呢?受影响范围:各种家庭单位wlan。解决办法:1.使用 WPA2 ,关闭 WPS 功能,公共场所wlan开启客户隔离功能,路由器使用最新的固件,路由器管理密码设置为复杂密码,wlan密码设置为复杂密码,为访客建立单独的访客 WLAN 热点(感谢 semicircle21@v2ex 补充)。但是这样也无法解决公共场所 wlan 攻击者建立同名同密码 wlan 的问题,只能客户连接 wlan 的时候挂 vpn 来解决了。

总结一下:有线局域网部分由于必须通过网线接入局域网才能攻击,大部分家庭用户只要保证自己的电脑、机顶盒、手机都使用请更新补丁就问题不大(虽然木马病毒之类的东西能攻击整个局域网,但是你只要保证有个靠谱的杀毒软件就没问题了,一般家庭用户不是重点目标,没人会费工夫做免杀的病毒单独针对你的)。WLAN 部分怎么说呢?在外边不要连接 wlan ,非要用的话需要挂 vpn ,而且 vpn 最好是自己搭建的,我只能给出这个建议了。虽然严格将来连接自己的 wlan 都要挂 vpn ,因为自己的wlan也有可能是攻击者伪造的,但是一般用户不是重点目标,没人专门攻击你的。wlan 热点间传播的病毒目前只出了实验版本,据说效果不好。

局域网部分差不多就这样了,关于路由器及js缓存投毒等之后在单独写。今天先睡了,什么时间想起来再增加一些参考链接吧。

更新:感谢 semicircle21@v2ex 的补充,为访客提供访客WLAN,Port VLAN 一样会被欺骗下行流量(https://www.v2ex.com/t/143975#reply1)。

原创文章。转载请注明:转载自GameXG,谢谢!
原文链接地址:http://www.chenwang.net/2014/11/04/%E5%8E%9F%E5%88%9B-%E4%B8%8D%E5%AE%89%E5%85%A8%E7%9A%84%E4%BA%92%E8%81%94%E7%BD%91%E7%B3%BB%E5%88%971-%E5%B1%80%E5%9F%9F%E7%BD%91%E9%83%A8%E5%88%86%EF%BC%88%E5%90%ABwlan%EF%BC%89/

Comments (2) »

UBNT AirOS 4种无线模式 的区别。

很早之前专门查过,当时路由器有ARP绑定,无线模式设置的是站模式,结果全部上不去网,路由器显示无线后面的设备的MAC地址全是无线设备的MAC地址。解决办法是设置为 站 WDS 模式或接入点WDS模式。这两天又用到了,怕忘了,记一下。

站模式:会通过无线连接到接入点(即无线AP),但是和网线连接有一个区别是会把 AirOS 后面设备的MAC全部改成桥本身的MAC地址,如果网络模式是网桥模式并且路由器等设备做了ARP绑定就会出现上不了网的现象,需要修改为带WDS的无线模式。

站 WDS 模式:会通过无线连接到接入点(即无线AP),相当于一根网线直接直接连接,不会修改 AirOS 后面设备的MAC地址,如果主路由有ARP绑定推荐本模式或无线接入点WDS模式。

接入点模式:即无线AP模式,允许其他设备炼乳本网络。

接入点 WDS 模式:会自动的和同样 ESSID、密码、同样接入点 WDS 模式的设备自动组网,AirOS 之间自动通过通过无线通信,不需要网线连接,而且每个 AirOS 设备都同时提供无线AP功能,手机设备都可以直接连接进来,应该还提供无缝漫游功能(未实测)。 实测过两个 AirOS 都开接入点 WDS模式,双方之间没有网线连接,网络模式都是网桥模式,其中一个 AirOS 设备通过网线和路由器连接,手机可以连入 AirOS

No comment »

EverBox 网盘邀请链接

http://account.everbox.com/signup/GameXG

No comment »

送EverBox 邀请:国产的DropBox,最大10G免费空间

今天收到了EverBox 的邀请,正在试用,速度不错,下载达到了104k/s,上传41kb/s。
容量也不错,在2台机器上开启同步后可达到4G的免费空间,邀请一人送250M,最大10G免费空间。现在正在试用。
现在只有windows客户端,声称以后会有多种客户端。
这个是国内的软件,应该不会被墙了。
目前还未开放注册,需要邀请。
邀请地址:
http://account.everbox.com/invite/botREwes5japEqyPw9CkbJkYhRtRFOjU4UMSGMvZ
http://account.everbox.com/invite/7Zpm7tAtBehDmnowIcZGr1Jyzr0zgBBrZ1VYqqfV
http://account.everbox.com/invite/EU7w80wCjJGhJ6IZXvgknjosmne3wrhs2WawLTic
http://account.everbox.com/invite/ILyPP4TV4JSntpviBYQYi8q7a7MrGcq6AbkT6nJR
http://account.everbox.com/invite/BXH9Hr2Uu6QngzS1M1X8kQRuoEHWy3HFmLDWGyXi

No comment »