js不精通xss就不会
以后还会再系统学习JavaScript 现在只为了熟悉xss先预习

章节点

1、PHP

功能:新闻列表,会员中心,资源下载,留言版,后台块,版引用,框架开发等技术:输入输出,超全局变量,数据库操作,逻辑架构,包含上传&下载删除;

技术:JS&CSS混用,Cookie,Session操作,MVC架构,ThinkPHP引用等

安全:原生PHP开发安全,模版引用安全,第三方插件安全,TP框架安全等

2、JS

功能:登录验证,文件操作,SQL操作,云应用接入,框架开发,打包器使用等

技术:原生开发,DOM,常见库使用,框架开发(Vue,NodeJs),打包器(webpack)等

安全:原生开发安全,NodeJs安全,Vue安全,打包器webpack安全,三方库安全问题等

3、Java、、、

一、JS原生开发-JQuery库-Ajax技术-前端后端-安全验证处理

js原生开发-文件上传-变量&对象&函数&事件
js导入库开发-登录验证-JQuery库&Ajax技术
js导入库开发-逻辑购买0JQuery库&Ajax技术

JS章节点

功能:登录验证,文件操作,商品购买,数据库操作,云应用接入,框架开发等

技术:原生开发,DOM树,常见库使用(JQuery),框架开发(Vue,Nodejs-->小程序)等

(一)参考

1、 JavaScript 教程

2、jQuery 教程

(二)JS原生开发-文件上传-变量&对象&函数&事件

1、布置前端页面

2、JS获取提交数据

3、JS对上传格式判断

4、后端对上传数据处理

架构:html js php - upload.php
前端js进行后缀过滤,后端php进行上传处理

安全问题:

1、过滤代码能看到分析绕过

2、禁用JS或删除过滤代码绕过

(三)JS导入库开发-登录验证-JQuery库&Ajax技术

0、布置前端页面

1、获取登录事件

2、配置Ajax请求

3、后端代码验证

4、成功回调判断

架构:html js login.html - logincheck.php
后端php进行账号判断,前端JS进行登录处理

安全问题:

登录成功的跳转页面还是在js里(用bp截获返回包,修改后再放包回前端,则提示成功并跳转)只有验证代码写在后端代码才安全些

(四)JS导入库开发-逻辑购买-JQuery库&Ajax技术

1、布置前端页面

2、获取登录事件

3、配置Ajax请求

4、后端代码验证

5、成功回调判断

架构:html js shop.html-shopcheck.php

安全问题:

业务逻辑写到js里有问题

购买成功后的流程不能写到前端

(五)实例测试-某违规APP-密码找回&JS验证逻辑安全

判断前端js数据包的处理逻辑

二、JS应用-DOM树-加密编码库-断点调试-逆向分析-元素属性操作

(一)JS原生开发-DOM树-用户交互

DOM:文档操作对象

浏览器提供的一套专门用来操作网页代码内容的功能,实现自主或用户交互动作反馈

安全问题:

本身的前端代码通过DOM技术实现代码的更新和修改,但是更新修改的数据如果由用户来,就会造成DOM——XSS攻击

1、获取对象
标签:直接写
Class:加上符号
id:加上符号#
<h1 id="myHeader" onclick="getValue()">这是标题</h1>
document.querySelector('h1')
document.querySelector('.id')
document.querySelector(#myHeader')

2、获取对象属性
<hl id="myHeader" onclick="qetValue()">这是标题</h1>
const hl=document.querySelector('h1')
const id=h1.id
console.log(id)

3、操作元素数据
innerHTML 解析后续代码
innerText 不解析后续代码

DOM型插入js代码执行xss,未成功要么是浏览器不支持,要么是编写问题

4、操作元素属性
className src id等
<img src="iphone.jpg" width="300" height="300"></img
const src=document.querySelector('img')
src.src='huawei.png'

(二)JS导入库开发-编码加密-逆向调试

利用js的库进行加解密

//Base64

//MD5
<script src="js/md5.js"></script>
<script>
   var strl='xiaodisec'
   var str encode =md5(str1);
   console.log(str encode)
</script>

//SHA1
//HMAC
//AES
//DES

动态调试 控制台
MD5('xiaozhu')--->字符串
再去看发送的包传输的数据,输入xiaozhu,发现同样MD5加密后的字符串
如果传输的值是前端加密的,那么找到加密函数后,比如执行加密后的注入语句,就可以测试

三、JS应用-NodeJS指南-原型链污染-Express框架-功能实现-审计

Node.js 教程_w3cschool

ctf-nodejs之一些小知识 | F1veseven Blog

环境搭建-NodeJs-解析安装&库安装
功能实现-NodeJs-数据库&文件&执行
安全问题-NodeJS-注入&RCE&原型链
案例分析-NodeJS-CTF题目&源码审计
开发指南-NodeJS-安全SecGuide项目

(一)环境搭建-NodeJs-解析安装&库安装

0、文档参考

https://www.w3cschool.cn/nodejs

1、Nodejs安装

Node.js — Run JavaScript Everywhere

2、三方库安装

express
Express是一个简洁而灵活的node.is web应用框架

body-parser
node.js中间件,用于处理 JSON,Text和URL编码的数据,Raw,

cookie-parser
这就是一个解析Cookie的工具。通过req.cookies可以取到传过来的cookie,并把它们转成对象。

multer
node.js中间件,用于处理enctype="multipart/form-data"(设置表单的MIME编码)的表单数据

mysql
Node.js来连接MySQL专用库,并对数据库进行操作

MongoDB最多

安装命令:
npm i express
npm i body-parser
npm i oookie-parser
npm i multer
npm i mysql

(二)功能实现-NodeJs-数据库&文件&执行

登录操作

1、Express开发

2、实现用户登录

3、加入数据库操作

文件操作

1、Express开发

2、实现目录读取

3、加入传参接受

(三)命令执行(RCE)

1、eval('console.log();')  #nodejs 
调用代码执行把字符串当做代码解析

2、exec & spawnSyn('calc/notepad') 
#nodejs 脚本调用系统命令执行

(四)安全问题-NodeJs-注入&RCE&原型链

1、SQL注入&文件操作

2、RCE执行&原型链污染 --->CTF

3、NodeJs黑盒无代码分析

实战测试Nodejs安全:
判断:参考前期的信息收集(F12返回包也能判断)
黑盒:通过对各种功能和参数进行payload测试
白盒:通过多代码中写法安全进行审计分析

原型链污染 ---> ctf题型
如果攻击者控制并修改了一个对象的原型,(_proto_)
那么将可以影响所有和这个对象来自同一个类、父祖类的对象。

(五)案例分析-NodeJS-CTF题目&源码审计

1、CTFSHOW几个题目 web334-344

https://ctf.show/

2、YApi管理平台漏洞

yapi token注入漏洞-CSDN博客

开发指南-NodeJs-安全SecGuide项目

https://github.com/Tencent/secguide

三、JS应用-WebPack打包器-第三方库JQuery-安装使用-安全检测

(一)打包器-WebPack-使用&安全

一文看懂webpack打包操作

webpack是一个模块打包器。在webpack中会将前端的所有资源文件都作为模块处理。它将根据模块的依赖关系进行分析,生成对应的资源。

五个核心概念:

1、【入口(entry)】:指示webpack应该使用哪个模块,来作为构建内部依赖图开始。

2、【输出(output)】:在哪里输出文件,以及如何命名这些文件。

3、【Loader】:处理那些非JavaScript文件(webpack自身只能解析JavaScript和json)。
webpack本身只能处理JS、JSON模块,如果要加载其他类型的文件(模块),就需要使用对应的loader。

4、【插件(plugins)】:执行范围更广的任务,从打包到优化都可以实现。

5、【模式(mode)】:有生产模式production和开发模式development。

开发者模式打包出来的是很长的js文件
用html引用打包出来的js文件
f12还能看到过程,看到逻辑(用哪几个文件打包出来的)
生产者模式的代码很短很短 不会泄露源码

Webpack使用

1、创建需打包文件

2、安装webpack库

3、创建webpack配置文件

4、运行webpack打包命令

安全:

1、webPack源码泄漏-模式选择

2、模糊提取安全检查-PacketFuzzer

原生态JS:前端语言直接显示源代码

Nodejs:服务端语言浏览器不显示源代码

Webpack:打包模式选择开发者模式后会造成源码泄露(Nodejs vue)

(二)第三方库-JQuery-使用&安全

jQuery是一个快速、简洁的JavaScript框架,是一个丰富的JavaScript代码库。
设计目的是为了写更少的代码,做更多的事情。它封装Javascript常用功能代码,提供一种简便的JavaScript设计模式,优化HTML文档操作、事件处理、动画设计和Ajax交互。

1、使用

引用路径: jquery下载所有版本(实时更新)

2、安全

检测:research.insecurelabs.org/jquery/test/

测试:CVE-2020-11022/CVE-2020-11023

参考:Javascript框架库漏洞验证-CSDN博客

欢迎来访 这是我的小窝~ 网安弱鸡 健身屌丝 好不容易搭出来的 大佬略过我
最后更新于 2025-11-19