您现在的位置是:网站首页> 编程资料编程资料
利用HTML实现限制ip的投票网站作弊方案纯html+css实现Element loading效果纯html+css实现奥运五环的示例代码HTML+CSS实现导航条下拉菜单的示例代码html+css实现滚动到元素位置显示加载动画效果纯html+css实现打字效果html+css实现环绕倒影加载特效html输入两个数实现加减乘除功能html中显示特殊符号(附带特殊字符对应表)关于html选择框创建占位符的问题html css3不拉伸图片显示效果
2021-08-30
1362人已围观
简介 很多投票类的网站是不能重复投票的,主要是限制ip,一个ip只可以投票一次,下面我们一起来看看利用HTML实现限制ip的投票网站作弊方案,需要的朋友可以参考下
对限制ip的投票网站作弊方案,这个方法利用了投票网站监测远程ip的一些漏洞来实现,并没有真正的伪造ip地址,http是建立的tcp之上的第七层,是不可能伪造真实ip地址的最近朋友需要一个投票软件,我最近也就研究了一下这个投票网站,这个投票网站有验证码,每个IP限制为一票,看起来是标准的投票网站。我先研究了一下验证码:
这个投票网站的验证码开始很简单,标准位置的标准四个数字,很好识别。后来变态到位数不一定,而且还有字母,而且还位置上下不一定,这下验证码的识别,不但是软件很难识别,就连人工识别都困难。山穷水尽疑无路,柳暗花明又一村,请看下段分解!
在我不断的分析和研究发现他的验证码检查有漏洞,发现了这个漏洞,这个验证码已经形同虚设,无需识别,无需验证码,直接就绕过去了,因为他只在投票选项页设置检查验证码是否为空的 js代码,js代码是运行在客户端,这种验证的效果为零,一般JS这种验证只是为了方便用户来使用的,做为投票网站只使用这一种验证方式,在投票处理动态页面竟然不检查验证码是否为空,实在是不敢恭维,给网站的安全带来极大的隐患。
对于验证码的问题,我已经了解了破解方法,只要在投票的时候不直接访问验证码文件,那么验证码就是为空,既然他的动态页面不检查验证码是否为空,所以只要在post的时候验证码参数为空就可以了。
那么还有一个问题就是这个投票网站检查IP,限制一个IP只允许投票一次,那么只有使用代理,或者通过不停的断网和拨号才能实现。我实在想不到其他好办法,后来这个朋友找到了一个可以极速在这个网站投票的程序,我对这个程序的IP解决方案很好奇就问朋友要来想分析一下。
首先我是采取对这个投票软件进行抓包的方式来研究,准备好了之后,打开投票程序“刷!提示软件冲突!”晕,不会吧,那我就关掉一些程序,都关完了只留一个抓包程序还提示冲突,呵呵,原来这个程序竟然还知道有人可能会分析他的软件,竟然遍历进程名称,检查是否有可疑的程序,如果有程序对他进行分析或者抓包,他就拒绝运行。呵呵,目前我知道他限制的软件有易语言编程软件,还有 WSockExpert_Cn 抓包软件。呵呵,关了易语言,把 WSockExpert_Cn 名称改一下,顺利通过软件的自身安全检测,运行成功。
以下是我在使用过程中他投票是的数据包:
- 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为例).这段代码是在百度搜索到的.大部分网站可能都用这段代码。
- $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也类似.
然后我们来测试一下.
服务端代码:
- //输出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禁止清除input文本输入缓存的两种方法HTML5单选框、复选框、下拉菜单、文本域的实现代码HTML5 文件域+FileReader 分段读取文件并上传到服务器html列表框、文本域、文件域的示例代码
- 利用HTML、CSS 实现带表情的评论框的制作教程HTML中利用div+CSS实现简单的箭头图标的代码css 11种方法实现一个tips带有描边的小箭头css实现带箭头和圆点的轮播可自定义箭头样式的CSS3气泡提示框CSS3制作可自定义配置箭头的气泡提示框效果源码基于CSS实现带阴影和小箭头的黑色风格下拉菜单效果纯CSS3实现漂亮的input输入框动画样式库(Text input love)CSS实现让同一行文字和输入框对齐的方法CSS实现带箭头的提示框效果【示例代码】
- 简单掌握HTML中水平线标注与代码注释的用法HTML教程:html水平线段HTML <!--...--> 注释标签的深层次作用分析Html注释 Html中标记文字注释的符号css注释和html注释用法及应用范围介绍html中块注释的使用详细介绍
- 详解XHTML中的标题标签与段落标签的使用关于XHTML的H1标记的位置XHTML中的常用标签整理HTML与XHTML、以及HTML4与HTML5标签之间的区别简介xHTML与HTML标签的写法有哪些不同
- XHTML中的常用标签整理HTML与XHTML、以及HTML4与HTML5标签之间的区别简介xHTML与HTML标签的写法有哪些不同网站优化seo汇总XHTML标签对搜索引擎的权重XHTML标签语义化介绍XHTML标签的嵌套规则分析Xhtml下不常用却很有用的标签总结XHTML代码常见的应用问题XHTML标签在CSS中对应的属性及用法常用的XHTML标签的使用技巧介绍XHTML CSS写出正规的BLOG
- 用HTML和CSS打造属于自己的暖男“大白”纯HTML5+CSS3制作图片旋转一款利用html5和css3动画排列人物头像的实例演示2013年五大主流浏览器 HTML5 与 CSS3 兼容性大比拼一款纯css3实现的鼠标经过按钮特效教程HTML5时代CSS设置漂亮字体取代图片HTML5 CSS3打造相册效果附源码下载在HTML文档中嵌入CSS的三种常用方式html+css实现登录界面附效果图html、css 禁止文字自动换行属性word-break使用css美化html表单控件详细示例(表单美化)
- Html+css实现纯文字和带图标的按钮css图标与文字对齐的两种实现方法css控制文字前的小图标具体写法纯CSS实现取字符串的第一个字符实现文字图标功能
- HTML对于元素水平垂直居中的探讨利用CSS3的flexbox实现水平垂直居中与三列等高布局Flexbox制作CSS布局实现水平垂直居中的简单实例浅析CSS实现水平垂直同时居中的5种思路让DIV水平垂直居中的两种完美方法推荐CSS解决页面图片水平垂直居中问题的方法全面总结使用CSS实现水平垂直居中效果的方法CSS定位“十字架”之水平垂直居中关于html水平垂直居中的问题小结DIV或者DIV里面的图片水平与垂直居中的方法
- 不可不知的HTML优化技巧浅谈利用缓存来优化HTML5 Canvas程序的性能使用分层画布来优化HTML5渲染的教程常用HTML meta 标签属性(网站兼容与优化需要)css(html)背景图优化合并技巧详解html5摇一摇代码优化包括DeviceMotionEvent等等HTML输入框优化以此来提高用户体验和易用度CSS(html)背景图优化合并深入探讨了解html页面的渲染过程以备学习前端的性能优化(续)了解html页面的渲染过程以备学习前端的性能优化HTML优化加快网页速度
- HTML代码书写规范指南XHTML编码七条基本规范小结规范HTML代码可以节省修改代码的时间学习如何书写整洁规范的HTML标记网页制作中使用规范的HTML代码的几点HTML网页META标签内容写作规范要点HTML5 语义化结构化规范化
