自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(25)
  • 资源 (1)
  • 收藏
  • 关注

转载 文件写入的6种方法,这种方法性能最好

在 Java 中操作文件的方法本质上只有两种:字符流和字节流,而字节流和字符流的实现类又有很多,因此在文件写入时我们就可以选择各种各样的类来实现。我们本文就来盘点一下这些方法,顺便测试一下它们性能,以便为我们选出最优的写入方法。在正式开始之前,我们先来了解几个基本的概念:流、字节流和字符流的定义与区别。0.什么是流?Java 中的“流”是一种抽象的概念,也是一种比喻,就好比水流一样,水流是从一端流向另一端的,而在 Java 中的“水流”就是数据,数据会从一端“流向”另一端。根据流的方向性,我

2020-12-31 15:38:46 430

转载 mmap映射区和shm共享内存的区别总结

linux中的两种共享内存。一种是我们的IPC通信System V版本的共享内存,另外的一种就是我们今天提到的存储映射I/O(mmap函数)在说mmap之前我们先说一下普通的读写文件的原理,进程调用read或是write后会陷入内核,因为这两个函数都是系统调用,进入系统调用后,内核开始读写文件,假设内核在读取文件,内核首先把文件读入自己的内核空间,读完之后进程在内核回归用户态,内核把读入内核内存的数据再copy进入进程的用户态内存空间。实际上我们同一份文件内容相当于读了两次,先读入内核空间,再从内核空间

2020-12-31 15:38:08 99

转载 【mybatis-plus】什么是乐观锁?如何实现“乐观锁”

“乐观锁”这个词以前我也没听过。上次在测试需求的时候,查询数据库发现有一个version字段,于是请教开发这个字干嘛使,人家回复我:乐观锁,结局并发更新用的。当时大家都忙,咱也不敢多问。今天就来折腾一下“乐观锁”。一、什么是乐观锁乐观锁其实用一句话来形容其作用就是:当要更新一条记录的时候,希望这条记录没有被别人更新,从而实现线程安全的数据更新。结合下场景,记得那是一张库存表,有一个字段记录商品库存,涉及多个地方都有可能去更新它: 程序A 查询到了这条数据,得到库存是800,准备

2020-12-30 16:45:13 175

转载 实战渗透之一个破站日一天

使用关键词得到目标源码某日上午接到临时安排对某公司进行渗透测试,此次渗透给的是一个主域名,并且也没有子域,打开了目标网站先对其进行一波信息收集中间件: IIS 8.5输入admin发现自动添加了/说明其目录存在,那么盲猜一波文件,login.aspxdefault.aspx main.aspx等等最终在login.aspx下面发现后台登录页面。这不猜他一波弱口令??一顿操作过后账号被锁熟悉的开局,既然如此只能尝试其他方法了。在主页的html代码中发现了某处信息

2020-12-30 16:36:56 249 1

转载 常见分布式全局唯一ID生成策略及算法的对比

全局惟一的ID几乎是所有系统都会遇到的刚需。这个id在搜索,存储数据,加快检索速度等等很多方面都有着重要的意义。工业上有很多策略来获取这个全局唯一的id,针对常见的几种场景,我在这里进行简单的总结和对比。简单分析一下需求 [1]所谓全局唯一的 id 其实往往对应是生成唯一记录标识的业务需求。这个id常常是数据库的主键,数据库上会建立聚集索引(cluster index),即在物理存储上以这个字段排序。这个记录标识上的查询,往往又有分页或者排序的业务需求。所以往往要有一个time字段,并且在tim

2020-12-30 15:48:08 134

转载 关于站库分离渗透思考总结

0x00 前言看到了某篇关于站库分离类型站点相关的讨论,想总结下信息收集的技巧。0x01 正文关于站库分离类型站点网上暂时没有找到总结性的文章,所以想尝试记录下关于站库分离类型站点的渗透思路。对站库分离类型站点通常可以有两个渗透入口点。1.web网站2.数据库渗透思路其实也是比较常规,但是这里如果两个入口点无非两种路径。1.从web网站打入进而打站库分离的数据库,内网渗透2.从数据库打入进而打站库分离的web网站,内网渗透根据不同的路径定制不同的渗透测试方案,下.

2020-12-30 14:57:18 456

转载 分析绕过一款适合练手的云WAF

X-WAF是一款使用中、小企业的云WAF系统,让中、小企业也可以非常方便地拥有自己的免费云WAF。本文从代码出发,一步步理解WAF的工作原理,多姿势进行WAF Bypass。0x01 环境搭建官网:https://waf.xsec.io>github 源码:https://github.com/xsec-lab/x-wafX-WAF 下载安装后,设置反向代理访问构造的 SQL 注入点0x02 代码分析首先看一下整体的目录结构,nginx_conf目录为参考配

2020-12-30 14:27:02 367

转载 审计某开源商城中的漏洞大礼包

首先这个CMS并不怎么出名,拿来当审计样板却很合适。给我的感觉是适合初级水平升中级之间的过程,有算是对上一篇审计文章的后续文了。审计的版本为: 20180206 发布的免费版 2.0 。另外图很多,建议 PC 端体验更佳!分析环境及入口图中的 URL 会出现两个,这是因为部分在公司审计的,部分是周末在家审计的。官网首页上有文档,里面注明了这套 CMS 所使用环境:ThinkPHP5.0 + MySQL这样看来实际上我们只需要熟悉TP5,就能大体知道该CMS的请求流程,而TP5中有

2020-12-30 13:03:44 129

转载 MetInfo最新版代码审计漏洞合集

最近想给 X 天贡献点插件,时常会去留意 seebug 的最新漏洞列表,发现最近 MetInfo 的漏洞上座率蛮高的,就挑它来代码审计了一波。seebug 上均是MetInfo 6.0.0版本的,官方已更新至6.1.0上述问题是否修复了呢?入口文件这个框架的入口文件很多,都是index.php,比如online/index.php文件:<?phpdefine('M_NAME', 'online');define('M_MODULE', 'web');define('M_...

2020-12-30 11:46:02 2813

转载 记一次PowerShell免杀实战

最近在玩免杀,发现了一些免杀思路,今天来给大家做个分享,希望可以帮到大家。0x01 powershell 加载 shellcode 介绍UNIX 系统一直有着功能强大的壳程序(shell),Windows PowerShell的诞生就是要提供功能相当于UNIX系统的命令行壳程序(例如: sh、bash或csh),同时也内置脚本语言以及辅助脚本程序的工具,使命令行用户和脚本编写者可以利用.NET Framework的强大功能。powershell具有在硬盘中易绕过,内存中难查杀的特点。一般在后渗透

2020-12-30 10:34:18 1625

转载 偶然的一次渗透从弱口令->docker逃逸

0x01 前言前两天一直在学习Python造轮子,方便自己前期信息收集,测试脚本进行批量扫描的时候,无意中点开的一个带有edu域名,便有此文。0x02 前期信息收集Web整体架构:操作系统:UbuntuWeb服务器: Nginx+Java端口开放信息: 80 443目录扫描结果0x03 挨个测试可以看到,扫描到了一个"jira目录",猜想是Jupyter NoteBook组件.访问果不其然,Jupyter组建的登陆点其他3个有效目录都是登陆点 gi

2020-12-30 10:16:46 462

转载 实现JavaScript继承

66套java从入门到精通实战课程分享使用TypeScript或者ES2015+标准中的extends关键字是很容易实现继承的,但这不是本文的重点。JS使用了基于原型(prototype-based)的继承方式,extends只是语法糖,本文重点在于不使用extends来自己实现继承,以进一步理解JS中的继承,实际工作中肯定还是要优先考虑使用extends关键字的。原型 & 原型链原型用于对象属性的查找。画出下面代码中的原型链图示:class Person { privat

2020-12-30 09:49:52 176

转载 C/C++还能混合编程

什么是C/C++混合编程?我们都知道C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)对于C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制那么什么是C/C++混合编程?实际上简单点说C/C++混合编程就是在同一个工程中,在C函数中调用C++函数或者在C++的函数中能够调用C函数的方法。C/C++混

2020-12-29 16:18:40 553

转载 利用localStorage本地储存js文件

利用localStorage存储js文件,只有在第一次访问该页面的时候加载js文件,以后在访问的时候加载本地localStorage执行封装lsFile类有url、filename(key前缀)、lname(key)、filetext(值)属性var lstorage = window.localStoragefunction lsFile(url) { this.url = url this.filename = url.substring(url.lastIndexOf("

2020-12-11 10:57:53 1041

转载 红蓝对抗-反制

一、前言初次接触反制技术,写一个文档作为记录。二、反制中常见技术点1.蜜罐蜜罐可以理解成互联网上的一台主机,它的作用是诱骗攻击者去对自己进行攻击,然后记录攻击者的攻击细节并生成对应的攻击者画像,是当前的一种比较主流的入侵检测系统也是一种主动防御系统。1.1 放置高交互蜜罐放置高交互蜜罐,例如一个邮箱服务类型的蜜罐,攻击者有可能会进行邮箱注册,这样子攻击者就主动向我们留下了自己的身份信息。1.2 放置多个容易被发现的蜜罐放置多个攻击者可以轻而易举发现的蜜罐,攻击者就会知道自

2020-12-11 10:24:45 2265

转载 干货|靶场|工具|字典 分享

字典集合项目地址:https://github.com/epony4c/Exploit-Dictionary网盘地址:链接:https://pan.baidu.com/s/1GL2olkn0nCsGmYYpZWCypA提取码:sbkuvulstudy靶机集合vulstudy是专门收集当下流行的漏洞学习平台,并将其制作成搬运工镜像,方便大家快速搭建环境,节省搭建时间,专注于的漏洞学习上目前。vulstudy包含以下漏洞学习平台:序号 漏洞平台 包含.

2020-12-11 09:53:35 350

转载 基于OpenCV的图像阴影去除,你会吗?

我们经常需要通过扫描将纸上的全部内容转换成图像。有很多在线工具可以提高图像的高度,或者消除图像中的阴影。那我们可以手动删除阴影吗?答案是当然可以。我们只需要将图像加载到相应的代码中,无需任何应用程序即可在几秒钟内获得输出。这个代码可以通过 Numpy 和 OpenCV 基本函数来实现。为了说明该过程,使用了以下图像进行操作。图像中有一个非常明显的阴影需要删除。导入软件包首先当然是将必要的软件包导入环境。代码如下:import cv2import numpy as ..

2020-12-11 09:51:39 1148

转载 有没有可以在JavaScript里可以用的锁?

问题:我想用localStorage在多个tab下共享数据,但是看了下localStorage里面没有像C++的Mutex一样的锁,那我怎么保证原子的读和写?答:C++的mutex是使用操作系统的原子性操作实现的,在浏览器环境下没有什么参考的价值。不过,在这篇文章里面,大牛Lamport介绍了利用两块共享区域实现快速锁的算法,如下所示:假设有两块共享的区域x和y,以及进程的id,以下图的方式进入关键区域进入关键区域需要的操作至少需要: 写x -> 读y -> 写y ->

2020-12-10 13:54:07 426

转载 简单的JavaScript互斥锁

去年有几个项目需要使用JavaScript互斥锁,所以写个几个类似的,这是其中一个://Published by Indream Luo//Contact: [email protected]//Version: Chinese 1.0.0!function ($) { window.indream = window.indream || {}; $.indream = indream; indream.async = { // //锁

2020-12-10 13:13:51 1788

转载 红队中易被攻击的一些重点系统漏洞整理

一、OA系统泛微(Weaver-Ecology-OA)????泛微OA E-cology RCE(CNVD-2019-32204)- 影响版本7.0/8.0/8.1/9.0https://xz.aliyun.com/t/6560????泛微OA WorkflowCenterTreeData接口注入(限oracle数据库)https://zhuanlan.zhihu.com/p/86082614????泛微ecology OA数据库配置信息泄露https://www.cnblogs

2020-12-10 09:47:30 2006

转载 干活|常见WAF拦截页面总结

前言去年年底看到@madcoding老哥博客的“Waf的识别与绕过”一文中搜集了不少WAF拦截页面,正好我平时也有搜集WAF拦截页面的习惯,所以结合他的一起整理成了这么一篇文章,便于自己日后遇到WAF时好查询,并进行针对性的绕过测试!!!现如今WAF种类繁多,笔者搜集的可能也并不是那么齐全和准确,还望得到各位老哥的补充和修正!!!(1) D盾(2) 云锁(3) UPUPW安全防护(4) 宝塔网站防火墙(5) 网防G01(6) ...

2020-12-10 09:15:34 1899

转载 MappedByteBuffer以及ByteBufer的底层原理

最近在用java中的ByteBuffer,一直不明所以,尤其是对MappedByteBuffer使用的内存映射这个概念云里雾里。于是首先补了物理内存、虚拟内存、页面内存、交换区的知识:小科普——物理内存、页面文件、交换区和虚拟内存...

2020-12-04 12:02:46 524

转载 mmap小示例

#include <sys/mman.h>#include <sys/types.h>#include <sys/stat.h>#include <sys/fcntl.h>#include <errno.h>#include <string.h>#include <stdio.h>#include <stdlib.h>#include <unistd.h>#define TRUE.

2020-12-04 11:03:49 482

转载 linux 进程通信之 mmap

一,管道PIPE二,FIFO通信三,mmap通信创建内存映射区。#include <sys/mman.h>void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset);int mmap(void *addr, size_t length);函数mmap:打开一个文件,指定一个文件的区域,作为一个区域,映射到内存中,以后就直接操作那个内存,就能够实现进程间的通信。因为是

2020-12-04 10:48:03 391

转载 Linux内存管理中的slab分配器

Linux内核中基于伙伴算法实现的分区页框分配器适合大块内存的请求,它所分配的内存区是以页框为基本单位的。对于内核中小块连续内存的请求,比如说几个字节或者几百个字节,如果依然分配一个页框来来满足该请求,那么这很明显就是一种浪费,即产生内部碎片(internal fragmentation)为了解决小块内存的分配,Linux内核基于Solaris 2.4中的slab分配算法实现了自己的slab分配器。除此之外,slab分配器另一个主要功能是作为一个高速缓存,它用来存储内核中那些经常分配并释放的对象。1

2020-12-03 11:25:00 125

2路继电器控制板

2路继电器控制板,描述了继电器的原理图。

2015-07-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除