假设不会js语法来进行js破解

本文感谢挖掘机小王子提供的帮助

挖掘机小王子的github:https://github.com/EnjoyScraping

网站的登录接口

我们可以准备一组常用的账号密码,并记下对应的MD5、base64等密文,以后抓包会直观看出采用什么加密方式

登录手机号 密码
66666666666 666666

输入


Formdata有两个加密参数f分别是formhash、pwd_password
全局搜索formhash有如3个下js包含formhash单词

  • Common.js

    根据js规则n("#字符串").val() 【ps:val() 方法返回或设置被选元素的值】,我们知道这个formhash可能被插入到html或者从html中提取,可以在此处打上断点
  • showdialog.js


根据名称猜测这是获得新的formhash值,我自己也看不懂,继续

  • login_and_reg.js
    这里有11个匹配先看最像的


265行首先函数的名字叫‘用户登录user_login’
283行cheackform译为‘’检查form表单‘’,百度JS语法中Document 对象使我们可以从脚本中对 HTML 页面中的所有元素进行访问。没跑了就是它
278行不难猜出是对输入的数据合法性校验
那我们对287-295行参数进行分析

分析formhash:i

 i = $("#formhash" + l).val()

基础语法知识:
https://www.jianshu.com/p/99669d012404
https://www.w3school.com.cn/jquery/attributes_val.asp
JS中$
JS应用库JQUERY的作者将之做为一个自定义函数名了,这个函数是获取指定网页元素的函数,$ 相当于一个匿名函数,函数名
2.相当于定义一个\ $ 函数,返回的是通过id去获取对应的html元素
val() 方法返回或设置被选元素的值。
结论i =(html表单formhash标签的值 + l)其中l在266行定义为空字符串
验证方法:自己去html搜出来然后运行下

分析txt_account:t

从抓包工具返回formdata看,他就是‘’用户登录手机号‘’,以学习为主这里也进行推理

var t = (t = $("#txt_account" + l).val()) || $("#txt_account1" + l).val()
从html获得(txt_account的值+空字符串) ||html获得(txt_account1的值+空字符串) //就是两种登录方式的用户名输入栏呗

html中txt_account搜索结果

html中txt_account1不存在
推断是另一个登录接口,有可能是微信扫码
根据语法规则判断出他就是‘’用户登录手机号‘’

分析pwd_password: e

从抓包工具返回formdata看定义的名称看,他就是‘’用户登录密码‘’,以学习为主这里也进行推理

e = $("#pwd_password" + l).val(), e = hex_md5(e)
从html获得(pwd_password的值+空字符串),再使用md5()函数进行运算

我们知道MD5是一种常用加密方式,但是在有些项目中,有些网站可能修改了MD5的加密源码,这里需要测试,以密码输入’666666’为例,生成了32位的密文


测试的结果一致,可以直接使用MD5参数
拓展:假设MD5函数不是源码,应该怎么把生成函数从众多文件剔出来

分析login_type: 3

没啥分析的,固定参数为3

分析 ckb_cookie: 1 == s ? 1 : 0

看名称是和cookie有关的,因为使用的bool值表示,斗胆猜测是cookie是否存在或者是否设置cookie的开关

 s = $(":checkbox[name='autologin']").is(":checked")从html获得name='autologin'的选中框是否被选中,对应是否自动登录,那这就懂了,根据测试当打钩时其值1会生成登录后的cookie,

那其实ckb_cookie: 1 == s ? 1 : 0可以这么看,1==s 真就为1,假为0,这里的问号相当于映射

分析 hdn_refer: a

refer这个单词很常见,在HTTP 请求的头信息里面,Referer 是一个常见字段,提供访问来源的信息
refer的介绍
而且在抓包工具中formdata中这是明文’'https://www.epwk.com/‘’
这里我们假装不知道,来分析下

 a = $("#hdn_refer_mobile" + l).val()html中找到hdn_refer_mobile属性

分析 txt_code: t || “”

var t = $("#mobile_code" + l).val()
根据英文mobile_code是手机验证码,老规矩html里搜mobile_code,为了方便切换到手机登录

分析 pre: d || “”

d = $("#code_pre" + l).val()
html里找


找到是找到了,但是很好奇这个是什么,于是删除hidden属性看一下

原来是一个输入框

分析 inajax: 1

默认数字,没啥分析的

万能方法:调试

以上分析思路也可以使用打断点调试的方法

js逆向教程1:某某威客登录相关推荐

  1. Js逆向教程19-websocket介绍

    Js逆向教程19-websocket介绍 作者:虚坏叔叔 博客:https://xuhss.com 早餐店不会开到晚上,想吃的人早就来了!

  2. Js逆向教程17-极验滑块 实现加密算法的逻辑

    Js逆向教程17-极验滑块 实现加密算法的逻辑 还是和上节课一样,针对这个网址 https://www.geetest.com/demo/slide-float.html 一.加密算法的结果查看 计算 ...

  3. Js逆向教程20-Hook基础

    Js逆向教程19-Hook基础 一.jshook Hook就是在这些流程任意环节插入自己的代码,让浏览器先执行自己的代码 然后再执行原本网站的 hook在以下流程中可以做的事情: 1.1 html流程 ...

  4. JS逆向之美团网模拟登录h5Fingerprint、password(RSA)加密参数解析

    文章目录 前言 一.页面分析 二.加密解析 1.password解析 加密定位 参数解密 2.h5Fingerprint解析 加密定位 参数解密 3.python调用模拟请求 总结 前言 最近和几位大 ...

  5. JS逆向之美团网模拟登录!这教程杠杠滴~

    切忌用于一切非法途径,否则后果自行承担! 地址:https://passport.meituan.com/account/unitivelogin 一.页面分析 打开网页输入账号:138xxxx888 ...

  6. 最新QQ邮箱滑块JS逆向教程

    目标网址:https://mail.qq.com/ 重要说明:文章教程仅供参考学习,请勿用于非法用途,否则后果自负. 目录 一.登录流程分析 二.编写程序代码 </

  7. JS逆向——AES加密案例(openlaw登录)

    前言 本文是该专栏的第27篇,后面会持续分享python的爬虫干货知识,记得关注. 在爬虫项目中,或多或少都会遇到请求参数被加密,像这样的例子有很多,所以js加密对于爬虫攻城狮来说,也是一块比较难啃的 ...

  8. JS逆向教程:Python采集今日头条视频

    最近在做今日头条文章数据抓取的过程中,发现视频地址的获取较为复杂.在源码与浏览器配合下发现对应的解决思路,故此记录一下. 很多人学习python,不知道从何学起. 很多人学习python,掌握了基本语 ...

  9. 最新百度翻译接口JS逆向教程

    目标网址:百度翻译-200种语言互译.沟通全世界! 重要说明:文章教程仅供参考学习,请勿用于非法用途,否则后果自负. 目录 1.接口参数分析 2.全局搜索sign 3.加密逻辑分析

最新文章

  1. QMessageBox对话框
  2. 人工智能70年:科幻和现实的交融
  3. 全局中断_实时性迷思(3)——80%时间屏蔽了中断,实时性还有救么?
  4. 推荐系统算法总结(三)——FM与DNN DeepFM
  5. [2019人工智能实战_廖盈嘉]第1次个人作业
  6. 使用Python将字符串转换为格式化的日期时间字符串
  7. 如何设置CentOS 7开机自动获取IP地址详解
  8. 【码歌】Java逆袭之路,小白系统笔记,持续更新
  9. 万年历c语言代码3000年,求万年历代码!
  10. 在ubuntu中运行qq
  11. 计算机组成原理速成课程【速成】
  12. 计算机专业29岁博士毕业,已经29岁了想去读博士晚不晚?
  13. 去掉input记录密码时的背景颜色
  14. 500篇干货解读人工智能新时代
  15. WinForm控件Chart的图表类型
  16. 【RDMA】RoCE网络QoS|应用层设置PFC等级|Tos|Priority|TC
  17. MAC下的Sublime Text关闭自动更新提示,关闭更新检查,适用于Sublime 3和Sublime 4
  18. 我是谁?小米上市坎途的身份困惑
  19. 差动放大器自动测试系统使用
  20. C语言:判断一个数是否为素数(3种方法,含注释)

热门文章

  1. 每天一练——牛客网基础语法(9)
  2. 不用再为下载而发愁了,提供一款支持115网盘、迅雷、快车、旋风、飞速网盘的专用链接解析出资源的真实地址的软件...
  3. 车载诊断系列 —— 车辆诊断(Vehicle Diagnostics)
  4. python监控机票价格_喜欢旅行又怕吃土?让Python来爬取最便宜机票吧!
  5. x3100服务器设置linux启动,ubuntu 9.04 X3100 显卡开启3D特效
  6. 安卓逆向-某音乐软件
  7. Google Glass 开发
  8. RK3399平台开发系列讲解(内核设备树原理)3.9、内核启动阶段获得dtb位置指针过程介绍
  9. 浙江发布全国首个诉讼服务规范省级标准
  10. TCPIP完整的一套基础介绍