JavaScript中的安全问题

更多渗透课程可以点我头像看我的视频哦,也可以点击下面链接

web渗透测试最全实战课程--渗透测试视频教程-信息安全-CSDN程序员研修院

JavaScript介绍

JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。也就是脚本语言。

image-20211112104356563

JavaScript和Java的关系区别呢?JavaScript和Java没什么关系,两种不同的语言。

image-20211112104501658

JavaScript作用

JavaScript被广泛用于Web应用开发,常用来为网页添加各式各样的动态功能,为用户提供更流畅美观的浏览效果。

嵌入动态文本于HTML页面。

对浏览器事件做出响应。

读写HTML元素。

在数据被提交到服务器之前验证数据。

检测访客的浏览器信息。

控制cookies,包括创建和修改等。

查看网站中的JavaScript

浏览器-->开发工具(F12)

image-20211112105829813

将Js转化为html格式,看上面的Js非常的不标准,在中间框中左下角点击{}就可以使其格式标准化

image-20211112110034691

JavaScript代码分析

1、发现更多的攻击面(URL、域名、路径等等)

测试站、后台路径、未公开的路径、api地址等等

2、发现敏感信息(硬编码的帐号密码、API密钥、注释等等)

硬编码帐号可登录、测试帐号可被登录、密钥泄露、注释中开发信息等等

3、发现危险的代码(eval、dangerouslySetInnerHTML等等)

XSS漏洞、模版注入

4、了解网站的功能

分析方法

搜索关键词:

$.ajax(

$.get(

$.post(

method:"get

http.get(“

path:"

route:"

对当前网页js进行全局搜索:

火狐-->F12-->调试器-->Ctrl+Shift+F

image-20211115232942598

Webpack打包前端js

webpack是当前前端最热门的前端资源模块化管理和打包工具。

image-20211117111635288

存在.map文件

image-20211117111749892

•使用reverse-sourcemap工具

•reverse-sourcemap -v app.3c8aa9676f686b3a7caf.js.map -o sourcecode

image-20211117112348891

还原后进行分析,发现存在测试数据:

image-20211117112050581

利用测试数据进行登录访问,成功登录

image-20211117112137192

动态分析

各个浏览器的开发者工具的调试器同时加抓包工具辅助

image-20211117113759951

发现网站数据包加密,然后寻找提交登录的逻辑,进行下断点,然后单步调试

image-20211117114048646

跟踪加密函数:

image-20211117114110621

搜索加密函数调用方法 aesUtil.encryptAES()

image-20211117114129884

猜测数据包解密方法aesUtil.decryptAES()

image-20211117145833687

通过控制台执行函数对数据包加解密,构造sql注入语句,发现一处SQLServer的SQL注入

image-20211117145900600

进一步通过加解密直接出数据

image-20211117145924878

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: JavaScript 是一种流行的网页编程语言,它主要用于客户端网页开发,可以与用户交互、动态更新网页内容等。然而,由于 JavaScript 运行在客户端,它也存在一定的安全风险。 前端安全是指保护网站和用户免受前端攻击的过程。前端攻击是指通过欺骗用户或利用网站漏洞来获取用户敏感信息或窃取用户账户的行为。 为了保证前端安全,你需要注意以下几点: 1. 验证用户输入:不要相信用户的输入,应当对所有的输入进行验证,以防止恶意代码注入。 2. 加密敏感信息:对于用户的敏感信息(如密码),应当使用加密技术(如 HTTPS)来保护其安全。 3. 避免使用不安全的 API:JavaScript 有一些 API(如 eval())本身就不安全,应当尽量避免使用这些 API。 4. 安装防火墙和安全插件:使用防火墙和安全插件可以帮助你保护网站免受攻击。 5. 定期更新系统和浏览器:保持系统和浏览器的最新版本可以帮助你保护网站免受 ### 回答2: JavaScript 前端安全是指在开发、部署和运行前端代码过程,保护系统和用户的安全性。下面是几个关于JavaScript前端安全的主要方面: 1. 防止跨站脚本攻击(XSS):XSS是指攻击者向网页注入恶意脚本,然后在用户浏览器执行这些代码。为了防止XSS攻击,开发者应该对输入数据进行严格的过滤和验证,并使用合适的编码来防止脚本注入。 2. 防止跨站请求伪造(CSRF):CSRF是指攻击者通过伪造用户请求,利用用户已登录的身份执行恶意操作。为了防止CSRF攻击,开发者应该使用CSRF令牌(token)来验证每个用户请求的合法性,并在关键操作采取额外的保护措施。 3. 控制访问权限:前端需要确保不恰当的访问权限不能被滥用。开发者应该对服务端返回的数据进行合适的权限验证,并在客户端代码实施访问控制策略,确保只有有权用户可以访问敏感信息或功能。 4. 使用安全的存储方式:前端代码可能需要处理用户输入或敏感信息。为了防止这些数据被窃取或篡改,开发者应该使用安全的存储方式,如加密存储或使用浏览器提供的安全存储API(如localStorage或sessionStorage)。 5. 防止代码注入:开发者应该确保在前端代码避免注入攻击。这包括对用户输入进行严格的过滤和验证,并使用合适的编码方式来防止恶意代码注入。 综上所述,JavaScript前端安全是开发者应该关注和采取措施的重要方面。通过合适的输入验证、访问控制、存储保护和代码注入预防,可以确保前端应用的安全性,最大限度地保护用户和系统的安全

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mingzhi61

你的打赏,是我创造最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值