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

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.1

X-Remote-IP:2.2.2.2

X-Remote-Addr:3.3.3.3

X-Originating-IP:4.4.4.4

X-Forwarded-For:5.5.5.5

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

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

运行结果如下

再到后台看看统计信息

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

0X02总结

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

PS:如果有什么更好的欺骗方法,欢迎交流,也欢迎来访问我的个人blog:https://mochazz.github.io

时间: 2024-12-20 03:04:01

通过Python实现自动填写调查问卷的相关文章

关于“问吧”调查问卷的心得体会

“问吧”APP是一个关于提问,回答,分享经验等的群体决策软件,是我们团队正在进行的一个项目,为了更好地了解市场需求 和完善我们项目的需求设计,我们开始了这次的问卷调查. 毋庸置疑,进行调查问卷最重要的是要制定一份合理有效的问卷调查表,而这无疑也是最难的一部分.在经过了对我们项目的 不断分析和“剖析”过后,我们也只是写出了几个问题,好多的问题都是在被提出时又被否定了,最后在大家的努力下终于制定出一 份相对完美的问卷:接下来就是问卷的分发,为了更方便,我们采取了在网络上发链接的方式请别人填写问卷调查

调查问卷的编写过程

我采用了问卷星网址在线制作调查问卷 首先我先确定了想要调查的目标,我选择了生活日用品洗发水,主要针对的调查对象是大学生.下图为具体制作调查问卷的过程.第一张是编辑问题,对问题进行填写,选择文本框.               通过确定目标制作完调查问卷后,可对问卷进行预览,如果有不满意想要改动的地方,可以在问卷设计中尽行修改.下图为具体步骤讲解. 在制作问卷完毕后,可通过微信.QQ.微博等社交软件进行发送,让朋友们接受我的调查,并填写调查问卷.下图为分享过程.         通过大家对点差问卷

不一样的Office 365之 —— Office 365 中的调查问卷

出去嗨了一圈,算算也有几天不见了,这次再来谈下Office 365里关于调查问卷的小技巧,实际上Office 365,尤其是国际版里有很多值得我们关注的功能和组件,这也是写这些blog的初衷,可以帮助很多不熟悉这些组件的童鞋更全面的了解Office 365. 之前有已经跟各位谈过了Office 365的Forms,这是个做调查问卷的绝佳工具,相信各位上手之后也会有这样的感受,但是Forms有一个最大的问题就是它现在还不支持21V的版本,所以对于21V版的用户来说,这不得不说是个遗憾. 但是这个遗

调查问卷实践总结

这次设计调查问卷的题目,我参与度不够.反思. 调查问卷的整个环节,从设计题目,到发布问卷,鼓动身边朋友同学去填写,最后对结果进行分析.走完这整个流程,还是和我想的有些不一样. 比如: 1.我以为填写问卷的都是生活背景,经历相似的同龄人,所以调查结果应该和作为开发者的我们想法差不多.但事实上,收集结果后,还是对结果有些许意外.果然,用户需求不好琢磨. 2.我不认为调查问卷是最好的收集用户需求信息的途径,作为同样曾“被调查的对象”,我就算看到弹出的所谓有奖填问卷的对话框也不会想去填.调查问卷调查不出

大学生对技术网站需求的调查问卷结果分析

参与本问卷调查的共计134人,七成的调查人员是计算机相关专业本科生,与我们的主要客户大体上是一致的,所以该调查问卷的结果还是具有很大程度的参考意义. 使用技术网站的目的 调查结果表明:大部分用户使用技术网站的目的是咨询自己在编程中遇到的问题和bug,以及查询专业术语和技术文档等.根据这个结果,一方面,我们考虑在Beta阶段,首先将Question部分的功能移植到新版本上,并进行一定的修改,使可用性更强.另一方面,要加强与数据处理组的沟通,将网站上展示的数据更多的偏向专业术语和技术文档. 平时使用

“钱多多”软件用户调查问卷的调查报告

"钱多多"软件用户调查问卷   姓名:               学院:                  学号: 联系方式(QQ或者手机号):                (所有信息保密请大家放心填写) 性别:◎男   ◎女 1.你每个月的开销是 ◎500以下          ◎500-1000        ◎1000以上 2.你每个月的生活费一般都花在哪几个方面(多选) ◎吃喝 ◎服饰 ◎日用品 ◎手机话费流量等开销 ◎网购 ◎化妆 ◎电影 ◎旅游 ◎游戏 ◎其他 3.你每

JavasScript实现调查问卷插件

鄙人屌丝程序猿一枚,闲来无事,想尝试攻城师是感觉,于是乎搞了点小玩意.用js实现调查问卷,实现了常规的题型,单选,多选,排序,填空,矩阵等. 遂开源贴出来与各程序员共享,聊以自慰. 前台代码如下: 1 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="Aim.Examining.Web.SurveyUI.Web

【彩彩只能变身队】用户需求分析(一)—— 调查问卷

3月8日的课堂上各组进行了初步的课题宣讲,我们及时地得到了老师和同学们的反馈和建议,在此基础上我们认真思考了我们的课题涉及的各种问题,以老师为对象设计了我们的调查问卷. 问卷的连接:https://www.wjx.cn/jq/21256975.aspx   关于课程作业提交与管理系统的调查 开场白:我们计划开发一个协助各科老师收集和整理电子版作业的网站,需要您宝贵的建议. 本问卷共有9个问题,总计用时2分钟. 1. 请问您教授的学科属于以下哪一类? [单选题] ○理工财经类 ○人文社科类 ○其他

Python + Selenium 自动发布文章(一):开源中国

https://blog.csdn.net/qq_28804275/article/details/80891949 https://blog.csdn.net/qq_28804275/article/details/80891949Python + Selenium 自动发布文章系列:Python + Selenium 自动发布文章(一):开源中国Python + Selenium 自动发布文章(二):简书Python + Selenium 自动发布文章(三):CSDNPython + Sel