fiddler抓包
今天接到小老板的任务,想让我给XXX刷点票。
这个投票的东西保护性做的很好,他只能每天投三个票,每个人只能投一张。我一开始用了一个bash脚本,结果没用。仔细琢磨,发现它是有以下几点的:
1:根据ip判断是否刷票
2:根据openid判断是同一个人
3:他用到了类似hash编码的东西
……
我下载了一个fiddler准备抓包,看看他的参数倒是啥。
fiddler其实就是一个代理服务器,先把要发送的信息发给代理服务器,然后再通过代理服务器发给目标网站。所以,我们能在本地的代理服务器上查看到这些信息的具体参数。
你这小东西,长得倒是挺精致~
点开之后,打开你要刷票的网页,微信的话你可以在电脑上下载微信客户端,在客户端打开投票网页。
打开表单,你可以看到他的参数。一般都是Post的表单,看起来比较安全,但是在抓包软件面前就是鸡肋。
既然知道了他的参数是啥,那么我们也该动手了。
在左下角输入bpu清理断点
然后设置断点
bpu + 目标网址
之后,重新执行,也可以重新打开这个网址。
然后就会出现这样的框,双击修改内容,然后点运行完成。
运行之后。你可以看JSON得到的结果,从这里你就可以看到你写的参数是否真的起作用了。
明白了各个参数分别代表什么,那我们就可以直接访问后台数据了。
访问
从左侧找到URL,复制下来。再从文本试图找到post的参数。
记录下来。
打开eclipse,新建一个web server project,写一个访问url的java文件。记住,是post的形式的,还要写上消息头。
Post这个URL和参数,加一个for循环,整个过程美滋滋。
但是有一个问题我到现在没理解,就是他加的hash这个参数,我找遍了各种参数然后把它们转成hash编码,都没得到和文中hash值相同的,可能这个加密的是人家自己写的吧。
在我找的这个网站中,知识修改了openid是不可以的,因为只修改openid的话,它会显示hash错误,由于我不知道hash秘钥或明文,肯定不知道这个参数代表的啥。所以还需要在研究研究,看看这个参数到底代表什么意思。
关于代理IP
对了,忘了说ip的事情了,单个IP有时候在大网站是不可以的(小网站不检查IP),这时候你就需要用上代理IP了,你可以去上网爬一些免费的代理IP,然后每次都用不同的IP访问,大概就是这样几。
用Python爬代理ip比较简单,可以参考其他博主写的爬ip的内容,在这儿我就不多说啦!
共勉!