投票常见漏洞分析溯源
文章目录
前言
是否你还在为了微信投票而烦恼,今天将来通过靶场来演示微信投票的漏洞,票数第一就是这么简单
一、User-Agent的理解
User Agent中文名为用户代理,简称 UA,它是一个特殊字符串头,使得服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等。
如下图:可以看到我用的浏览器是火狐,系统win10 64位
下图是谷歌浏览器
感兴趣的可以去这里看看:https://baike.baidu.com/item/%E7%94%A8%E6%88%B7%E4%BB%A3%E7%90%86/1471005?fromtitle=user-agent&fromid=10574244&fr=aladdin
二、X-Forwarded-For的理解
1.什么是X-Forwarded-For
X-Forwarded-For 是一个 HTTP 扩展头部。HTTP/1.1(RFC 2616)协议并没有对它的定义,它最开始是由 Squid 这个缓存代理软件引入,用来表示 HTTP 请求端真实 IP。如今它已经成为事实上的标准,被各大 HTTP 代理、负载均衡等转发服务广泛使用,并被写入 RFC 7239(Forwarded HTTP Extension)标准之中。
X-Forwarded-For的格式:
X-Forwarded-For:ip1,ip2,ip3
2.X-Forwarded-For可以用来干什么
可以进行IP的伪造,这样想如果你去某网站领取福利但是它限制一个IP地址只能领一次,而使用
X-Forwarded-For我能就可以一直换着IP领取是不是爽歪歪。(当然这样不可取,而且几乎没有网站会这样吧)
直接把代码放在包后面通过burp发送:
X-Forwarded—For:192.168.119.113
该IP为自己要修改的IP,按照自己的需求去填写
3.brup的爆破模式
下面会用的到,下面将详细讲解
三.开始靶场练习
1.打开靶场,理解题意
这是个微信投票,某某要自己的家乡成为第一名
二、开始操作搞起来
1.打开网站首页收到提示
页面提示要用微信打开,然而奈何实力不允许没有微信,只能想办法了。这个时候想到了User-Agent,那我把这个改成微信的User-Agent不就可以投票了嘛
2.先百度一个微信的User-Agent试试
代码如下(示例):
Mozilla/5.0 (iPhone; CPU iPhone OS 12_1_4 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/16D57 MicroMessenger/7.0.3(0x17000321) NetType/WIFI Language/zh_CN
作者:0ne0ne
链接:https://www.jianshu.com/p/c313904a89de
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
将这个User-Agent复制到burp抓的网站的包中试试能不能投票
3.进行修改
如下
修改完成可以投票了,但是只能投一次,成为第一名还遥遥无期
4.怎么样才可以一直投票,帮助某某的家乡夺冠
如下图,尝试X-Forwarded-For参数(可以伪造IP地址)
发送包尝试是否可以投票
投票成功,说明存在X-Forwarded-For漏洞,然后a2019得到第一名的票数还差很多票,我们总不能投一次票就修改一次吧。这时我们用到burp的intruder模块(爆破模块)感兴趣的可以自己看一下。
修改数据,发送到intruder模块上,如下图
将需要的字符Add(可以根据字典发生改变),导入字典
这里我选择了1-254的文本
设置完点击开始如下图
说明字典已经跑完
这时候放包,刷新网站页面得到key
这是我们看看a2019的票数
票数最多搞定