对限制ip的投票网站作弊方案,这个方法利用了投票网站监测远程ip的一些漏洞来实现,并没有真正的伪造ip地址,http是建立的tcp之上的第七层,是不可能伪造真实ip地址的最近朋友需要一个投票软件,我最近也就研究了一下这个投票网站,这个投票网站有验证码,每个IP限制为一票,看起来是标准的投票网站。我先研究了一下验证码:
这个投票网站的验证码开始很简单,标准位置的标准四个数字,很好识别。后来变态到位数不一定,而且还有字母,而且还位置上下不一定,这下验证码的识别,不但是软件很难识别,就连人工识别都困难。山穷水尽疑无路,柳暗花明又一村,请看下段分解!
在我不断的分析和研究发现他的验证码检查有漏洞,发现了这个漏洞,这个验证码已经形同虚设,无需识别,无需验证码,直接就绕过去了,因为他只在投票选项页设置检查验证码是否为空的 js代码,js代码是运行在客户端,这种验证的效果为零,一般JS这种验证只是为了方便用户来使用的,做为投票网站只使用这一种验证方式,在投票处理动态页面竟然不检查验证码是否为空,实在是不敢恭维,给网站的安全带来极大的隐患。
对于验证码的问题,我已经了解了破解方法,只要在投票的时候不直接访问验证码文件,那么验证码就是为空,既然他的动态页面不检查验证码是否为空,所以只要在post的时候验证码参数为空就可以了。
那么还有一个问题就是这个投票网站检查IP,限制一个IP只允许投票一次,那么只有使用代理,或者通过不停的断网和拨号才能实现。我实在想不到其他好办法,后来这个朋友找到了一个可以极速在这个网站投票的程序,我对这个程序的IP解决方案很好奇就问朋友要来想分析一下。
首先我是采取对这个投票软件进行抓包的方式来研究,准备好了之后,打开投票程序“刷!提示软件冲突!”晕,不会吧,那我就关掉一些程序,都关完了只留一个抓包程序还提示冲突,呵呵,原来这个程序竟然还知道有人可能会分析他的软件,竟然遍历进程名称,检查是否有可疑的程序,如果有程序对他进行分析或者抓包,他就拒绝运行。呵呵,目前我知道他限制的软件有易语言编程软件,还有 WSockExpert_Cn 抓包软件。呵呵,关了易语言,把 WSockExpert_Cn 名称改一下,顺利通过软件的自身安全检测,运行成功。
以下是我在使用过程中他投票是的数据包:
XML/HTML Code复制内容到剪贴板- POST /vote/view.php?sid=33act=vote HTTP/1.1
- Accept: */*
- Referer: http://www.qdnfy.gov.cn/vote/vote.php
- Content-Type: application/x-www-form-urlencoded
- X-Forwarded-For: 218.20.218.200
- CLIENT_IP: 218.20.218.200
- VIA: 218.20.218.200
- REMOTE_ADDR: 218.20.218.200
- Accept-Language: zh-cn
- Accept-Encoding: text
- User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.0.04506)
- Host: www.qdnfy.gov.cn
- Cookie: PHPSESSID=pldjnb6scereodjm5niqb9q990
- Content-Length: 49
- Connection: Close
-Forwarded-For 发现了这个http头参数 后面跟着IP,呵呵,这个参数肯定有来头,原来我一直不知道,呵呵,赶紧百度一下。
下面是百度后的一篇说明文章,说得很好,大家看看。
伪造HTTP头中的X-Forwarded-For字段来伪造IP百度了一下X-Forwarded-For的原理,这东西出来好长时间了.我还第一次听说X-Forwarded-For:简称XFF头,它代表客户端,也就是HTTP的请求端真实的IP,只有在通过了HTTP 代理或者负载均衡服务器时才会添加该项。
它不是RFC中定义的标准请求头信息,在squid缓存代理服务器开发文档中可以找到该项的详细介绍。
标准格式如下:
X-Forwarded-For: client1, proxy1, proxy2
从标准格式可以看出,X-Forwarded-For头信息可以有多个,中间用逗号分隔,第一项为真实的客户端ip,剩下的就是曾经经过的代理或负载均衡的ip地址,经过几个就会出现几个。
wiki 的X-Forwarded-For解释 http://en.wikipedia.org/wiki/X-Forwarded-For分析:
既然是要伪造客户端IP,那我们先看看一般是怎样获取客户端IP地址的(以php为例).这段代码是在百度搜索到的.大部分网站可能都用这段代码。
XML/HTML Code复制内容到剪贴板- $user_IP = ($_SERVER["HTTP_VIA"]) ? //是否使用了代理
- $_SERVER["HTTP_X_FORWARDED_FOR"] : $_SERVER["REMOTE_ADDR"];
- //获取失败则从REMOTE_ADDR获取
- $user_IP = ($user_IP) ? $user_IP : $_SERVER["REMOTE_ADDR"];
- ?>
首先判断HTTP_VIA头是否存在,HTTP_VIA头代表是否使用了代理服务器.如果没有那就从REMOTE_ADDR字段获取客户端的IP地址,如果有那就从X-Forwarded-For获取客户端IP我估计很多程序员都是从百度来的代码吧.asp也类似.
然后我们来测试一下.
服务端代码:
XML/HTML Code复制内容到剪贴板- //输出HTTP_X_FORWARDED_FOR
- echo "HTTP_X_FORWARDED_FOR:".$_SERVER["HTTP_X_FORWARDED_FOR"];
- //输出REMOTE_ADDR echo "REMOTE_ADDR:". $_SERVER["REMOTE_ADDR"];
- ?>
可以看到获取到的客户端ip地址是不一样的.REMOTE_ADDR为真实地址.
所以一个网站如果是从X-Forwarded-For来判断客户端IP地址的话,那么我们就可以利用这个逻辑漏洞刷票。
HTML,ip,投票网站
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。
更新日志
- 小骆驼-《草原狼2(蓝光CD)》[原抓WAV+CUE]
- 群星《欢迎来到我身边 电影原声专辑》[320K/MP3][105.02MB]
- 群星《欢迎来到我身边 电影原声专辑》[FLAC/分轨][480.9MB]
- 雷婷《梦里蓝天HQⅡ》 2023头版限量编号低速原抓[WAV+CUE][463M]
- 群星《2024好听新歌42》AI调整音效【WAV分轨】
- 王思雨-《思念陪着鸿雁飞》WAV
- 王思雨《喜马拉雅HQ》头版限量编号[WAV+CUE]
- 李健《无时无刻》[WAV+CUE][590M]
- 陈奕迅《酝酿》[WAV分轨][502M]
- 卓依婷《化蝶》2CD[WAV+CUE][1.1G]
- 群星《吉他王(黑胶CD)》[WAV+CUE]
- 齐秦《穿乐(穿越)》[WAV+CUE]
- 发烧珍品《数位CD音响测试-动向效果(九)》【WAV+CUE】
- 邝美云《邝美云精装歌集》[DSF][1.6G]
- 吕方《爱一回伤一回》[WAV+CUE][454M]