- 博客(71)
- 收藏
- 关注
原创 ctf-crypto1
前言一次巧合的情况下点开了一个ctf比赛 一直没玩过ctf 第一次 0基础分析 签到题crypto的题目:#!/usr/bin/env python# -*- coding: utf-8 -*-from Crypto.Util.number import *import randomflag=b'flag{******************}'n = 2 ** 256flaglong=bytes_to_long(flag)m = random.randint(2, n-1) | 1
2021-09-26 23:10:50
2375
原创 SQL注入之access联合查询
access联合查询常见数据库搭配上面几种搭配都是可以混搭的access数据库结构access数据库的结构: 表名---->列名---->内容数据 他不像其他的数据库一样、里面创建多个数据库然后才是表再是内容、而access的话只有一个库若干张表。测试SQL注入access注入基本流程:1.判断有无注入2.猜解表名3.猜解字段4.猜解管理员ID值5.猜解用户名和密码长度6.猜解用户名和密码判断注入and 1=1 and 1=2 ——判断注入 显示正常说明这
2021-04-17 10:09:28
813
原创 app信息收集和waf识别
wafWeb应用防护系统(也称为:网站应用级入侵防御系统。英文:Web Application Firewall,简称: WAF)。利用国际上公认的一种说法:Web应用防火墙是通过执行一系列针对HTTP/HTTPS的安全策略来专门为Web应用提供保护的一款产品WAF与网络防火墙的区别网络防火墙作为访问控制设备,主要工作在OSI模型三、四层,基于IP报文进行检测。只是对端口做限制,对TCP协议做封堵。其产品设计无需理解HTTP会话,也就决定了无法理解Web应用程序语言如HTML、SQL语言。因此,它不可
2021-04-14 11:40:32
869
原创 CDN绕过方法
CDN有什么作用?CDN基本思路就是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。CDN核心的就是使用户可就近访问网络,取得所需内容,解决网络拥挤的状况,明显提高用户访问网站的响应速度或者用户下载速度。CDN对网站有什么好处?首先,开启CDN后的网站
2021-04-10 12:20:13
1172
原创 全局配置app.json的认识
全局配置app.json{ "pages":[ "pages/index/index", "pages/logs/logs" ], "window":{ "backgroundTextStyle":"light", "navigationBarBackgroundColor": "#fff", "navigationBarTitleText": "Weixin", "navigationBarTextStyle":"black" },
2021-03-16 21:28:52
244
原创 NodeJS组成原理
NodeJS组成原理初步了解nodejs组成原理蓝色部分基本上都是js代码1. 用户代码JS代码,开发者编写的2. 第三方库大部分仍然是JS代码,由其他开发者编写3. 本地模块代码JS代码4. V8引擎c/c++代码,作用:把JS代码解释成为机器码可以通过v8引擎的某种机制,扩展其功能V8引擎的扩展和对扩展的编译,是通过一个工具:gyp工具某些第三方库需要使用node-gyp工具进行构建,因此需要先安装node-gyp...
2021-03-15 22:13:37
470
原创 XSS攻击和防御
XSS攻击和防御XSS:Cross Site Scripting 跨站脚本攻击存储型XSS恶意用户提交了恶意内容到服务器服务器没有识别,保存了恶意内容到数据库正常用户访问服务器服务器在不知情的情况下,给予了之前的恶意内容,让正常用户遭到攻击反射型恶意用户分享了一个正常网站的链接,链接中带有恶意内容正常用户点击了该链接服务器在不知情的情况,把链接的恶意内容读取了出来,放进了页面中,让正常用户遭到攻击DOM型恶意用户通过任何方式,向服务器中注入了一些dom元素,
2021-03-15 22:07:29
387
1
原创 CSRF攻击和防御
CSRF 特点和原理CSRF:Cross Site Request Forgery,跨站请求伪造本质是:恶意网站把正常用户作为媒介,通过模拟正常用户的操作,攻击其登录过的站点。它的原理如下:用户访问正常站点,登录后,获取到了正常站点的令牌,以cookie的形式保存用户访问恶意站点,恶意站点通过某种形式去请求了正常站点(请求伪造),迫使正常用户把令牌传递到正常站点,完成攻击防御cookie的SameSite现在很多浏览器都支持禁止跨域附带的cookie,只需要把cookie设置的
2021-03-15 21:56:19
514
原创 socket.io
socket客户端连接服务器(TCP / IP),三次握手,建立了连接通道客户端和服务器通过socket接口发送消息和接收消息,任何一端在任何时候,都可以向另一端发送任何消息有一端断开了,通道销毁http客户端连接服务器(TCP / IP),三次握手,建立了连接通道客户端发送一个http格式的消息(消息头 消息体),服务器响应http格式的消息(消息头 消息体)客户端或服务器断开,通道销毁实时性的问题:轮询长连接websocket专门用于解决实时传输的问题客户端连接服
2021-03-14 21:10:51
897
原创 jwt
jwtjwt 也相当于一个令牌一样的东西 可以和cookie一样 可以用来进行登录和认证但是jwt相对于更完善一点 统一规划了不同客户端 浏览器 手机等等jwt提供了一套统一的规范 不管使用什么终端设备 都用一套规范随着前后端分离的发展,以及数据中心的建立,越来越多的公司会创建一个中心服务器,服务于各种产品线。而这些产品线上的产品,它们可能有着各种终端设备,包括但不仅限于浏览器、桌面应用、移动端应用、平板应用、甚至智能家居实际上,不同的产品线通常有自己的服务器,产品内部的数
2021-03-07 22:23:46
200
原创 session
sessionsession文档https://github.com/expressjs/sessionsession 是用来可以进行登录认证的 和cookie jwt 一样不存在谁取代谁 各有个 的好处session是存储在服务器的而cookie是存储在客户端的进行简单的session测试在在node里面 有一个session中间件 只需要简单的配置 就可以使用sessionsession安装npm i express-sessionsecret 相当于一种你要加密的秘
2021-03-07 11:58:42
151
原创 CORS中间件
CORS中间件CORS中间件文档https://github.com/expressjs/cors#readmenpm i cors使用cors中间件能直接解决简单请求的跨域处理预检的请求fetch("http://localhost:5008/api/student", { method: "POST", headers: { "content-type": "application/json", a: 1, }, credentials: "includ
2021-03-06 11:26:19
1426
原创 跨域之CORS
阅读本文,你需要首先知道:浏览器的同源策略跨域问题JSONP原理cookie原理JSONP并不是一个好的跨域解决方案,它至少有着下面两个严重问题:会打乱服务器的消息格式:JSONP要求服务器响应一段JS代码,但在非跨域的情况下,服务器又需要响应一个正常的JSON格式只能完成GET请求:JSONP的原理会要求浏览器端生成一个script元素,而script元素发出的请求只能是get请求所以,CORS是一种更好的跨域解决方案。概述CORS是基于http1.1的一种跨域解决方案,它.
2021-03-06 11:10:18
438
原创 跨域之JSONP
同源策略在协议,端口,主机名完全相同的情况下 访问才不会出现跨域请求在出现跨域的情况之后可以用多种办法解决JSONP就是其中一直利用JSONP解决跨域 实际上是利用script标签 来请求资源 这样能够解决跨域 但尽管这样能够解决 但是还是需要服务端进行相应的配置 才能拿到数据页面上也需要进行相应的配置服务端返回的callback在页面的js代码里面需要提前创建这样一个名字的函数JSONP缺陷如果没有跨域的话 服务端就需要 另外重新配置返回的数据格式 这样就会很麻烦而且JSO
2021-03-06 10:30:01
143
原创 断点调试
node进行断点调试需要用到node里面的 node --inspect 启动模块在package里面配置一下启动服务然后启动服务打开页面的控制台就会多一个东西,这个东西就相当于是node的控制台然后点击source 里面 就能看到我们当前程序运行所运行的相关代码文件可以在里面 打断点进行相应的调试除了用浏览器调试 还可以用vscode自带的调试工具这样配置之后也可以进行断点调试...
2021-03-06 10:14:40
241
原创 实现简单的登录和认证
登录分发cookie利用cookie-parser 中间件安装npm i cookie-parser简单的使用cookie-parser加入cookie-parser 中间件加入之后,会在req对象中注入cookies属性,用于获取所有请求传递过来的cookie加入之后,会在res对象中注入cookie方法,用于设置cookieconst cookieParser = require("cookie-parser");app.use(cookieParser());路由配置ro
2021-03-04 23:03:52
386
1
原创 cookie的基本概念
一个不大不小的问题假设服务器有一个接口,通过请求这个接口,可以添加一个管理员但是,不是任何人都有权力做这种操作的那么服务器如何知道请求接口的人是有权力的呢?答案是:只有登录过的管理员才能做这种操作可问题是,客户端和服务器的传输使用的是http协议,http协议是无状态的,什么叫无状态,就是服务器不知道这一次请求的人,跟之前登录请求成功的人是不是同一个人由于http协议的无状态,服务器忘记了之前的所有请求,它无法确定这一次请求的客户端,就是之前登录成功的那个客户端。你可以把服务器想象成有着
2021-03-04 18:04:57
796
1
原创 express路由
在 Express 中,路由指的是客户端的请求与服务器处理函数之间的映射关系。Express 中的路由分 3 部分组成,分别是请求的类型、请求的 URL 地址、处理函数express.router()路由本身也是一个中间件一般用来处理通过use中间件 所匹配的基地址比如处理student管理所有请求基地址为/api/student 都会交给studentRouter 这个路由来执行后续的处理然后就可以把studentRouter 单独拧出来配置...
2021-03-04 12:10:25
328
1
原创 常用中间件
express.static()静态资源中间件这个中间件就是专门用来控制静态资源的使用const staticRoot = path.resolve(__dirname, “…/public”);app.use(express.static(staticRoot)) 传入静态资源路径上面面这段代码的作用:当请求时,会根据请求路径(req.path),从指定的目录中寻找是否存在该文件,如果存在,直接响应文件内容,而不再移交给后续的中间件如果不存在文件,则直接移交给后续的中间件处理默认情况下
2021-03-03 21:29:02
336
1
原创 express中间件
Express中间件Express 是一个自身功能极简,完全是由路由和中间件构成一个的 web 开发框架,从本质上来说,一个 Express 应用就是在调用各种中间件。中间件(Middleware) 是一个函数,它可以访问请求对象(request object (req)), 响应对象(response object (res)), 和 web 应用中处于请求-响应循环流程中的中间件,一般被命名为 next 的变量。中间件可以是很多个处理函数const express = require("exp
2021-03-02 22:39:39
148
原创 express的基本使用
express中文网https://www.expressjs.com.cn/express是Node.js的核心框架express可以快速构建web服务器 / api服务器express的安装express的基本使用const express = require('express')const http = require('http')const app = express(); //创建一个express应用 //app实际上是一个函数 用于处理请求的函数const server
2021-03-02 21:39:35
367
原创 数据验证validate.js
引入和安装参考链接http://validatejs.org/npm/node.js$ npm install --save validate.jsvar validate = require(“validate.js”);因为validate.js是用于验证某个对象的树形是否满足某些规则所以进行rule规则配置presence 配置是否可以空值type 配置数据的类型length 配置数据的长度fromat 可以进行格式的配置 可以用正则numericality 可以进
2021-03-01 21:30:21
720
1
原创 node 日志记录
node通过log4js这个模块往数据库中进行日志的记录建立一个简单的日志记录需要先引入log4js然后在进行log4js的相关配置可以参考链接配置使用https://log4js-node.github.io/log4js-node/或者参考链接配置使用https://www.npmjs.com/package/log4jsconst log4js = require("log4js");const path = require("path");log4js.configure({ a
2021-03-01 21:05:57
688
原创 算法 day5-简单快速排序
1、先从数列中取出一个数作为基准数2、分区过程,将比这个数大的数全放到它的右边,小于或等于它的数全放到它的左边3、再对左右区间重复第二步,直到各区间只有一个数var arr = [4,1,6,9,3,2,8,7];function quickSort(arr) { if (arr == null || arr.length == 0) return []; //选班长 var leader = arr[0]; //小的站左边,大的站右边 var.
2021-01-29 16:32:03
127
原创 算法 day5- 选择排序
选择排序选择排序是一种简单直观的排序算法,它的工作原理是每一次从待排序的数据元素中选出最小(最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到全部待排序的数据元素排完。选择排序是不稳定的排序方法。var arr = [4, 1, 6, 9, 3, 2, 8, 7];function compare(a, b) { if (a < b) return true; else return false;
2021-01-29 16:09:37
152
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅