(10)基于Python模拟网站的登录

news/2024/5/17 15:20:22/文章来源:https://blog.csdn.net/LQ753799168/article/details/105354186

    最近利用工作之余,把之前研究的东西又翻看了一遍,发现其中一个数据表格的导出,并没有对网站的登录进行模拟。本着打破砂锅问到底的精神,再一次打开该网站,研究了该网站的登录是怎么一回事的。

    首先,打开抓包工具fiddler,设置过滤的网站参数。如下图,点击打开Filters分页,勾选Use Filters,在下方输入框中输入目标网站的地址。

    接着打开浏览器,清除浏览数据,其目的是为了清除cookie和相关缓存信息,保证数据包为首次完整流程的抓取。如下图,输入账号密码,直接登录。

    在登录成功后,便可以在fiddler中获取到登录全流程的数据包信息。如下图示。

 

    对抓取到的数据包信息进行筛选,最后得到三个数据包,在Comments中标注猜测的内容,其中第二个数据请求中有带用户名和加密后的密码,故需要对整个请求的所有参赛获取进行分析,尽量完全模拟整个发送过程,这边我用尽量这个词是因为,有时候参赛并不一定需要全部都带上,这个取决于服务端的检验,或许服务端只关心账号和密码,其他字段可有可无,但如果我们能做到全真的模拟,那么所有参数都带上即为最佳。如下图所示,我们需要对请求中8个参数进行分析。初步猜测可变的字段有__VIEWSTATE,Username,Password,NdToken1,NdToken2。那么这五个参数的由来肯定是在这个请求发送之前获取到的。因此我们定位范围即为该请求发送之前的所有请求。

    当我执行查看第一个数据请求时,我发现所有的参数都在该请求返回的数据信息内,即打开网页时,网页源码带有相关的参数。如下图所示。

    至此,我们可以清楚的知道,_VIEWSTATE,NdToken1,NdToken2可以直接解析得出,而Username为用户输入的,且这边也为明文传输,故我们也不用关心。那么剩下的就Password需要稍微研究下。通过上图可以得知,Password进行了RSA加密,而模数n和指数e都能在上方直接解析得出,那么我们只需要模拟该过程即可。

    但在随后的模拟过程发现一直无法成功登录,故利用了断点调试,发现Password在进行RSA加密时,并非登录时的密码,而是另一个字符串,详细查看了此处代码,发现原来进行RSA加密前,对密码进行了一次base64encode加密,如下图所示。

    而此处的具体加密方式,我们可以在上方找到该方法,如下图所示。

    因此,我们只要在RSA加密之前,只需对密码先进行一步base64encode加密即可。此处也可以通过断点调试获取到加密后的密码字符串,通过与我们代码模拟得到的字符串进行对比,可以做阶段性的校验。而RSA加密每次结果都是不一样的,故无法通过对比RSA结果判断代码的正确与否。

    当我们以为一切都搞定的时候,发现还是无法正常登录成功。再次review整个流程,发现每次打开网页的时候,RSA加密的模数n都是不一样的。因此,我们需要每次解析获得模数,通过模数进而得到公钥,得到密文,从而模拟成功。此处需要注意的是,网站的RSA加密后长度为256位,我们模拟出来的密文长度也必须是256位。

    再次修改代码后,即发现登录成功。至此,该网站的登录我们算是搞定了,开心!

    以下为代码分享。

对爬虫有兴趣的小伙伴,可以给我留言或私聊我,我们可以互相讨论学习。

欢迎关注我个人的公众号

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_855471.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于struts1.2的网站源码组织结构

结合自己弄的一个小项目,总结一下在MyEclipse下,使用Strut1.2框架开发网站的源码组织结构 (stuts1.2的架构基本上是这样的了~) 下图左边是源码组织结构,右边为相应的说明

数据库有用网站

分享下常用的数据库网站,希望对大家有用 数据库SQL基础知识:http://www.w3school.com.cn/sql/index.asp ChinaUnix: http://www.chinaunix.net/ itpub网站: http://www.itpub.net/ MySQL中文社区:http://www.mysqlpub.com/fo…

个人创业楷模:一个人,一个网站,5.75亿美元卖掉

个人创业楷模:一个人,一个网站,5.75亿美元卖掉(转) 一个人,24岁时写了一个网站,每天只工作2小时,他还嫌工作量太大。他每天从谷歌广告赚好几万美元,不用合伙人&#xff…

Apache网站服务器

Apache网站服务基础 Apache简介 Apache HTTP Server 是开源软件项目的杰出代表,基于标准的HTPP网络协议提供网页浏览服务,在Web服务器领域中长期保持着超过半数的份额。Apache服务器可以运行在Linux、UNIX、Windows等多种操作系统平台中。 Apache的主…

网站架构常识

1、DNS域名解析(步骤) 2、网站架构演变过程 (1)传统架构 传统项目分为三层架构,将业务逻辑层、数据库访问层、控制层放入在一个项目中 使用SSH或者SSM技术。 优点:适合于个人或者小团队开发,不适合大团队…

不修改代码就能优化ASP.NET网站性能的一些方法

阅读目录 开始配置OutputCache启用内容过期解决资源文件升级问题启用压缩删除无用的HttpModule其它优化选项本文将介绍一些方法用于优化ASP.NET网站性能,这些方法都是不需要修改程序代码的。它们主要分为二个方面:1. 利用ASP.NET自身的扩展性进行优化。2…

IIS日志-网站运维的好帮手

阅读目录 开始IIS日志包含了哪些信息IIS日志的配置如何分析IIS日志推荐的IIS日志分析方法IIS日志中的异常记录再谈 scwin32status64寻找性能问题寻找可改进的目标程序架构对IIS日志分析过程的影响对于一个需要长期维护的网站来说,如何让网站长久稳定运行是件很有意义…

【Python成长之路】Python爬虫 --requests库爬取网站乱码(\xe4\xb8\xb0\xe5\xaf\x8c\xe7\x9)的解决方法

【写在前面】 在用requests库对自己的CSDN个人博客(https://blog.csdn.net/yuzipeng)进行爬取时,发现乱码报错(\xe4\xb8\xb0\xe5\xaf\x8c\xe7\x9),如下图所示: 网上 查找了一些方法&#xff0c…

【Python成长之路】破解Boss直聘网站滑块验证

哈喽大家好,我是鹏哥。 今天要记录的内容是 —— 破解Boss直聘网站的滑块验证。 …… 上 课 铃…… TuesdayBurak Yeter;Danelle Sandoval - Tuesday 1 写在前面 最近领导安排我投入公司招聘工作,然后自然就需要不停地在boss直聘网上进行人才搜索。搞了…

【Python成长之路】基于Flask开发网站--利用复选框进行批量操作

哈喽大家好,我是鹏哥。 今天我想写的内容是 —— 基于Flask实现网页表格的批量删除。 ~~~上课铃~~~ LiberatorsEpic Score - Vengeance - ES033 1 写在前面 由于近期有同事在工作中向我求助网页可视化怎么做,对于从来没有学过html/vue/javascript等框架开…

【Python成长之路】基于Flask开发网站 -- 基于重定向实现搜索功能

哈喽大家好,我是鹏哥。 今天继续上周的内容,仍然讲基于Flask开发网站,不过这次的控件是 ——基于重定向实现搜索功能。 ~~~上课铃~~~ Silver Scrapes(As Featured In the ESPN "This Is College GameDay" Spot)Danny McCarthy - Si…

【Python成长之路】从 零做网站开发 -- 下拉选择项的实现

哈喽大家好,我是鹏哥。 今天继续之前的html组件开发话题是 —— 下拉选择项。 ~~~上课铃~~~ 卡农变奏曲K.Williams - 终极钢琴测试王 1 写在前面 上次的搜索功能,有粉丝提到,能不能设置成可选的搜索条件。答案自然是可以的,所以我…

手把手教你用 Docker 部署网站[Docker 系列-8]

大家好,我是本周的值班编辑 江南一点雨 ,本周将由我为大家排版并送出技术干货,大家可以在公众号后台回复“java”,获得作者 Java 知识体系/面试必看资料。在实际的开发环境或者生产环境,容器往往都不是独立运行的&…

推荐几个不错第 Java 学习网站

这是Java极客技术的第313篇原创文章粉粉昨天晚上做梦,梦见自己想好好学习一下 Java,因为平常总是 CRUD 导致自己根本没有时间学习,所以第二天粉粉怀着激动的心情不到5点就起床整理,从而给大家推荐几个不错的网站。LearnJava 在线这…

阿粉带你从零搭建一个属于自己的个人网站

每天早上七点三十分,准时推送干货很多小伙伴私信我,问我怎么弄一个个人博客系统,之前其实也聊过,不过没关系,今天我们再来详细的说一说。对于已经上线的项目,我们知道后期的迭代主要集中在线上发布这个环节…

面试官:假如说我们现在要做一个千万级用户量网站,你怎么设计高并发架构?...

每天早上七点三十,准时推送干货之前的时候,阿粉一直在看同事面试,但是呢,阿粉并没有自己去面试,而无意间打开Boss的时候,发现一家公司私聊了我,我回复了一下之后,竟然说我可以去面试…

引入两个依赖之后,阿粉一周内就完成了网站的登录改造|实战开发

每天早上七点三十,准时推送干货上次阿粉在文章中介绍了四种分布式一致性 Session 的实现方式,在这四种中最常用的就是后端集中存储方案,这样即使 web 应用重启或者扩容,Session 都没有丢失的风险。今天我们就使用这种方式对 Sessi…

太全了!学Java项目,上这个网站就够了

你有多久没好好学习一个开源项目了?你是否经常为找不到好的开源项目而烦恼?你是否为不知道怎么入手去看一个开源项目?你是否想看别人的项目学习笔记?你是否想跟着别人的项目搭建过程一步一步跟着做项目?今天给大家介绍…

修补破窗和分类网站

我一直相信,Craig做的众多的正确的事情中间,十年如一日的删除垃圾广告是Craigslist成功的重要最重要的因素。 这就牵涉到一个叫做破窗理论的概念。它讲的就是仓库如果有一扇窗子破了,不及时修补,很快所有的窗户都会被打破。甚至这…

公司网站被挂马后引发的思考

本文来源于偶的php技术博客www.yuxinqi.info,求关注,求支持,每天一篇原创,力求实用。 昨天公司网站福州家政网http://www.jiacn.net所有php代码文件被植入一段代码,代码的含义是将从bing和google过来的ip跳转到指定的网址&#x…