侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

通过Python实现自动填写调查问卷

Python  /  管理员 发布于 7年前   125

0X00 前言

快开学了,看到空间里面各种求填写调查问卷的,我才想起来貌似我也还没做。对于这种无意义的问卷,我是不怎么感冒的,所以我打算使用”特技”来完成,也就是python,顺便重新复习一下python,真的好久没用了。下面,表演开始……

0X01代码编写思路

首先先创建一份问卷

我们随便填写一个问卷并提交,在提交之前开启Burpsuite截获数据包

对于截获的数据包进行分析,有的被url编码了不利于分析,可以使用Burpsuite编码模块解码替换,这样就好分析了

通过观察可以发现,post了一串奇怪的数据submitdata=1$2}2$3}3$3}4$4}5$3}6$2}7$4}8$2}9$3}10$3。仔细分析可看出数据大概是这个意思submitdata=题号$选项号}题号$选项号}题号$选项号}……..

利用这些信息就可以开始编写python程序了

运行结果如下

貌似网站还有其他反爬虫机制,在连续提交几个表单之后,就出现了验证码。难道此时我们还要给程序添加上识别验证码的功能?其实不必,我们可以先分析一下刚刚Burpsuite截获的header信息,来看看到底网站是通过什么方式,识别出我们是用爬虫来提交问卷的。

通过一番测试,我发现当我连续提交3份问卷,再换一个IP提交3个问卷,也就是连续提交了6份问卷,并没有触发网站的反爬虫机制。所以我们可以猜测对方基于IP提交问卷的频率来识别爬虫程序的。看到这里,大家可能会想,我们可以通过网上的免费代理来提交问卷。例如这些

那是不是意味着我们还要往python代码中添加提取免费代理IP的功能呢?NO NO NO!换个思路,在CTF比赛中会遇到一种题目,例如你的IP是来自德国的才可以拿到flag。所以,我们的思路就是进行数据包头欺骗,伪造我们的IP,骗过服务器。下面来说说伪造IP的几种方式。

X-Client-IP:1.1.1.1X-Remote-IP:2.2.2.2X-Remote-Addr:3.3.3.3X-Originating-IP:4.4.4.4X-Forwarded-For:5.5.5.5

我们每个都尝试一下,然后在后台统计那里可以看到我们的问卷来源

这里我们发现用X-Forwarded-For可以绕过,按我们就用这种方法在header信息中添加X-Forwarded-For字段,所以修改后的脚本如下

运行结果如下

再到后台看看统计信息

至此,我们算是完美的解决任务了。如果大家想去掉调查问卷中国外的IP地址,可以收集一下中国的IP地址段,然后添加进程序,处理一下即可。

0X02总结

大家平常可以把学到的东西用到实际生活中,遇到困难的时候不要慌,多思考,找到最优的解决方法。例如上面,我并没有在代码中添加验证码识别模块,也没有通过走代理的方式来绕过网站的反爬虫机制,而是通过分析网站的反爬虫机制,并且使用所学的安全知识(HTTP头欺骗)轻松解决问题,使用最短的代码完美完成任务。


  • 上一条:
    Python中表示字符串的三种方法
    下一条:
    Python实现在线暴力破解邮箱账号密码功能示例【测试可用】
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 在python语言中Flask框架的学习及简单功能示例(0个评论)
    • 在Python语言中实现GUI全屏倒计时代码示例(0个评论)
    • Python + zipfile库实现zip文件解压自动化脚本示例(0个评论)
    • python爬虫BeautifulSoup快速抓取网站图片(1个评论)
    • vscode 配置 python3开发环境的方法(0个评论)
    • 近期文章
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 在go语言中实现IP/CIDR的ip和netmask互转及IP段形式互转及ip是否存在IP/CIDR(0个评论)
    • PHP 8.4 Alpha 1现已发布!(0个评论)
    • Laravel 11.15版本发布 - Eloquent Builder中添加的泛型(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2018-04
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2022-01
    • 2023-07
    • 2023-10
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客