【第二十一天 - Javascript】

Q1. 什麽是 Javascript ?

  • Javascript 是一种脚本语言,可以动态的更新页面内容、控制多媒体...
  • 网页前端主要由三个部分组成
    • 组织页面的内容,并给予定义,例如标题、段落、栏位名称、嵌入图片名称等 (使用 HTML 标记语言 )
    • 协助页面内容套入样式,例如更改背景颜色、字型,让页面变得更好看 (使用 CSS 样式规则语言)
    • 动态的变动页面内容,使用者可以与页面进行互动 (使用 Javascript 脚本语言)

参考资料:https://developer.mozilla.org/zh-TW/docs/Learn/JavaScript/First_steps/What_is_JavaScript

Q2. 线上 JS 直译器:

Q3. JS 手法(1):

  • JS 储存帐密/关键资讯
    • 由於 JS 是在 client 端执行 (前端),若在 JS 储存重要资料,则容易造成资料外泄
      • 程序码/注解可能储存帐密、一段关键杂凑码(可使用 John the Ripper 进行解密)
    • 使用右键或 F12 检视原始程序码
    • view-source:<网址>检视网页原始码,尤其是网页右键被锁住时
    • 关键资讯也有可能与其他页面相关
      • e.g. <原本的网址>/<关键资讯> 可能储存真正的 flag
  • JS 执行程序
    • 网页进行身分验证时,应当将验证功能写在後端。
    • 如果写在前端,由於 JavaScript 会在使用者端执行,即使经过混淆,仍有被逆推的可能性。
    • CTF 中,时常出现前端验证的题目,有些会将 Script 进行编码,有些会混淆,常用函数如下:
      • string.substring(开头 index, 结尾 index): 从大字串中切出小字串,例如从大字串中切取数字,经过一系列运算後得到 key。
      • escape(字串): 将特殊字元进行 url encoding 形式的编码,但不会跳脱 @*/+ ,可用 unescape(字串) 解码。
      • eval(字串) 会将传入的字串当作 JavaScript 执行,是一个很危险的函式
      • jscript.encode: 将 Script 编码,使得攻击者难以阅读,不过可以使用 http://the-computer-site.com/jscript-decode.php 进行解码。
        • 此编码方式为 Microsoft 提出,一般只能用於 IE 。
      • jsfuck: 将 JavaScript 转换为只有符号的形式,但不须解码仍可执行。
      • aaencode: 同上,另一种转换为符号的混淆工具。
    • 当 JS 经过混淆後,有时逆向十分耗费心力,此时可以尝试直接执行一小段程序码,直接将输出印出来查看,藉此观察功能,可用函数如下:
      • alert(variable)
      • confirm(variable)
      • console.log(variable)

参考资料:https://introspelliam.github.io/2017/11/12/misc/CTF比赛中关于javascript的总结/

参考资料:https://www.itread01.com/p/1011168.html

参考资料:https://web2hack.org/xssee/


<<:  【没钱买ps,PyQt自己写】Day 20 - PyQt 最重要的 QThread 概念 / 为什麽 windows, mac, ubuntu (linux) 程序会「没有回应」?

>>:  Day 0x19 - odoo addons 永丰金流开发(Part 1 - 预期目标)

Day 2 Flutter介绍

Flutter架构 (一)Framework:由纯Dart语言实现的SDK 1.底下两层:底层UI函...

Day-22 创新才是正义!带领任天堂重返荣耀的 Wii

任天堂在经历了 NGC 的失败後、开始上上下下的进行检讨、得出了几个结论。 任天堂比起 SONY 或...

唤醒与生俱来的数学力 (3) 抽象化 & 模型化

在数学课本中,最早引导学生思考「抽象概念」的练习是「正数和负数」。接在负数後,会开始运用文字式的代数...

2.MYSQL 安装

先去MYSQL官网下载:https://dev.mysql.com/downloads/ 然後按 这...

python-opencv 进行饼乾烤焦检测

这组程序是用来判断饼乾的颜色是否烤焦,不只可以应用在食品业上,在工业上也可以判断金属在热处理後的颜色...