自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(204)
  • 资源 (2)
  • 收藏
  • 关注

原创 2023年第四届 “赣网杯” 网络安全大赛 gwb-web3 Write UP【PHP 临时函数名特性 + 绕过trim函数】

从GET请求中获取名为’func’的参数,然后使用trim函数去除首尾空格,并将结果赋给变量$func。:从GET请求中获取名为’pass’的参数,然后使用trim函数去除首尾空格,并将结果赋给变量 $password。:在条件成立时,定义了一个名为youwin的函数,它的作用是输出名为’/flag’的文件的内容,使用了file_get_contents函数。:定义了一个名为hint的函数,它的作用是显示当前文件的源代码,使用了show_source函数。:调用根据’func’参数确定的函数。

2023-12-18 16:17:42 2078 2

原创 2023年江西省“振兴杯”网络信息行业(信息安全测试员)职业技能竞赛 Write UP

web页面一直在播放cavas 动画,显示字体内容为:TEXTArray = [“你”, “永远”, “也”, “看不见”, “我”, “站在”, “窗边”, “最难过”, “的样子”, “因为”, “你”, “知道的”, “在”, “所有”, “看不见”, “你的”, “时候”, “才是”, “最”, “难”, “过”, “的”, “我”, “爱”, “你”];UDP 几乎没见过,先排除。因此,如果我们分析代码,我们会发现两件事,第一件事是应用程序日志被写入/tmp/app中的文件,这也是。

2023-12-08 17:30:21 718

原创 记一次 AWD 比赛中曲折的 Linux 提权

使用 sqlmap -os-shell 可能导致获取到与目标系统相关的命令执行权限,但这与操作系统的 root 权限无关。-os-shell 的具体权限取决于目标系统上正在运行的 Web 应用程序的用户权限,而不是数据库的 root 权限。SUID是赋予文件的一种权限,它会出现在文件拥有者权限的执行位上,具有这种权限的文件会在其执行时,使调用者暂时获得该文件拥有者的权限。在数据库管理系统中,root 用户是具有最高权限的用户,可以执行所有管理任务,包括创建、删除、修改数据库对象以及用户帐户。

2023-10-31 00:09:16 1442 2

原创 2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP

2023年江西省“振兴杯”工业互联网安全技术技能大赛暨全国大赛江西选拔赛 Write UP

2023-10-29 00:17:07 1022 2

原创 [CVE-2016-4437] Apache Shiro 安全框架反序列化漏洞复现与原理详细分析

Apache Shiro是一个强大且易用的 Java安全框架,执行身份验证、授权、密码和会话管理。shiro 相比于 springsecurity 简单许多,官方号称 10 分钟就能学会。shiro 反序列化漏洞是 Java 经典漏洞,于2016年被挖掘出来,到现在依旧很多系统存在该漏洞,非常值得学习,对加深 shiro 认证机制的理解以及java代码审计颇有帮助。

2022-10-21 02:03:37 4526 1

原创 [WooYun-2016-226888] SpringBoot框架SpEL漏洞复现与原理详细分析

这是2016年爆出的一个洞,在 CVE 上没有找到对应编号,经过多方资料查阅最终确认是唐朝实验室在乌云上提交的该通用漏洞,缺陷编号为WooYun-2016-226888。漏洞的产生主要来自程序员没有做异常处理 (开发要养成好习惯:fist:),使用了 springboot 默认的报错页面 (Whitelabel Error Page),默认报错页面会把判断参数是否是 SpEL 表达式,如果是就进行解析,进而导致一些危险操作的发生。由于继 2016年后依旧频频出现相关框架出现 SpEL 表达式注入漏洞,具有学

2022-08-16 19:31:49 1391

原创 使用 IDEA 快速远程调试 Docker 中运行的 Java 应用程序 (附解决思考过程)

最近在复现&分析 Java 领域历史相关漏洞,学习 Java 框架漏洞代码审计思路。分析原理少不了调试,然而每次都得搭建漏洞环境,又是构建maven, 又是引入依赖,挺繁琐的。Github 有很多其他同行利用 Docker 搭建好的漏洞环境镜像,一键拉取运行即可, 但是问题来了, 运行在 docker 容器里的程序我怎么断点调试呢?手上没有构建镜像时的源代码,该怎么办呢?.....................

2022-08-13 03:17:13 6670 7

原创 [CVE-2021-45105] Apache Log4j2 漏洞复现与原理详细分析

2021年12月9日,各大公司都被一个核弹级漏洞惊醒了,该漏洞一旦被攻击者利用就会造成及其严重的影响。该漏洞甚至被认为可能是“计算机历史上最大的漏洞”。

2022-08-10 02:22:14 1492 2

原创 如何将抓包工具证书(cer,crt, pem)写入到Android系统内置根证书目录中实现 HTTPS 抓包

如何让抓包工具证书(cer,crt, pem)写入到Android系统内置根证书中,实现 HTTPS 抓包

2022-07-09 23:29:23 4000

原创 基于 function-plot.js 开源库绘制数学函数图像实现兼文档翻译

前段时间移动项目想实现一个能实时绘制数学函数图像的H5小应用, app 通过 webview 进行嵌入,目前网上提供了大致有两种方法:①、Chart.js 结合 Plugins 绘制 ===> https://www.bianchengquan.com/article/475747.html②、原生 JavaScript + canvas 计算描点绘制 ===> https://blog.csdn.net/weixin_30341745/article/details/94964723经过测试这两个方法应对

2022-06-04 02:34:37 3043 3

原创 Spring Security 4 中的 hasRole 和 hasAuthority 差异引发的思考

前言:在使用 Spring Security 的时候我们必然会使用到如下两种访问权限配置中的一种:第一种:http.authorizeRequests() .antMatchers("/root/**").hasAuthority("root") .antMatchers("/admin/**").hasAuthority("admin") .anyRequest().authenticated()第二种:http.authorizeReq

2022-05-14 00:50:23 2531

原创 Uniapp: 原生Android插件开发调试打包详细历程 --- 不再为付费插件买单(例:安卓原生 TCPSocket 连接通信插件实现)

原生Android插件开发调试打包详细历程 --- 不再为付费插件买单!

2022-04-26 16:31:50 10393 16

原创 PTA-天梯赛-练习集:L2-008 最长对称子串 (动态规划)

一、题目如下:二、解题思路:子问题:dp [ i ] [ j ] 是否为回文字符串。dp[ i ] [ j ] :从字符串的下标 i 到 j 的字符串;dp[ i ] [ j ] == 1 :该字符串为对称字符串;dp[ i ] [ j ] == 0 : 该字符串不是对称字符串;dp[ i ] [ j ] == 1 的前提:dp[ i + 1 ] [ j - 1 ] == 1 并且 str[ i ] == str[ j ];dp 初始化:标记 dp[ i ] [ i ] == 1;

2022-04-18 23:02:20 665

原创 PTA-天梯赛-练习集:L2-001 紧急救援 (迪杰斯特拉求最短路径并输出最短路径中经过顶点最多的路径)

一、题目如下二、解题思路:典型单源最短路径问题,但是题目除了求两点之间的最短路径,还要尽可能多的召集救援队数量。那么我们需要记录经过顶点最多的最短路径,即为所求。我们一般做最短路径题求出结果就行了。这道题恰好能练习如何输出最短路径的各个顶点,并且自定义选择输出最短路径是经过顶点最少的路径还是经过顶点最多的路径。三、代码实现:#include<bits/stdc++.h>using namespace std;const int N = 550;const int INF

2022-04-16 22:55:18 685 1

原创 Netty4.x: Server端 设置 option 警告 Unknown channel option ‘xxxx‘ for channel 分析及解决 (附源码分析)

一、问题背景:最近某springboot项目想嵌入一个用户聊天功能,打算使用 Rabbitmq + Netty4.x + Redis 来开发高性能聊天功能。花费三天时间所有功能都已实现。启动时却警告 :Unknown channel option 'xxxx' for channel '[id: 0xba18fac1]', 虽然是个告警但是必须解决,否则会影响正在准备建立连接的握手以及激活心跳机制->TCP自动发送一个活动探测数据报文netty 使用的版本是 4.1.6二、源码分析1

2022-04-07 13:32:42 4701 1

原创 Docker 一键部署 SpringBoot 后端API + MySQL + Redis + Nginx + RabbitMq 服务

一、前言: 在开发中,频繁部署项目是日常。是不是已经厌倦了各种服务环境的配置?这里将使用 Docker 容器技术一键部署整个项目,只需编写 docker-compose.yml 和 Dockerfile 即可。Docker 你值得拥有!二、前期准备:1、已经打包成 jar 包的 SpringBoot 项目(假设是一个智慧校园APP的后端API服务)2、一台装有docker的Linux服务器 (建议使用 Linux)三、编写 Dockerfile这里通过编写 webapi-Dockerf

2022-03-30 01:25:40 4995

原创 Docker: driver failed programming external connectivity on endpoint xxx 问题分析及解决

问题如下:重启容器发现无法正常启动,报错:driver failed programming external connectivity on endpoint xxx问题分析:首先理清一下我做了什么操作。我记得在我开启docker后,执行 docker-compose up -d 启动完容器后,发现无法连接 MySQL 容器,经查没有关闭防火墙,未开放3306端口,因此执行 systemctl stop firewalld.service 关闭防火墙,最后我 docker-compose rest

2022-03-30 00:35:48 21691 7

原创 唯一分解定理(数论) - 第十一届蓝桥杯B组决赛C/C++ - 试题 C: 阶乘约数

一、 如题:二、解题思路:看到这道题,我最先想到的自然是暴力解法,先求 100 的阶乘的 ans,然后 ans 算有多少个正约数。但是显然这样做不行,想想 100 的阶乘可是非常大的, 计算机 long long 都装不下,所有这题暴力指定是没戏。既然这样那肯定是有什么数学方法来解这道题。约数的定义: 约数又称因数,整数A除以整数B(B≠0) 除得的商正好是整数而没有余数,我们就说A能被B整除,或B能整除A。A称为B的倍数,B称为A的约数三、实现代码:#include <bits/s

2022-03-30 00:03:46 793

原创 MySQL 5.7: DataGrip 通过 mysqldump 进行数据库备份至单个文件操作相关问题解决 (Permission denied)

前言: 首先真的很想谴责一下那些水文的博主,要写博客就好好写,写得什么牛马玩意儿,误人子弟。本来一步能解决的事情,硬是弄得这么复杂还无法解决。贴两个典型在这里挂着:问题背景:众所周知我们使用 DataGrip 进行导出数据库时,导出的数据库都是分表一个一个导出的文件,这样我们下次导入的时候就比较麻烦,得一个一个操作。那么有没有什么方法能把当前数据库所有表导出到一个文件里呢?答案是当然可以,可以让 DataGrip 基于 MySQL 自带的 mysqldump 命令导出。但是在导出的过程告诉我

2022-03-27 23:50:53 3790 1

原创 SpringBoot 2.3.7:@AutoConfigureAfter || @AutoConfigureBefore 注解失效问题解决 (基于官方文档分析解决)

一、前言:最近项目有一需求,我需要指定一个配置类必须在另一个配置类执行之后才能执行。SpringBoot 提供了两个注解 :@AutoConfigureAfter或@AutoConfigureBefore注解为配置类指定特定的顺序。在实现的过程中遇到一些问题,注解不生效,没有按照特定顺序执行,这里做下分析及解决办法。二、原关键问题代码:目的:我想先加载 WebMvcConfig 配置,让 yml 文件里面值注入到静态成员变量中,然后再加载 DirConfig 配置类获取 WebMvcConfig

2022-03-13 12:10:35 2555

原创 百度智能云 -- 图像内容(Base64)智能审核调用踩坑问题排查及解决 -- (image format error)

前言:百度智慧云的图像内容审核真的坑死我了!!!弄了我整整2个小时。我只想吐槽一句: baidu 我 🦍🦍 你个大🦍🦍!操作很简单,就是把图像转成 Base64 然后上传给百度智慧云后台服务处理,并返回审核结果。然而里面的细节真是把我整吐了,下面由我娓娓道来。坑点 ①: API Explorer 在线调用器没有明确说明 base64 的格式我按照上述描述编写请求参数:data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEASABIAAD...,结果就出现了如下

2022-03-05 01:50:22 2150 2

原创 SpringBoot -- 过滤器注入Bean报异常 NullPointException问题分析及解决

一、前言:前不久在弄 spring security + jjwt 认证过滤器的时候,需要给 UsernamePasswordAuthenticationToken 类的构造方法传入 Collection<? extends GrantedAuthority> authorities 作为后续的 身份(role)验证。UsernamePasswordAuthenticationToken 类提供了两个重载的构造方法:UsernamePasswordAuthenticationToken(

2022-02-28 03:19:40 1877

原创 Spring Security 5: UsernamePasswordAuthenticationFilter 的子类重写 unsuccessfulAuthentication 方法不执行分析及解决

一、前言:在 Spring Security 框架中,最常用的 Filter 便是表单登录Filter,即 UsernamePasswordAuthenticationFilter。从下图中,能清晰的了解到 UsernamePasswordAuthenticationFilter 的继承关系。最近我用 Spring Security 做登录验证的时候遇到一个问题。UsernamePasswordAuthenticationFilter 继承的子类重写successfulAuthentication 、u

2022-02-28 02:03:18 5244

原创 Java 操作数据存入 Redis, Key出现乱码 \x00 -- 另类问题排查解决

前言:我们在使用 Java 操作redis时,或许会遇到乱码问题。虽然这些乱码可能并不影响Java程序的正常运行,但是使用 RDM 查看时redis数据时会很影响查看。以下提供一些解决办法。

2022-02-27 13:04:26 4856

原创 关于 Swagger2 已配置登录账号密码,登录却始终账号或密码错误问题解决

今日遇到一个很睿智的问题,一项目正准备动工,我在 springboot 里面集成了 Swagger Api 文档生成框架,想着不能让任何人访问,需要加个账号密码登录,然后呢我就按照开发文档的操作在 yml 里面配置访问需要的账号密码,奇怪的事情发生了,我设置的账号密码始终登录不进,一直报账号或密码错误,然后我又把配置的账号密码删除,这下总能访问了吧,结果怎么着,还是出现了需要登录的页面,我当时蒙了,然后就是百度呀百度,都没有出现我这种情况,只能自己找问题喽。(其实我觉得挺弱智的,但想着还是记录一下,以防日后

2022-01-26 00:49:31 6513

原创 LeetCode 295. 数据流的中位数 [设计一种高效的数据结构计算动态集合的中位数]

如题:一、初次解题思路:利用二叉搜索树并维护每个节点及其子节点的个数size,不需要考虑排序问题,寻找中位数时通过size检索,但是二叉搜索树受限平衡性,时间复杂度平均O(log n), 最差情况是二叉树元素都在一边,复杂度为 O(n)。二、思路一代码实现:// 建立二叉搜索树的数据结构struct BSTreeNode { int val; int size; BSTreeNode *left; BSTreeNode *right; // 构造函数

2022-01-25 17:24:27 807

原创 关于 spring-boot-starter-log4j 启动器依赖如何修复 log4j 漏洞以及相关问题解决

前言: springboot 项目一般使用 log4j 是直接引入 spring-boot-starter-log4j 启动器依赖,但是官方提供最新的 spring-boot-starter-log4j 版本是 2016年 的,存在 log4j 远程代码执行漏洞风险。在此我将演示如何修复启动器依赖的方法。一、排除 spring-boot-starter-log4j 原有的相关依赖: <dependency> <groupId>org.spr

2022-01-23 15:35:43 3713 2

原创 深入理解莫队算法(Mo‘s algorithm),并利用其解决相关问题

我还没学会,等我再刷个10几题再更新,ababababab~~~

2021-11-22 22:06:58 560

原创 深入理解并查集(Disjoint Set Union),并利用其解决相关问题

一、什么是并查集?首先字面意思是把相互联系的元素通过特定查询组成一个集合。规范化解释:并查集,在一些有N个元素的集合应用问题中,我们通常是在开始时让每个元素构成一个单元素的集合,然后按一定顺序将属于同一组的元素所在的集合合并,其间要反复查找一个元素在哪个集合中。二、并查集应用场景: 1. 图的连通性,可以用来判断哪些节点是连通的。也可以知道一个图一共能被分成几个相互独立的块。2. 区间类问题3. 连续子序列问题4. 经典最小生成树算法:Kruskal 算法5. 等等… 后期补充 总而言之

2021-11-17 00:26:55 2187

原创 LeetCode 215. 数组中的第K个最大元素(练习如何建堆并进行堆排序,大顶堆 & 小顶堆)

一、题目:二、 解题思路:这道题很容易,调用内置sort函数,或者自写10大排序算法中其中一种算法就能解决这道题。这里主要练习在不使用 C++ STL 模板 priority_queue 的情况下,纯手工建立优先队列(大小顶堆),然后进行堆排序做这道题。 在此之前极力建议看下这位博主写的文章 ???? 什么是大小顶堆? ,再结合我写的实现代码,就很好理解了堆排序堆排序是利用堆这种数据结构而设计的一种排序算法,堆排序是一种选择排序,它的最坏,最好,平均时间复杂度均为O(nlogn),它是不

2021-11-12 23:58:07 723

原创 LanQiao-ALGO-1007 印章 (DP 动态规划)

一、题目:输入案例:2 3输出案例:0.7500数据规模和约定 1≤n,m≤20二、解题思路:三、实现代码:#include<bits/stdc++.h>using namespace std;/* 动态规划五部曲: 一、定义dp数组 二、状态转移方程 三、数组如何初始化 四、遍历顺序 五、打印dp数组 * *//* * dp[i][j] 含义: 小明买了 i 张印章, 集齐 j 种印章的概率 * dp[1

2021-11-11 16:36:15 557

原创 LanQiao-ALGO-1004 无聊的逗 (动态规划: 0-1背包问题) -- (LeetCode 416. 分割等和子集 变种题)

实现代码:#include <bits/stdc++.h>using namespace std;// 如果两个子集的元素和相等时,返回nums总和除以 2,否则返回 0int getPartitionValue(vector<int> nums) { int n = nums.size(); if (n < 2) { return false; } int sum = accumulate(nums.begin(),.

2021-11-08 00:39:19 4244 20

原创 LeetCode 127. 单词接龙 (①超时做法-->②稍作优化-->③终极两端搜索法)

1、超时做法解题思路 beginword 每次只能变换一次字母,经过n次变换最后得到endword, 这 n 次得到的单词都必须在 wordlist 里面有。 这可以看出是个拓扑结构,每个单词的连接关系是每个字母一一对应,只有一个字母不相同即可相连,建立邻接表,找出最短beginword到endword路径即可实现代码:class Solution {public: // 判断两个单词是否只有一个字母不同 bool similar(string word1, string wo..

2021-11-07 17:26:48 156

转载 LeetCode 207. 课程表 (BFS && DFS 双解法)

方法一:入度表(广度优先遍历)解题思路:1. 统计课程安排图中每个节点的入度,生成 入度表 indegrees。2. 借助一个队列 queue,将所有入度为 0 的节点入队。3. 当 queue 非空时,依次将队首节点出队,在课程安排图中删除此节点 pre: * 并不是真正从邻接表中删除此节点 pre,而是将此节点对应所有邻接节点 cur 的入度 −1,即 indegrees[cur] -= 1。 当入度 −1后邻接节点 cur 的入度为 0,说明 cur 所有的前驱节点已经被 “删除”,..

2021-11-02 23:59:58 215

原创 LanQiao-ALGO-1005 数字游戏 (爆搜)

样例输入4 16样例输出3 1 2 4解题思路:一看到这道题,看不出有啥思路,看到 n 的取值范围为 0<n<=10, 直接暴力搜索,使用 C++ STL 全排列函数 next_permutation(arr, arr+size); 一一操作对比,算出结果等于sum则跳出循环实现代码:#include<bits/stdc++.h>using namespace std;int main() { int n, sum; cin>&.

2021-10-26 21:49:05 1733

原创 2021(ICPC)-Jiangxi_Hearthstone So Easy

输入样例:210 95 3输出样例plljfreesin题目大意:本题讲的是炉石传说抽卡游戏,

2021-10-25 23:54:43 1898

原创 2021(ICPC)-Jiangxi_Continued Fraction

输入样例:2105 381 114输出样例:4 2 1 3 4 21 0 114题目大意:连分数是如图形式的表达式,x,y 进行反转相除,并记录商,余数作为为下一次的分母,上一次的除数作为被除数,一直循环直到 分母为 0 (y==0) 则退出解题思路:模拟即可实现代码:#include <bits/stdc++.h>using namespace std;int main() { int m; cin>>m; wh.

2021-10-24 20:44:00 155

原创 2021(ICPC)-Jiangxi_It Rains Again (LeetCode 56. 合并区间 变种题)

输入样例:51 2 2 11 1 2 23 3 4 35 1 6 36 3 7 2输出样例:4备注:题目大意:假设在无限平面上的笛卡尔坐标系中,x 轴代表地面,天空中有 n 个雨幕(我们不考虑它们的厚度),每个雨幕都可以描述为一个片段,从 (x_1, y_1)并结束于 (x_2, y_2). 现在如果从无限高的天空开始下雨,我想让你告诉我x轴有多少单位不会下雨。为了简化问题,雨只能在落下时垂直移动。请注意,两个雨幕可以相互重叠和交叉,并且没有垂直放置的雨幕。解题思路:

2021-10-24 00:06:09 1700

原创 ZJU_1167 Trees on the Level (Hash 映射建树)

题目大意:解题思路:实现代码:/* * ZJU_1167 Trees on the Level * Date: 2021/10/20 * Author: xxw * */#include <bits/stdc++.h>#define MAX_NODES 14000 // 最大节点数using namespace std;vector<int> tree(MAX_NODES, 0); // 存放映射的数组int complete; // 树的完整性标.

2021-10-22 01:53:04 314

原创 牛客_acm_18307-小叶的巡查 (数学分析+深度优先+滚动数组迭代)

输入案例:51 2 21 3 12 4 52 5 4输出案例:135解题思路:dfs第一次找到首都到最远城市A,再最远城市A做一次dfs,找出离A城市最远的城市B,A->B的距离即是最远距离实现代码:/* * 牛客_acm_18307-小叶的巡查 * Date: 2021/10/20 * Author: xxw * */#include<bits/stdc++.h>#define N 25000 // 最大城市(顶点)数using name.

2021-10-20 20:07:34 186

CentOS7-Base.repo

CentOS7-Base-163.repo,替换国内yum源(){优秀的判断力来自经验,但经验来自于错误的判断。Never underestimate your power to change yourself!}

2021-01-09

JDK_API_1_6_zh_CN.zip

包含java 所有 API 供查阅 文档

2020-06-25

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

TA关注的人

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