<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Deeeelete的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Deeeelete</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Deeeelete]]></copyright><item><title><![CDATA[NetCore3.1简单使用JWT]]></title><link>https://blog.youkuaiyun.com/Deeeelete/article/details/124164473</link><guid>https://blog.youkuaiyun.com/Deeeelete/article/details/124164473</guid><author>Deeeelete</author><pubDate>Thu, 14 Apr 2022 14:22:17 +0800</pubDate><description><![CDATA[一：简介

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


二：安装依赖
首先要安装对应的nuget包，名为JwtBearer


三：编写配置
]]></description><category></category></item><item><title><![CDATA[NetCore3.1连接Redis做秒杀案例]]></title><link>https://blog.youkuaiyun.com/Deeeelete/article/details/123937624</link><guid>https://blog.youkuaiyun.com/Deeeelete/article/details/123937624</guid><author>Deeeelete</author><pubDate>Mon, 04 Apr 2022 17:52:09 +0800</pubDate><description><![CDATA[测试环境：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 &amp;&amp; yum ins]]></description><category></category></item><item><title><![CDATA[NetCore3.1返回Json格式的几种方式及其探究]]></title><link>https://blog.youkuaiyun.com/Deeeelete/article/details/123933655</link><guid>https://blog.youkuaiyun.com/Deeeelete/article/details/123933655</guid><author>Deeeelete</author><pubDate>Sun, 03 Apr 2022 11:22:25 +0800</pubDate><description><![CDATA[.net3.1 返回纯JSON格式数据的两种方法]]></description><category></category></item><item><title><![CDATA[NetCore3.1解决跨域]]></title><link>https://blog.youkuaiyun.com/Deeeelete/article/details/123933087</link><guid>https://blog.youkuaiyun.com/Deeeelete/article/details/123933087</guid><author>Deeeelete</author><pubDate>Sun, 03 Apr 2022 10:11:52 +0800</pubDate><description><![CDATA[.net3.1解决跨域问题]]></description><category></category></item><item><title><![CDATA[Windows10下使用批处理脚本更改jdk以及java运行时版本]]></title><link>https://blog.youkuaiyun.com/Deeeelete/article/details/119076353</link><guid>https://blog.youkuaiyun.com/Deeeelete/article/details/119076353</guid><author>Deeeelete</author><pubDate>Sun, 25 Jul 2021 16:04:30 +0800</pubDate><description><![CDATA[个人

]]></description><category></category></item><item><title><![CDATA[Bugku逆向-游戏过关]]></title><link>https://blog.youkuaiyun.com/Deeeelete/article/details/110095485</link><guid>https://blog.youkuaiyun.com/Deeeelete/article/details/110095485</guid><author>Deeeelete</author><pubDate>Tue, 24 Nov 2020 20:50:55 +0800</pubDate><description><![CDATA[Bugku游戏过关

od工具推荐用吾爱的：https://www.52pojie.cn/thread-14986-1-1.html



打开后是一个开灯游戏，总共八个灯，每一层用户可以根据情况按一个1-8中的任意一个灯，如果按的灯正确则进入下一层，如果不正确则游戏重新开始


直接扔进od



主窗口内任意处右键选择【中文搜索引擎】选择第一个【搜索ASCII】


搜索完成后找到准备输出flag的一行跟进去查看



找关键点，edp栈底指针，esp栈顶指针，此处封存了一个函数，也就是说最终输出fla]]></description><category></category></item><item><title><![CDATA[攻防世界PWN-guess_num]]></title><link>https://blog.youkuaiyun.com/Deeeelete/article/details/109727016</link><guid>https://blog.youkuaiyun.com/Deeeelete/article/details/109727016</guid><author>Deeeelete</author><pubDate>Mon, 16 Nov 2020 20:28:26 +0800</pubDate><description><![CDATA[题目：guess_num



checksec查看详情

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]]></description><category></category></item><item><title><![CDATA[攻防世界PWN-string]]></title><link>https://blog.youkuaiyun.com/Deeeelete/article/details/109707576</link><guid>https://blog.youkuaiyun.com/Deeeelete/article/details/109707576</guid><author>Deeeelete</author><pubDate>Sun, 15 Nov 2020 21:31:51 +0800</pubDate><description><![CDATA[题目：string



进PE或者checksec

64位程序

堆栈不可执行以及栈保护

运行一遍好像是一个文字游戏

剧情游戏？分析一波主要任务分支：

情况1：开始游戏，啥也不输入，60秒之后程序自动关闭

情况2：开始游戏，输入名称，名称超过了12个字符，直接出局

情况3：开始游戏，输入小于12个字符的名称，进入剧情问我走east还是up，如果选择up程序会一直死循环


情况4：开始游戏，输入小于12个字符的名称，进入剧情走east，然后问我选择1还是0，选择0，原地暴毙


情况5：开始游]]></description><category></category></item><item><title><![CDATA[攻防世界PWN-cgpwn2]]></title><link>https://blog.youkuaiyun.com/Deeeelete/article/details/109695688</link><guid>https://blog.youkuaiyun.com/Deeeelete/article/details/109695688</guid><author>Deeeelete</author><pubDate>Sat, 14 Nov 2020 21:08:44 +0800</pubDate><description><![CDATA[题目：cgpwn2



拖进PE查看一下

32位程序

checksec查看

简单执行一下




开32位IDA

f5反编译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]]></description><category></category></item><item><title><![CDATA[攻防世界PWN-hello_pwn]]></title><link>https://blog.youkuaiyun.com/Deeeelete/article/details/109695419</link><guid>https://blog.youkuaiyun.com/Deeeelete/article/details/109695419</guid><author>Deeeelete</author><pubDate>Sat, 14 Nov 2020 20:10:47 +0800</pubDate><description><![CDATA[题目：hello_pwn



进pe查看程序



因为该题目比较简单，所以确认是64位程序，直接进IDA


f5反编译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]]></description><category></category></item><item><title><![CDATA[攻防世界PWN-level2]]></title><link>https://blog.youkuaiyun.com/Deeeelete/article/details/109681307</link><guid>https://blog.youkuaiyun.com/Deeeelete/article/details/109681307</guid><author>Deeeelete</author><pubDate>Fri, 13 Nov 2020 21:07:55 +0800</pubDate><description><![CDATA[题目：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]]></description><category></category></item><item><title><![CDATA[攻防世界PWN-level0]]></title><link>https://blog.youkuaiyun.com/Deeeelete/article/details/109652012</link><guid>https://blog.youkuaiyun.com/Deeeelete/article/details/109652012</guid><author>Deeeelete</author><pubDate>Thu, 12 Nov 2020 19:47:30 +0800</pubDate><description><![CDATA[题目：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 ]]></description><category></category></item><item><title><![CDATA[攻防世界when_did_you_born]]></title><link>https://blog.youkuaiyun.com/Deeeelete/article/details/109651421</link><guid>https://blog.youkuaiyun.com/Deeeelete/article/details/109651421</guid><author>Deeeelete</author><pubDate>Thu, 12 Nov 2020 18:49:30 +0800</pubDate><description><![CDATA[题目：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]]></description><category></category></item><item><title><![CDATA[攻防世界PWN-CGfsb]]></title><link>https://blog.youkuaiyun.com/Deeeelete/article/details/109635515</link><guid>https://blog.youkuaiyun.com/Deeeelete/article/details/109635515</guid><author>Deeeelete</author><pubDate>Thu, 12 Nov 2020 07:31:45 +0800</pubDate><description><![CDATA[题目：CGfsb

先下载附件



先确保本地的python有pwntools模块（pip install pwntools），模块安装后会有一个checksec命令，可以用该命令查看文件的基本信息

1.扔文件进kali，使用checksec 命令查看其具体内容

几个重要参数：

Arch
程序架构信息，判断是64位还是32位，exp编写的时候是p64还是p32
RELRO
Relocation Read-Onl（RELRO）此项技术主要针对GOT改写的攻击方式，它分成两种，Partial
RELRO]]></description><category></category></item><item><title><![CDATA[攻防世界PWN-get_shell]]></title><link>https://blog.youkuaiyun.com/Deeeelete/article/details/109524797</link><guid>https://blog.youkuaiyun.com/Deeeelete/article/details/109524797</guid><author>Deeeelete</author><pubDate>Fri, 06 Nov 2020 09:42:08 +0800</pubDate><description><![CDATA[工具类：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;.]]></description><category></category></item><item><title><![CDATA[XSS提取cookie到远程服务器]]></title><link>https://blog.youkuaiyun.com/Deeeelete/article/details/107983837</link><guid>https://blog.youkuaiyun.com/Deeeelete/article/details/107983837</guid><author>Deeeelete</author><pubDate>Thu, 13 Aug 2020 19:03:05 +0800</pubDate><description><![CDATA[攻击机： 192.168.132.144（kali）
受害机： 192.168.132.188（DVWA）


1.low级别然后找反射型xss的界面

且已知反射型xss输入对应的js代码&lt;script&gt;alert(1)&lt;/script&gt;会弹窗。

以及使用&lt;script&gt;alert(document.cookie)&lt;/script&gt;会弹cookie


2.则回kali下写php脚本用来接收，首先确保kali已经开启了apache服务，如果没有则开启的命.]]></description><category></category></item><item><title><![CDATA[Java中JMM内存模型与Volatile关键字]]></title><link>https://blog.youkuaiyun.com/Deeeelete/article/details/107433689</link><guid>https://blog.youkuaiyun.com/Deeeelete/article/details/107433689</guid><author>Deeeelete</author><pubDate>Sat, 18 Jul 2020 21:46:14 +0800</pubDate><description><![CDATA[一：JMM
Java Memory Model，简称JMM，即Java内存模型，但JMM不同于JVM有着堆栈这样详实的块区划分，JMM虽然叫模型，可本质上只是一种强调数据（通常指共享变量）读写的规范，是一种抽象的概念。
那JMM这种规范是干什么的？这里就要提一个东西，那就是线程，线程是程序的经脉，而JMM则是跟线程息息相关的，倘若说没有JMM这种线程的约束规范，那线程里的变量就会被乱用乱丢，然后各种横七八竖的访问，内存里一片狼藉。因此，从程序执行效率的角度上来讲，JMM规范的存在是必要的。
而这种规范展开来]]></description><category></category></item><item><title><![CDATA[java中ForkJoin并行执行任务]]></title><link>https://blog.youkuaiyun.com/Deeeelete/article/details/107369995</link><guid>https://blog.youkuaiyun.com/Deeeelete/article/details/107369995</guid><author>Deeeelete</author><pubDate>Wed, 15 Jul 2020 21:46:00 +0800</pubDate><description><![CDATA[一：ForkJoin介绍
ForkJoin的执行原理类似于分段求和，假如说我想求从1加到10的合，传统的方式是从1逐步向上增加，而ForkJoin就会把十个数拆分成不同的组，数字1和数字9一组，数字2和数字8一组，以此类推分成5组，也就是划分为了5个小任务，它们分别计算求和，最终再把结果相加得出。


二：ForkJoin 的特点
ForkJoin的特点叫做工作窃取，也是它之所以能够提升执行效率的主要原因，因为ForkJoin的底层是双端队列，而双端队列我们就可以形象的看做为一组等长的平行线，平行线左右两端]]></description><category></category></item><item><title><![CDATA[函数式接口与Stream流计算]]></title><link>https://blog.youkuaiyun.com/Deeeelete/article/details/107347578</link><guid>https://blog.youkuaiyun.com/Deeeelete/article/details/107347578</guid><author>Deeeelete</author><pubDate>Tue, 14 Jul 2020 22:06:02 +0800</pubDate><description><![CDATA[一：函数型接口
函数式接口泛指那些在有且仅有一个抽象方法的接口，其标志特点是源码中含有@FunctionalInterface注解。




名称
定位




Function
函数型接口


Predicate
断定型接口


Consumer
消费型接口


Supplier
供给型接口



1.函数型接口（Function ）

Function&lt;T, R&gt;,T是一个传入的参数类型，R是一个返回的参数类型，函数式接口只有一个抽象方法，在这里是apply，apply方法有返回值，其类型是]]></description><category></category></item><item><title><![CDATA[利用msf进行ms12-020蓝屏攻击]]></title><link>https://blog.youkuaiyun.com/Deeeelete/article/details/107318125</link><guid>https://blog.youkuaiyun.com/Deeeelete/article/details/107318125</guid><author>Deeeelete</author><pubDate>Mon, 13 Jul 2020 16:19:27 +0800</pubDate><description><![CDATA[攻击机（kali）：192.168.132.144
受害机(winserver2003)：192.168.132.134


1.在【我的电脑】-&gt;右键选中【管理】，找到系统工具下的【本地用户和组】下的【用户】，在空白处右键添加【新用户】



2.返回桌面，右键我的电脑的属性。选择远程

选择远程用户
添加
输入我们之前添加的用户，确定


3.回到kali中，查看是否存在此漏洞可以用msf也可以用nmap扫，这里我演示后者。
nmap --script=vuln 192.168.132.134
.]]></description><category></category></item></channel></rss>