IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> Web安全-JavaScript基础 -> 正文阅读

[网络协议]Web安全-JavaScript基础

在这里插入图片描述

JavaScript语言简述:

在这里插入图片描述

JavaScript(通常缩写为JS)是一种进阶的、直译的程式语言(动态执行语言与Python,Java等语言类似),JavaScript是一门基于原型、头等函数的语言,是一门多范式的语言,它支援物件导向程式设计,指令式编程,以及函式语言程式设计,它提供语法来操控文字、阵列、日期以及正则表达式等,不支援I/O,比如网络、储存和图形等,但这些都可以由它的宿主环境提供支援。它已经由ECMA(欧洲电脑制造商协会)通过ECMAScript实作语言的标准化。它被世界上的绝大多数网站所使用,也被世界主流浏览器( Chrome、 IE、 Firefox、 Safari、Opera)支持。

为Web2.0而生:

–1993年,国家超级电脑应用中心(NCSA)发表了NCSA
Mosica最早流行的图形介面网页浏览器,它在万维网的普及上发挥了重要作用。
–1995年,网景招募了布兰登·艾克,目标是把Scheme语言嵌入到Netscape Navigator浏览器当中。
最初命名为Mocha,1995年9月在Netscape Navigator 2.0的Beta版中改名为LiveScript,同年12月,Netscape Navigator 2.0 Beta 3中部署时被重新命名为JavaScript
[以上内容来自wiki百科]

JavaScript教程:

在浏览器中调用Javascript,打开Chorm浏览器中的更多工具-开发者模式(Windows操作系统中使用F12)-console中执行一条JavaScript语句。

console.log("Hello World!")

JavaScript语言会被嵌入HTML前端代码中,一般由以下五种常见的形式:
直接插入代码块

<script>console.log('Hello World!');</script>

加载外部 JS 文件

<script src="Hello.js"></script>

使用 HTML 标签中的事件属性

<a href="javascript:alert('Hello')"></a>

JavaScript数据类型:

var pi=new String;
var pi=new Number;
var pi=new Boolean;
var pi=new Array;
var pi=new Object;
var pi=3.14;
var pi='Hello JavaScript';

JavaScript编程逻辑:

if条件语句

if (condition)
{
   代码块;
}
else
{
   代码块;
}

switch 条件语句:

switch(n)
{
  case 1:
    代码块
    break;
  case 2:
    代码块
    break;
  default:
    代码块
}

for/for in 循环语句:

for (代码1;代码2;代码3)
{
  代码块
}
for (x in xs)
{
  代码块
}

while/do while 循环语句:

while (条件)
{
  代码块
}
do
{
  代码块
}
while (条件);

JavaScript打印数据:

函数:window.alert(“TEST”) document.write(“TEST”) console.log(“TEST”)
作用:弹出警告框 写入HTML文档 写入浏览器控制台

JavaScript框架:

更多JavaScript框架内容可以参考[JQuery,Angular,React,Vue菜鸟教程]
jQuery
jQuery 封装了常用的JS功能,通过选择器的机制来操纵DOM节点,完成复杂的前端效果展示。
jQuery 是一个JavaScript函数库。JQuery库包括了HTML元素选取,HTML 元素操作,CSS操作
HTML事件函数,JavaScript特效和动画,HTML DOM遍历和修改,AJAX,Utilities
Angular
AngularJS是一个JavaScript框架,AngularJS是以一个JavaScript文件形式发布的,可通过 script 标签添加到网页中,实现了前端的MVC架构,通过动态数据绑定来简化数据转递流程。

<script src="https://cdn.staticfile.org/angular.js/1.4.6/angular.min.js"></script>

React
利用组件来构建前端UI的框架,React 起源于 Facebook 的内部项目,用来架设 Instagram 的网站,并于2013年5月开源。
React项目开源地址:React项目
Vue
Vue是一套构建用户界面的渐进式框架,Vue只关注视图层,采用自底向上增量开发的设计。
Vue的目标是通过尽可能简单的API实现响应的数据绑定和组合的视图组件。
JavaScript DOM和BOM
**DOM:**文档对象模型,JS通过操纵DOM可以动态获取、修改HTML中的元素、属性、CSS样式,这种修改有时会带来XSS攻击风险。
**BOM:**浏览器对象模型,类比于DOM,赋予JS对浏览器本身进行有限的操纵,获取Cookie、地理位置、系统硬件或浏览器插件信息等。

JavaScript混淆:

混淆前的代码:

console.log('Hello World!');

混淆后的代码:

console["\x6c\x6f\x67"]('\x48\x65\x6c\x6c\x6f \x57\x6f\x72\x6c\x64\x21');

加密后的代码:

eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1;};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p;}('1.0(\'3 2!\');',4,4,'log|console|World|Hello'.split('|'),0,{}))

无论JS代码被如何加密都会被浏览器执行。

JavaScript代码混淆开源项目介绍:

JavaScript 混淆器
JavaScript混淆器
JavaScript Obfuscator 是一款功能强大的免费 JavaScript 混淆器,包含多种功能,可为您的源代码提供保护。
JavaScript代码在线混淆站:ChinaZ.com
https://tool.chinaz.com/tools/jscodeconfusion.aspx
混淆前的代码:

window.alert("XSS")

混淆后的代码:

window["\x61\x6c\x65\x72\x74"]("\x58\x53\x53")

本地运行JavaScript代码:
Node是JS语言的编译器,我们能通过NodeJS运行JS代码Node
1.在任意一个编辑软件中编写JS代码,并保存为test.js
console.log(“Hello World”);
2.执行JavaScript:
node test.js
JavaScritp安全问题:

参考资料:

CTF-ALL-IN-ONE
[中文维基百科JavaScript]https://zh.m.wikipedia.org/zh-hk/JavaScript
https://developer.mozilla.org/zh-TW/docs/Web/JavaScript

  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2022-06-08 19:15:14  更:2022-06-08 19:15:25 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 0:46:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码