0X00简介
马上就要入学了。 看到空间里要求填写各种各样的问卷,我也觉得好像还没做。 对于这种无意义的问卷,我不太感冒,所以打算用“特长”来完成。 也就是说是python。 顺便重新复习一下python。 真的很久没见了。 那么,表演要开始了……
0X01代码编写的思考
首先做调查问卷
填写并提交调查问卷,然后在提交之前打开Burpsuite拦截数据包
在分析截获的数据包时,某些信息包使用url编码可能不利于分析。 在Burpsuite编码模块中进行解码和替换,便于分析
据观察,post上排列着奇怪的数据submit data=1$2}2$3}3$3}4$4}5$3}6$2}7$4}8$2}9$3} 10 $ 3。 仔细分析,数据大概就是这个意思的submitdata=问题号$选项号}问题号$选项号}问题号$选项号}…… .
可以使用这些信息开始编写python程序
执行结果如下
网站上似乎还有其他应对爬行动物的机制,在连续提交了几个表格后,验证码出来了。 此时,需要在程序中添加识别认证码的功能吗? 不,我们先分析一下Burpsuite截获的header信息,看看网站是用什么方法在爬虫上提交调查问卷的。
通过测试发现,当我连续提交三个问卷,再换一个IP提交三个问卷时,也就是连续提交六个问卷时,没有反爬虫机制可以触发网站。 所以,可以推测对方基于IP提交问卷的频率来识别爬虫类程序。 看到这里,你可能会觉得我们可以通过网上免费代理提交问卷。 例如这些
这是否意味着要在python代码中添加提取免费代理IP的功能呢? 否否否! 转念一想,在CTF比赛中,你会遇到你的IP来自德国才能拿到flag等主题。 因此,我们的思路曾进行包头诈骗,伪造我们的IP,欺骗服务器。 谈谈伪造IP的几种方法吧。
我们都试过了。 然后你可以在后台统计中看到我们的问卷来源
在这里,我发现可以用X-Forwarded-For绕过。 使用此方法将X-Forwarded-For字段添加到header信息中,因此修改后的脚本应如下所示
执行结果如下
让我们在后台看看统计数据
这样,我们就是完美的解决任务。 如果想去除调查问卷中中国以外的IP地址,收集中国的IP地址段,添加到程序中,进行处理就可以了。
0X02总结
大家可以把平时学到的东西运用到实际生活中,遇到困难的时候不要慌张,好好思考,找到最佳的解决方法。 例如,我分析了网站的反爬虫机制,而不是在代码中添加验证码识别模块或使用代理绕过网站,用学到的安全知识(HTTP头部诈骗)简单解决问题,最短的代码
原文链接: http://www.tui cool.com/articles/ibyzzqm