自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(179)
  • 资源 (1)
  • 问答 (1)
  • 收藏
  • 关注

原创 NetCore3.1简单使用JWT

一:简介Json web token (JWT), 是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准((RFC 7519).该token被设计为紧凑且安全的,特别适用于分布式站点的单点登录(SSO)场景。JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外的其它业务逻辑所必须的声明信息,该token也可直接被用于认证,也可被加密。二:安装依赖首先要安装对应的nuget包,名为JwtBearer三:编写配置

2022-04-14 14:22:17 824

原创 NetCore3.1连接Redis做秒杀案例

测试环境:netcore3.1   redis-6.2.4一:安装Radis尽管在不是系统性介绍Radis的地方介绍安装radis并不是一件明智的事情,但本着能跑起来就算成功的原则,这里简单介绍一下。1.1 首先去https://redis.io/下载对应的tar包,默认我们要在linux系统下安装,这里使用CentOS7做演示1.2 安装必备的c语言编译环境yum install centos-release-scl scl-utils-build && yum ins

2022-04-04 17:52:09 1690

原创 NetCore3.1返回Json格式的几种方式及其探究

.net3.1 返回纯JSON格式数据的两种方法

2022-04-03 11:22:25 2699

原创 NetCore3.1解决跨域

.net3.1解决跨域问题

2022-04-03 10:11:52 1917

原创 Windows10下使用批处理脚本更改jdk以及java运行时版本

个人

2021-07-25 16:04:30 1707 6

原创 Bugku逆向-游戏过关

Bugku游戏过关od工具推荐用吾爱的:https://www.52pojie.cn/thread-14986-1-1.html打开后是一个开灯游戏,总共八个灯,每一层用户可以根据情况按一个1-8中的任意一个灯,如果按的灯正确则进入下一层,如果不正确则游戏重新开始直接扔进od主窗口内任意处右键选择【中文搜索引擎】选择第一个【搜索ASCII】搜索完成后找到准备输出flag的一行跟进去查看找关键点,edp栈底指针,esp栈顶指针,此处封存了一个函数,也就是说最终输出fla

2020-11-24 20:50:55 482

原创 攻防世界PWN-guess_num

题目:guess_numchecksec查看详情64位以及各种防护全开运行一下逻辑,的确是一个猜数游戏进64位IDA反编译main函数出源码摘代码__int64 __fastcall main(__int64 a1, char **a2, char **a3){ FILE *v3; // rdi@1 __int64 v4; // rax@1 const char *v5; // rdi@1 __int64 result; // rax@7 __in

2020-11-16 20:28:26 741

原创 攻防世界PWN-string

题目:string进PE或者checksec64位程序堆栈不可执行以及栈保护运行一遍好像是一个文字游戏剧情游戏?分析一波主要任务分支:情况1:开始游戏,啥也不输入,60秒之后程序自动关闭情况2:开始游戏,输入名称,名称超过了12个字符,直接出局情况3:开始游戏,输入小于12个字符的名称,进入剧情问我走east还是up,如果选择up程序会一直死循环情况4:开始游戏,输入小于12个字符的名称,进入剧情走east,然后问我选择1还是0,选择0,原地暴毙情况5:开始游

2020-11-15 21:31:51 720 2

原创 攻防世界PWN-cgpwn2

题目:cgpwn2拖进PE查看一下32位程序checksec查看简单执行一下开32位IDAf5反编译main函数main函数中直接就是输出了,输入的内容好像藏在了hello方法里双击进去查看单独拿出源码char *hello(){ char *v0; // eax@1 signed int v1; // ebx@1 unsigned int v2; // ecx@3 char *v3; // eax@5 char s; // [sp+12

2020-11-14 21:08:44 423 1

原创 攻防世界PWN-hello_pwn

题目:hello_pwn进pe查看程序因为该题目比较简单,所以确认是64位程序,直接进IDAf5反编译main函数单独摘出代码__int64 __fastcall main(__int64 a1, char **a2, char **a3){ alarm(0x3Cu); setbuf(stdout, 0LL); puts("~~ welcome to ctf ~~ "); puts("lets get helloworld for bof"); re

2020-11-14 20:10:47 440

原创 攻防世界PWN-level2

题目:level2开PE看信息,进checksec看详情进checksec,查看到程序无PIE,堆栈不可执行,无栈保护跑一遍逻辑,还是hello word于是开32位IDA查看f5main函数看源码,主要就是echo了一个hello world,同时很明显上方有一个显眼的脆弱函数双击进入脆弱函数查看单独摘出源码ssize_t vulnerable_function(){ char buf; // [sp+0h] [bp-88h]@1 system("ec

2020-11-13 21:07:55 923 2

原创 攻防世界PWN-level0

题目:level0老规矩先进PE查看是64位程序,可以考虑直接IDA莽,也可以进checksec查一下详细参数比较脆,无PIE且没了栈保护(Stack-canary),容易GOT改写( RELRO)简单运行一遍,发现是hello word进64位IDA鼠标悬停在main函数上按f5反编译查看源码:过于简单,没啥可用的信息,双击它return的脆弱函数进一步查看int __cdecl main(int argc, const char **argv, const

2020-11-12 19:47:30 2909 3

原创 攻防世界when_did_you_born

题目:when_did_you_born拖进pe查看文件详情checksec查看无PIE,堆栈不可执行,栈保护运行跑一遍逻辑进64位IDA调试f5反编译main函数得到源码__int64 __fastcall main(__int64 a1, char **a2, char **a3){ __int64 result; // rax@4 __int64 v4; // rdx@9 char v5; // [sp+0h] [bp-20h]@5 unsig

2020-11-12 18:49:30 220

原创 攻防世界PWN-CGfsb

题目:CGfsb先下载附件先确保本地的python有pwntools模块(pip install pwntools),模块安装后会有一个checksec命令,可以用该命令查看文件的基本信息1.扔文件进kali,使用checksec 命令查看其具体内容几个重要参数:Arch程序架构信息,判断是64位还是32位,exp编写的时候是p64还是p32RELRORelocation Read-Onl(RELRO)此项技术主要针对GOT改写的攻击方式,它分成两种,PartialRELRO

2020-11-12 07:31:45 437 1

原创 攻防世界PWN-get_shell

工具类:IDA64位,exeinfope,pwntools库(python2支持)题目:1.下载附件,拖进Exeinfo PE查看为64位进程2.拖进64位IDA,找左侧的main函数查看源码int __cdecl main(int argc, const char **argv, const char **envp){ puts("OK,this time we will get a shell."); system("/bin/sh"); return 0;.

2020-11-06 09:42:08 1213 1

原创 XSS提取cookie到远程服务器

攻击机: 192.168.132.144(kali)受害机: 192.168.132.188(DVWA)1.low级别然后找反射型xss的界面且已知反射型xss输入对应的js代码<script>alert(1)</script>会弹窗。以及使用<script>alert(document.cookie)</script>会弹cookie2.则回kali下写php脚本用来接收,首先确保kali已经开启了apache服务,如果没有则开启的命.

2020-08-13 19:03:05 3544

原创 Java中JMM内存模型与Volatile关键字

一:JMMJava Memory Model,简称JMM,即Java内存模型,但JMM不同于JVM有着堆栈这样详实的块区划分,JMM虽然叫模型,可本质上只是一种强调数据(通常指共享变量)读写的规范,是一种抽象的概念。那JMM这种规范是干什么的?这里就要提一个东西,那就是线程,线程是程序的经脉,而JMM则是跟线程息息相关的,倘若说没有JMM这种线程的约束规范,那线程里的变量就会被乱用乱丢,然后各种横七八竖的访问,内存里一片狼藉。因此,从程序执行效率的角度上来讲,JMM规范的存在是必要的。而这种规范展开来

2020-07-18 21:46:14 278 1

原创 java中ForkJoin并行执行任务

一:ForkJoin介绍ForkJoin的执行原理类似于分段求和,假如说我想求从1加到10的合,传统的方式是从1逐步向上增加,而ForkJoin就会把十个数拆分成不同的组,数字1和数字9一组,数字2和数字8一组,以此类推分成5组,也就是划分为了5个小任务,它们分别计算求和,最终再把结果相加得出。二:ForkJoin 的特点ForkJoin的特点叫做工作窃取,也是它之所以能够提升执行效率的主要原因,因为ForkJoin的底层是双端队列,而双端队列我们就可以形象的看做为一组等长的平行线,平行线左右两端

2020-07-15 21:46:00 344

原创 函数式接口与Stream流计算

一:函数型接口函数式接口泛指那些在有且仅有一个抽象方法的接口,其标志特点是源码中含有@FunctionalInterface注解。名称定位Function函数型接口Predicate断定型接口Consumer消费型接口Supplier供给型接口1.函数型接口(Function )Function<T, R>,T是一个传入的参数类型,R是一个返回的参数类型,函数式接口只有一个抽象方法,在这里是apply,apply方法有返回值,其类型是

2020-07-14 22:06:02 267

原创 利用msf进行ms12-020蓝屏攻击

攻击机(kali):192.168.132.144受害机(winserver2003):192.168.132.1341.在【我的电脑】->右键选中【管理】,找到系统工具下的【本地用户和组】下的【用户】,在空白处右键添加【新用户】2.返回桌面,右键我的电脑的属性。选择远程选择远程用户添加输入我们之前添加的用户,确定3.回到kali中,查看是否存在此漏洞可以用msf也可以用nmap扫,这里我演示后者。nmap --script=vuln 192.168.132.134.

2020-07-13 16:19:27 1538 1

原创 wireshark抓取telnet密码

受害机:192.168.132.128(win7)抓取Telnet密码win7环境首先确定自己是否有隶属于管理员组的用户如果没有对应用户,可以去开始 => 控制面板 => 添加和删除用户下添加然后可以先在本地测试,打开cmd输入telnet localhost在y过后如果提示失去连接,则说明用户没有被添加到telnet的用户组进一步操作,去开始菜单=>运行中输入lusrmgr.msc:点击组找到Telnet相关双击打开然后配置xshell连接连接成功会显示直接进入c盘

2020-07-07 19:30:14 3377 2

原创 kali下利用ettercap进行内网dns劫持

kali(攻击机):192.168.132.144centos8(受害机):192.168.132.109kali下使用vim /etc/ettercap/etter.dns修改对应的配置文件,添加对应的劫持地址,*代表劫持地址,如果是想要拦截具体的地址可以用具体的url代替 开启kali下的apache服务,确保直接访问kali的ip会存在一个可视的页面,等到最终劫持对方的dns之后会直接把地址转发到我们kali下的网址上。保存退出后找到kali下的ettercap,单击打开点击Sniff开.

2020-06-28 20:14:03 2518 4

原创 Java多线程下ReadWriteLock(读写锁)的使用

声明读写锁:private ReadWriteLock lock = new ReentrantReadWriteLock();独占锁:lock.writeLock()共享锁:lock.readLock()一:无锁案例在自定义类NoLockTest中存在一个数据变量map,类中存在一个读方法get和写方法put,则在多线程情况下,数据操作会出现错误。 public class RW { public static void main(String[] args) { .

2020-06-26 22:16:49 301

原创 多线程下Callable相关实现

一:FutureTaskpublic class TestCall { //callable接口允许抛异常 public static void main(String[] args) throws ExecutionException, InterruptedException { TestCall2 testCall2 = new TestCall2(); /** * 因为Callable最终要去走Thread

2020-06-26 21:32:35 254

原创 kali下利用xhydra进行ssh爆破

使用xhydra命令启动xhydra界面在弹出的设置界面中填写需要爆破的ip地址,选择对应的协议,下方显示细节部分可以不勾选。3.在password一栏可以配置字典,这里的字典是我从本地上传的。线程可以选择默认直接到最后一栏,可以点击start开始爆破当然这里爆破的时间比较漫长,我直接针对自己的ip进行了一次尝试后,正确匹配到的用户名密码会被加粗显示出来。...

2020-06-23 22:02:50 1152

原创 多线程生产者与消费者模式的几种写法

在生产者与消费者关系中,存在着一个多线程操作同一个资源的情况,在这里我使用了int作为资源类型,而++操作不是线程安全的,因此会导致数据错误。而为了保证线程执行的有序性,急需要对方法进行加锁。一:使用synchronized锁//生产者与消费者public class ProductCustomer { public static void main(String[] args) { Data d =new Data(); new Thread(()-&g.

2020-06-22 19:15:19 207

原创 kali下nc通信,文件传输,反弹shell

kali1: 192.168.132.133kali2: 192.168.132.144一:使用nc通信在kali1中使用nc -lnvp [端口号]来监听一个端口在kali2中使用nc [kali1的ip] [端口]来链接对方监听的端口然后可以在kali1中查看到链接机器然后可以在kali2中直接输入内容然后回车,与此同时即可在kali1中接收到kali2的信息二:使用nc传输文件kali2向kali1传输一个img2.jpg文件确保kali2下..

2020-06-21 16:38:49 3111

原创 Centos7安装java环境和tomcat运行springboot项目

yum install java-1.8.0-openjdk* -y在线安装jdk1.8环境使用java -version查看是否安装成功tomcat官网下载tomcat建立usr/local/tomcat9文件夹,进入该文件夹,将tomcat上传到服务器tar -zxvf apache-tomcat-8.5.31解压进入bin目录下使用./startup.sh启动tomcat访问一下ip查看是否成功,发现失败...

2020-06-18 18:49:34 421

原创 MyBait-Plus使用笔记

官网:https://mp.baomidou.com/guide一:创建项目删除对应文件添加对应依赖: <!--mysql驱动--><dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.46</version></depend

2020-06-16 21:58:19 573

原创 GC垃圾回收及其算法

常见的GC算法:复制标记清除标记整理(标记压缩)一:复制算法复制算法详情:已知在堆内存中存在新生代和老年代,其中新生代中又存在着伊甸区、幸存者0区、幸存者1区,每一次轻GC过后伊甸区的内存会被清空,仍然存活着的数据会被移交给幸存者区,当然幸存者区是双向流动的,也就是常见的form 和 to,to区默认是为空的一方,幸存者区的GC会将from区的内容移交给空的to区域,然后此时的to区域就会转换为from区域,以此类推,假如经过了15次(默认值)轻GC后对象仍然能够存活,那该数

2020-06-13 20:09:55 411

原创 Jprofiler分析OOM错误

一:安装Jprofilerhttps://www.jb51.net/softs/608640.html(下载教程第一步选择第二个Customize installation是自定义安装目录)二:IDEA安装Jprofiler插件或者是从网页下载本地安装:https://plugins.jetbrains.com/plugin/253-jprofiler/update/73677安装完成后重启IDEA,然后会在菜单栏上出现对应的jprofiler图标,但想要真正的投入使用还需要进行详细配置

2020-06-12 20:44:39 1114

原创 java栈堆

首先栈通俗的来讲就是面向java的,储存的多为基本数据将类型及其值,还有就是一些引用对象的变量,再者就是在堆中的引用地址。栈是先进后出的。就好比我们经常听到会有“压栈”这一说,那也就是说,栈好比一个木桶,底部是封闭的,一个java程序进入会先执行main方法,因此main会压进栈的最底层,当然也意味着main方法在最优先执行的同时也是最后一个结束,如果main方法在其子调用方法结束之前就被弹出了,那其子方法的调用的这个逻辑结构就崩塌了,因此程序也不会成立。当然,就像桶有自己的容量一样,栈的内存也不是

2020-06-12 18:17:26 243

原创 JVM与其结构方式

JVM,俗称java虚拟机,已知JRE为java文件提供运行时的必要环境,且JRE中包含了JVM,则JVM同为java文件运行时所必备的温床。Java虚拟机本质上就是一个程序,只不过其面向的对象被限定为了java文件,JVM带有VM二字,类比于VMWare,VMWare可以支持在同一台计算机上运行两个不同的系统,而实际上第二个系统是依赖于虚拟机存在的,可以与本机上的软件并行不悖,故JVM也可以做到与本机上的其他程序并行执行,同时又提供单方面的java运行环境服务。结构图:...

2020-06-10 19:25:55 209

原创 java项目相关配置资料

springboot相关pom.xmlapplication.yamldruid在yaml中的配置DruidConfigShiroConfigShiroControllerMyMvcConfigLoginHandlerInterceptor拦截器MyLocaleResolver国际化thymeleaf,shiro模板约束springMVC相关父项目pom.xmlspringmvc.xmlweb.xmlspring相关pom.xmlapplicationcont

2020-05-31 21:17:29 285

原创 Centos8重启网卡的问题

虽然centos8仍然可以通过安装network.service的方式来使用原来的方法对网卡进行操作,但官方已经不再推荐使用network的方式重启网卡了,且官方也表示以后会将network的方式废除掉,因此推荐使用其他的方式来管理网路,但这里在使用其他方式重启网卡的时候遇到了一些问题。版本:centos8.0先查看一下网卡配置,ens33网卡,地址为192.168.132.109修改网卡:vim /etc/sysconfig/network-scripts/ifcfg-配置_1然后将地址

2020-05-31 15:47:33 3722

原创 springboot测试定时输出

在Application.java中开启定时输出注解@EnableScheduling 在service层写一个方法,方法上加入@Scheduled注解,注解中写cron表达式,表达式总共6个参数,分别是 秒 分 时 日 月 星期,这里我的测试的内容就是在每个月每一天,无论周一到周日的11.37都执行这个方法 运行Application方法...

2020-05-31 11:40:36 549

原创 springboot邮件发送

建立项目导入对应启动器 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-mail</artifactId> </dependency>测试邮箱(我这里用的qq邮箱)需要开启SMTP服务,得到对应的smtp码然后编写applicati.

2020-05-31 10:14:32 298

原创 springboot集成swagger

在前后端的开发协助中往往会遇到数据统一的问题,假如说前后端操作的json数据从最开始不统一,或者说中途json数据格式变更了,如果项目没有及时作出对应的调整,那就会牵扯出一系列麻烦的问题。因此就需要有一个东西能够实时的、清晰的监控并展示后台接口数据的格式,从而在数据内容变更的最短时间内了解并化解麻烦,这就是swagger的作用。一:新建springboot项目导入依赖:<!-- https://mvnrepository.com/artifact/io.springfox/springf

2020-05-31 09:00:35 393

原创 SpringBoot整合shiro

一:创建springboot项目导入thymeleaf依赖:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId></dependency><dependency> <groupId>org.thymeleaf</groupId> &.

2020-05-29 22:05:59 345

原创 Shiro简单测试使用

shiro官网:http://shiro.apache.org/一:下载对应文件![在这里插入图片描述](https://img-blog.csdnimg.cn/20200528194743842.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0RlZWVlbGV0ZQ==,size_16,color_FFFFFF,t_70)![在这里插入图

2020-05-29 09:24:25 522

CVE-2021-44228复现工具及流程文档.zip

需要本地java环境,演示采用的IDEA,压缩包内提供了marshalsec-0.0.3-SNAPSHOT-all.jar

2021-12-10

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

TA关注的人

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