第63天:WEB攻防-JS应用&算法逆向&三重断点调试&调用堆栈&BP插件发包&安全结合
本文发布于514天前,本文最后更新于513 天前,其中的信息可能已经过时,如有错误请留言或评论。

知识点

  1. JavaScript-作用域&调用堆栈
  2. JavaScript-断点调试&全局搜索
  3. JavaScript-Burp算法模块使用

之前学习过一段时间爬虫,对js逆向本身也有一定了解,所以学这节课比较轻松。

为什么要学这个?

  • 针对JS开发应用
  • 密码登录枚举爆破,参数提交漏洞检测
    • 密码和参数需要加密后进行提交
  • 泄漏URL有更多测试

前置知识

  • 作用域:(本地&全局)
    • 简单来说就是运行后相关的数据值
  • 调用堆栈:(由下到上)
    • 简单来说就是代码的执行逻辑顺序
  • 常见分析调试:
    • 代码全局搜索
      • 根据数据包,获取一些关键字
      • 然后直接在代码中全局搜索关键字,如登录提交的url路径等
    • 文件流程断点
      • 查询访问该页面调用的堆栈,google:F12->网络->选择数据包->启动器,寻找最有可能进行加密数据的调用进入分析
    • 代码标签断点
      • 右键检查元素后,选择标签右键,选择中断于属性修改和子树修改(一般就是触发事件)
      • 这个方法有的网站可以,有的不可以
    • XHR提交断点
      • 选择xhr发送的数据包,在调试器中xhr断点处添加获取的关键路径

演示案例

演示案例地址:

➢JS逆向-流程&全局搜索-登录算法

流程断点:审查元素抓网络请求包发起程序
全局搜索:通过抓包参数名进行代码全局搜索

➢JS逆向-标签&XHR断点-登录算法

标签断点:审查元素对应标签按钮加入断点
XHR断点:审查元素源代码加入XHR断点配置

➢JS逆向-结合BurpSuite-插件引用

  1. 下载phantomjs并添加其bin目录环境变量
  2. BurpSuite加载jsEncrypter插件
  3. 对逆向的加密算法提取JS文件及代码
    • 也就是把人家加密用的js库的js代码直接保存下来,这里假设保存为JSEncrypt.js
  4. 这里逆向的的是上交大的交我算平台的登录密码,地址:https://account.hpc.sjtu.edu.cn/#/login
    • 根据前面讲的方法,定位到js进行加密的地方如下:
  5. 把代码写入到模版phantomjs_server中(引用JS和调用加密)

  6. 使用phantomjs运行刚写入的模版文件
    phantomjs phantomjs_server.js

  7. 在burpsuite插件连接测试
  8. 正常设置发包后选择引用插件选项
  9. 发包即可发现数据都进行了加密

参考

学习内容均来自小迪安全系列课程:http://xiaodi8.com/

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇