小白
文章平均质量分 59
bs_101
从纯小白到工作,慢慢成长,分享工作经验
展开
-
js逆向技巧(二)
抓包断点方式总结方式一全局搜索 searches --》 password 、userid 等关键字搜索方式二XHR断点调试常见的一些加密方式取盐校验 不可逆 可暴力破解'''md5 md2 md4md5 16进制 16位的 32位的 40位的 常见的 以明文密码123456为例 16位: 49ba59abbe56e057 32位: e10adc3949ba59abbe56e057f20f883e (记住)sha1 sha256 sha51原创 2021-11-10 11:18:32 · 667 阅读 · 0 评论 -
vue_day02
vue模板语法v-bind(动态绑定任何属性) 可以简写成 :v-bind:后面绑定的属性,双引号里面的都当变量, 例如v-bind:href=“xx” 这里的xx不是字符串而是变量xx,会去该容器绑定的vue实例里面的data找xx变量在a标签或这img标签里面的href、src属性就不能直接由{{}}这种了要写成这种形式<a v-bind:href="url"><img v-bind:src="url"><!DOCTYPE html><h原创 2021-10-31 09:14:56 · 92 阅读 · 0 评论 -
初始vue
使用Vue1.什么是: 基于MVVM设计模式的渐进式的纯前端js框架(1). MVVM?(2). 渐进式: 不要求整个项目都用vue做,可以轻松和别的技术混搭,且会多少就可以先用多少!(3). 纯前端js框架: 与nodejs无关!单靠浏览器就可运行!(4). 框架:a. 原生js: 不需要下载,浏览器就自带的ES+DOM+BOM1). 优点: 万能!2). 缺点: 繁琐!b. jQuery函数库: 基于原生js,重新封装的一批函数的集合。简化了传统DOM每一步操作!1). 优点: 简单原创 2021-10-30 09:35:57 · 91 阅读 · 0 评论 -
js逆向断点总结即小技巧
断点分类浏览器请求大致流程'''加载html---- 加载js ----运行js初始化 ---- 用户触发某个事件---- 调用某段js ---- 加密函数 ----- 给服务器发信息(XHR-SEND) ---- 接收到服务器数据 ---- 解密函数 ---- 刷新网页渲染'''DOM定位比较准确执行的比较靠前 距离加密函数比较远 我们无法根据栈去快速定位DOM事件如果DOM断点不能下断 就可以用DOM事件缺点也是一样 执行的比较靠前 距离加密函数比较远 我们无法原创 2021-10-07 11:01:55 · 1201 阅读 · 1 评论 -
谷歌开发者工具技巧介绍
Elements界面Network界面技巧筛选器 (只能筛选name)Sources实用技巧(替换js文件)1.右击你想改变的js或者其它文件 在弹出的框中按照图中所示点击这里假设点了Open in Sources panel通过js操作改变页面内容断点也具备 属性 有ture 和false直接右击断点 点击 edit breakpoint可以用来跳过debugger监听变量console设置...原创 2021-10-06 12:29:53 · 158 阅读 · 0 评论 -
python面试知识点_02
web面试知识点总结web协议socket,udp,tcpsocketUDPTCPTCP与UDP的区别进程、协程、线程web协议socket,udp,tcpsocketsocket(简称 套接字) 是进程间通信一个工具,它能实现把数据从一方传输到另外一方,完成不同电脑上进程之间的通信, 它好比数据的搬运工。UDPUDP是一个简单的面向数据报的运输层协议.优点传输速度快(因为UDP在传输数据报前不用在客户和服务器之间建立一个连接,且没有超时重发等机制)不需要连接,资源开销小原创 2021-10-05 13:09:07 · 147 阅读 · 0 评论 -
js反混淆 + 空中网案例
js混淆js混淆:将js核心的相关代码进行变相加密, 加密后的数据就是js混淆之后的结果。js反混淆:反混淆的线上工具(不理想, 不方便调试)浏览器自带的反混淆工具设置开发者工具的 settings -> Sources -> 第一项勾选上进行关键字的全局搜索 -> VMxx (就是反混淆后的代码)空中网逆向分析案例在针对空中网进行逆向分析后 (分析反混淆后 的代码)将加密对应的js的进行了拷贝发现了一个data[‘dc’]不知道是什么,原创 2021-09-24 17:46:09 · 507 阅读 · 0 评论 -
js逆向常用加密 + 微信公众号平台试练
文章目录js常见的加密方式Md5加密DES/AES 加密RSA加密js常见的加密方式常见的加密算法基本分为这几类:线性散列算法(签名算法) MD5对称性加密算法 AES DES非对称性加密算法 RSAMd5加密MD5 是一种广泛使用的线性散列算法, 可以产生出一个128位的散列值(hash value),MD5加密之后产生的 一般是固定长度 (32位或者16位)的数据解密:常规讲 MD5不存在解密的, 但是可以反向暴力破解示例代码:<!DOCTYPE html原创 2021-09-22 00:33:31 · 757 阅读 · 1 评论 -
Redis_day04
文章目录应用场景应用场景原创 2021-08-27 13:21:58 · 76 阅读 · 0 评论 -
Redis_day03
文章目录简易生产者消费模型位图操作SETBIT 命令GETBIT 命令BITCOUNT 命令python中使用位图数据类型-哈希-1常用命令python操作hash应用场景简易生产者消费模型原理:django接到会阻塞的任务就丢给另一个人来去做 (暂时称那就是任务队列另一个人则循环的的监听任务队列里面是否有任务 如果有则去执行下面一个简易版模拟发邮件redis.pyimport redisimport jsonr = redis.Redis(host='127.0.0.1', p原创 2021-08-23 15:59:54 · 434 阅读 · 0 评论 -
Redis_day02
文章目录数值操作检查过期时间Redis单线程删除过期数据的机制数据类型-列表列表常用命令- 增加数据列表常用命令- 删除列表常用命令- 更新数值操作incrby key 步长 将key增加指定步长decrby key 步长 将key减少指定步长incr key : +1操作decr key: -1操作incrbyfloat key step例子: set number 50 (此时number是字符串) incrby number (2-任意) (增加任意值 且将numbe原创 2021-08-21 09:41:06 · 267 阅读 · 0 评论 -
docker常用命令
docker的一些操作原创 2021-08-20 09:41:40 · 253 阅读 · 0 评论 -
Redis_day01
文章目录Redis介绍Redis亮点功能Redis介绍Redis是非关系型的kv型数据库特点1、 开源的,使用C编写, 基于内存且支持持久化2、 支持数据类型丰富, 字符串string, 散列hashes, 列表lists, 集合sets, 有序集合sorted sets等等3、 支持多种编程语言(C C++ Python Java PHP …)4、 单进程单线程Redis亮点功能1、持久化将内存中数据保存到磁盘中, 保证数据安全, 方便进行数据备份和恢复2、过期键功能为原创 2021-08-20 09:34:08 · 200 阅读 · 0 评论 -
Redis基础操作命令
Redis基本操作选择数据库select 0 (选择0号数据库)设置键值set key value (set name abc 创建了一个key是name 值是abc的键值对存储到了默认0号redis数据库中)获取值get key (get name 获取刚刚创建的 name键值 输出abc)设置有效期的值setex key time value (setex name 100 abc 创建key是name 值是abc 有效期为100秒的数据)查看原创 2021-07-12 19:09:44 · 92 阅读 · 0 评论 -
drf_day06
文章目录JWTJWTjwt = Json Web token# 原理'''1 jwt分三段式: 头 体 签名(head.payload.sgin)2 头和体是可逆加密, 让服务器可以反解出user对象; 签名是不可逆加密, 保证整个token的安全性3 头体签名三部分, 都是采用json格式的字符串,进行加密,可逆加密一般采用base64算法, 不可逆加密一般采用hash(md5)算法4 头中的内容是基本信息: 公司信息 项目组信息 token采用的加密方式信息{ "company":原创 2021-07-05 16:22:43 · 310 阅读 · 0 评论 -
drf_07
'''软件工程 SoftwareEngineering软件工程 softwareEngineering面向对象 object-oriented面向对象 object-oriented极限编程 Extreme-programming极限编程 Extreme-programming自上而下法 Top-down approach TOp-down approach项目干系人 project stackholders project stackholder原创 2021-07-03 08:56:35 · 103 阅读 · 0 评论 -
dry_day05
文章目录内置权限频率内置的频率限制(限制未登录用户)限制登陆用户的访问频次过滤排序异常处理内置权限可以自定义权限 或者用 drf内置的权限 但是只能用一套 不能混着用# 演示一下内置权限的使用: IsAdminUser 1 创建超级管理员 2 写一个测试视图类 from rest_framework.permissions import IsAdminUser from rest_framework.authentication import SessionAuthenticati原创 2021-06-26 16:47:27 · 228 阅读 · 0 评论 -
drf_day04
文章目录路由action的使用认证认证组件的使用路由 1 在urls.py中配置 (当视图类继承了 ViewSetMixin, 路由的写法) path('books/', views.BookViewSet.as_view({'get':'list', 'post':'create'})), re_path('books/(?P<pk>\d+)', views.BookViewSet.as_view({'get':'retrieve', 'put':'update原创 2021-06-25 00:06:10 · 74 阅读 · 0 评论 -
drf_day03
请求和响应请求# 请求对象# from rest_framework.request import Request def __init__(self, request, parsers=None, authenticators=None, negotiator=None, parser_context=None) # 二次封装request, 将原生request作为drf request对象的 _request属性 self._request = request def __getat原创 2021-06-23 23:36:39 · 279 阅读 · 0 评论 -
drf_day02
序列化组件的介绍1. 序列化 序列化器会把模型对象转换成字典,经过response以后变成json字符串2. 反序列化 把客户端发送过来的是数据,经过request以后变成字典,序列化器可以把字典转换成模型3. 反序列化 完成数据校验功能简单实用1 写一个序列化的类,继承Serializer2 在类中写要序列化的字段...原创 2021-06-23 11:29:22 · 94 阅读 · 0 评论 -
drf框架_day01
web开发模式 前后端混合开发(前后端不分离):返回的是html的内容 ,需要写模板 前后端分离: 只专注于写后端接口, 返回json、xml格式数据# xml格式<xml><name>lqz</name></xml># json{"name": "jason"}什么是动态页面 (渲染的内容是要访问数据库的),反则静态页面页面静态化api通过网络,规定前后端信息交互规则的url链接 ,也是前后台信息交互的媒介百度地图的api接原创 2021-06-22 09:05:55 · 126 阅读 · 0 评论 -
django_day08
表设计'''一个项目中最最最重要的不是业务逻辑的书写而是前期表设计, 只要将表设计好了, 后续的功能书写才会一帆风顺bbs表设计 1.用户表 继承AbstractUser 扩展 phone 电话号码 acatar 用户头像 create_time 创建时间 2.个人站点表 3.文章标签表 4.文章分类表 5.文章表 6.点赞点踩表 7.评论表'''数据库表创建及同步由于django自带的sqlite数据库对日期不敏感,所以我们换成MySQL原创 2021-06-18 11:11:53 · 126 阅读 · 0 评论 -
django_day07
文章目录Auth模块权限管理(RBAC)你可以借助于django中间件实现网站的权限校验Auth模块只要是跟用户相关的登录、注册、校验、修改密码、注销、验证用户登录Auth模块'''其实我们在创建好一个django项目之后直接执行数据库迁移命令会自动生成很多表 django_session auth_userdjango在启动之后可以直接访问admin路由, 需要输入用户名和密码数据参考的就是auth_user表, 并且还必须是管理员用户创建超级用户(管理员) pyth原创 2021-06-09 13:11:09 · 159 阅读 · 0 评论 -
django_day06
文章目录cookie与sessionCookie操作session操作CBV如何添加装饰器cookie与session'''发展史 1.网站都没有保存用户功能的需求 所有用户访问返回的结果都一样 eg:新闻、博客、文字。。 2.出现了一些需要保存用户信息的网站 eg:淘宝、支付宝、京东。。 以登陆功能为例:如果不保存用户登录状态 也就意味着用户每次访问都需要重复的输入用户名和密码 当用户第一次登录成功之后 将用户的用户名和密码返回给用户浏览器 让用户浏览器保存在本地,之后每次访问网站的原创 2021-06-08 20:23:15 · 121 阅读 · 0 评论 -
django_day05
前后端传输数据的编码格式(contentType)我们主要研究post请求数据的编码格式可以朝后端发送post请求的方式 ''' 1.form表单 2.ajax请求 ''''''前后端传输数据的编码格式 urlencoded formdata json'''研究form表单 默认的数据编码格式是urlencoded 数据格式:username=jason&password=123 django后端针对符合urlencoded编码格式的数据会自动帮你解析封装原创 2021-06-07 14:15:57 · 440 阅读 · 1 评论 -
Django_day04
聚合查询# 聚合查询 '''聚合查询通常情况下都是配合分组一起使用的 只要是跟数据库相关的模块 基本上都在django.db.models里面 如果上述没有那么应该在django.db里面''' from django.db.models import Max,Min,Sum,Count,Avg # 模块的导入 # 1. 所有书的平均价格 # res = models.Book.objects.aggrega原创 2021-06-06 10:14:02 · 241 阅读 · 0 评论 -
Django_day03
文章目录视图层三板斧form表单上传文件及后端如何获取request对象方法FBV与CBVCBV源码刨析模板语法传值过滤器标签自定义过滤器、标签、inclusion_tag模板的继承模板的导入单表操作测试脚本查看内部sql语句的方式必知必会13条神奇的双下滑线查询一对多外键增删改多对多 外键增删改正反向的概念多表查询视图层三板斧'''HttpResponse 返回字符串类型render 返回html页面 并且在返回给浏览器之前还可以给html文件传值redirect 重定向'''视图函原创 2021-06-05 08:29:29 · 489 阅读 · 0 评论 -
Django_day02
文章目录数据的查、改、删django请求生命周期流程图(必会)路由层分组无名分组有名分组反向解析无名有名分组反向解析路由分发名称空间(了解)伪静态(了解)虚拟环境django版本区别数据的查、改、删功能:先将数据库中的数据全部展示到前端 然后给每个数据两个按钮 一个编辑 一个删除查'''# 方式一 # data = models.User.objects.filter() 什么都不写默认就是全部 不过语义明确 # print(data) # 方式二 dat原创 2021-06-04 08:22:24 · 365 阅读 · 0 评论 -
Django框架_day01
基于wsgiref模块'''1.帮助你封装了socket代码2.帮你处理http格式的数据(封装成了大字典 从字典对应的键值获取你要的数据 例如url路径)web服务网关接口 1.请求来到时候帮助你自动拆分http格式数据并且封装成非常方便处理的数据格式 2.响应走的时候帮你将数据再次打包成符合http协议的格式'''* 根据功能的不同拆分成不同py文件(关键) **urls.py** 路由与视图函数对应关系 **views.py** (后端业务逻辑 什么url匹配原创 2021-06-03 08:31:55 · 387 阅读 · 0 评论 -
Bootstrap
文章目录前端框架Bootstrap前端框架Bootstrap该框架已经帮你写好了很多页面样式,你如果需要使用,只需要下载它对应的文件,之后直接cv拷贝即可在使用Bootstrap的时候所有的页面样式都只需要你通过class调节即可下载地址 点击这里** 注意 **bootstrap的js代码是依赖于jQuery的, 也就意味着你在使用Bootstrap动态效果的时候,一定要导入jQuery...原创 2021-06-01 20:51:15 · 575 阅读 · 1 评论 -
jQuery_day02
文章目录jQuery操作标签操作类css操作位置操作尺寸文本操作获取值操作属性操作文档处理事件克隆事件jQuery操作标签操作类 js版本 jQuery版本classList.add() addClass()classList.remove() removeClass()classList.contains() hasClass()classList.toggle() toggleClass()$('div').hasClass('c1')true$('div原创 2021-05-31 20:01:00 · 624 阅读 · 0 评论 -
jQuery_day01
jQueryjQuery 内部封装了原生的js代码 (还额外添加了很多功能)能够让你通过书写更少的代码 完成js操作类似于python里面的模块 在前端 模块不叫模块 叫类库兼容多个浏览器的 你在使用jQuery的时候不需要考虑兼容性的问题jQuery的宗旨write less do more让你用更少的代码完成更多的事情# jQuery 基本语法 jQuery(选择器).action() 秉持着jQuery的宗旨 jQuery简写 $ jQuery() === $()原创 2021-05-31 09:12:49 · 270 阅读 · 0 评论 -
JavaScript_day02
文章目录BOM与DOM操作BOM操作window子对象history对象location对象(掌握)弹出框计时器相关DOM操作查找标签节点操作innerText 和 innerHTML获取值操作class、css操作事件原生js事件绑定js展现当时时间案例BOM与DOM操作截至目前为止 学的这些js语法 与浏览器html文件的js代码还是一点关系没有 需要学习 BOM 与 DOMBOM BOM 就是浏览器对象模型 可以 js代码操作浏览器DOM DOM 就是文档对象模型 可以js代码操原创 2021-05-30 16:44:30 · 593 阅读 · 1 评论 -
JavaSript_day01
文章目录js简介js学习流程js简介js也是一门编程语言 它也是可以写后端的。js跟java一毛钱关系没有 存粹是为了蹭当时java的热度JS版本 主要还是用的5.1 和 6.0JavaScript 是脚本语言JavaScript 是一种轻量级的编程语言。JavaScript 是可插入HTML页码的编程代码。JavaScript 插入 HTML 页面后,可由所有的现代浏览器执行。JavaScript 很容易学习* js 的注释'''// 单行注释/*多行注释1多行注原创 2021-05-29 23:28:42 · 305 阅读 · 0 评论