- 博客(128)
- 资源 (4)
- 收藏
- 关注
原创 phpstudy的Apache添加AddType application/x-httpd-php .php .php5配置无效的处理方式
最近在学习安全竞赛ctf相关的内容,使用phpstudy作为服务端,研究图片上传相关漏洞的靶场upload-labs。其中遇到后缀名过滤,会过滤后缀名php。按照网上的处理方式,只需要在Apache服务器的配置文件中增加“AddType application/x-httpd-php .php .php5”,就可以让服务器识别php5后缀名的文件,然后上传后缀为php5的文件绕过后缀名检查。但是我尝试了之后无效。
2025-05-14 13:01:09
327
原创 sqli-lab靶场学习(八)——Less26-28
25关已经出现了初步的一些关键字过滤,通过双写可以绕过。后面的关卡,我们会遇到更多关键字过滤,需要各种技巧绕过。
2025-03-12 18:54:00
283
原创 sqli-lab靶场学习(七)——Less23-25(关键字被过滤、二次注入)
之前的每一关,我们都是在末尾加上注释符,屏蔽后面的语句,这样我们只要闭合了区间之后,差不多就是为所欲为的状态。但如果注释符不生效的情况下,又该如何呢?
2025-03-05 19:28:06
458
原创 sqli-lab靶场学习(六)——Less18-22(User-Agent、Referer、Cookie注入)
本关的注入点在User-Agent。我们在用户名和密码框中输入admin/admin后,会回显User-Agent的信息。注意这里只有输入了正确的密码才回回显。PS:如果admin/admin密码不对,就去Less17那里改就行了~~~~我们看一下源码,在less18目录下的index.php:分析代码后,我们发现uagent这个变量获取的是user-agent的数据,而注入点在103行这里,输出页面反馈的在109行。
2025-02-11 20:00:04
1069
原创 sqli-lab靶场学习(五)——Less15-17(post方法盲注、修改密码)
第11-14关开始用post方法,post方法盲注和get方法类似。
2025-02-08 21:30:59
769
原创 sqli-lab靶场学习(四)——Less11-14(post方法)
第1-10关都是get方法,本关开始进入post方法。其实post也好get也好,本质都差不多,使用的技巧也基本相同。
2024-09-20 15:20:02
514
原创 sqli-lab靶场学习(二)——Less5-7(报错注入,updatexml、outfile)
本文主要讲updatexml和outfile在sql注入中的应用
2024-09-10 11:31:56
450
原创 sqli-lab靶场学习(一)——Less1-4(语句闭合,联合注入)
最近一段时间想切入安全领域,因为本身有做数据库运维工作,就打算从sql注入方向切入。而sql注入除了学习日常书本上的概念外,需要有个实践的环境,刚好看到sqli-lab这个靶场,就打算先用这个来学习。
2024-09-03 18:53:27
1024
原创 安装图数据库Nebula Graph
今年开始,很多机关单位、央国企都要求所有新建的信息系统必须走国产化技术路线,而且还要求满足“信创”要求。“信创”通俗来讲就是要自研,那种拿个开源套壳的都不满足信创要求。之前研究了一段时间的neo4j,显然neo4j不满足国产化技术路线。刚好前一段时间和Nebula Graph的技术人员交流,顺便也就安装研究一下。
2024-04-11 17:44:41
1377
原创 安装Neo4j
Neo4j是一款比较流行的图数据库。图数据库相比于关系型数据库,更适合展现对象与对象之间的关系。主要使用场景为推荐系统、反诈系统、图谱等等。本次安装的版本为Neo4j 5.17.0社区版,在CentOS7下。
2024-04-01 09:59:20
1933
原创 Spring Security学习(七)——父子AuthenticationManager(ProviderManager)
Spring Security学习(六)——配置多个Provider》有个很奇怪的现象,如果我们不添加DaoAuthenticationProvider到HttpSecurity中,似乎也能够达到类似的效果。那我们为什么要多此一举呢?从文章的效果来看确实是多此一举,但其实这里面暗藏玄机。也引出了本文的父子AuthenticationManager(ProviderManager)的话题。Spring Security学习(六)——配置多个Provider。
2024-02-24 18:08:14
2058
4
原创 Spring Security学习(六)——配置多个Provider(存在两种认证规则)
Spring Security学习(五)——账号密码的存取》一文已经能满足一般应用的情况。但实际商业应用也会存在如下的情况:用户提交的账号密码,能在本地的保存的账号密码匹配上,或者能在远端服务认证中匹配上,就算认证通过。这种通常类似于单点登录,或者认证中心之类的。本文不去探索这种架构,只是单纯讨论如果存在两种认证规则下如何处理。多种认证方式使用Spring Security时有好几种处理方式。根据不同的情况,架构师考虑不同的解决方案。本文先从比较简单的方案说起。
2024-02-21 17:59:24
3442
1
原创 Spring Security学习(五)——账号密码的存取(UserDetailService、PasswordEncoder、DaoAuthenticationProvider)
本文是常见Java Web应用中使用Spring Security的核心。一个Web应用管理系统在用户登陆上最核心的问题就是解决两个问题:1、用户提交的账号密码如何与数据库中保存的账号密码匹配上;2、如何保持会话。本文就是解决第一个问题的。
2024-02-15 23:49:04
808
1
原创 Spring Security学习(四)——登陆认证(包括自定义登录页)
本文主要讲述了SpringSecurity中提交账号的方式,其中自定义登录页可以适用于thymeleaf为前端的轻应用。不过对于使用vue作为前端的应用不需要配置登陆提交方式。
2024-02-14 22:04:09
1447
1
原创 Apach Ozone部署
最近由于工作需要,要部署一套ozone。我自己对hadoop这套体系不是很熟悉,所以过程磕磕碰碰,好不容易勉强搭起来,所以记录一下部署方式。
2023-11-22 18:28:56
737
2
原创 关于cloudflare的“检查站点连接是否安全”一直反复转圈的问题
其中很多时候哦是没有红色框框一栏,就是拼命在转圈和刷新页面,等上一个小时都没用。以上情况看很多网上的说法是卸载浏览器安装的插件。我寻思我也没安装过什么插件。不一定要全部添加,可能添加其中几个就可以了。
2023-08-23 09:44:54
42768
10
原创 nvm安装使用与常见问题
nvm是一个用来进行nodejs多个版本管理和切换的工具。这个工具的使用相当简单和方便,但是没想到我使用的时候却遇到了好些问题,这里记录一下顺便分享。
2023-08-17 17:17:40
3033
原创 Maven搭建Springboot+MyBatisPlus+人大金仓数据库
最近做一个项目,因为国产化的需要,甲方要求使用人大金仓数据库。赶紧查了下MyBatisPlus可以适配,就打算搭建一套简单Springboot+MyBatisPlus+人大金仓数据库的环境,用来进行一些简单的验证。
2023-03-23 21:58:34
10852
5
原创 Springboot生成war部署到Tomcat
今天刚好一个同事叫我友情协助给个简单的war包他,用来作为培训的素材。确实是个很简单的东西,我却整整坑了2个多小时在里面。因为这些年用springboot都是生成jar包直接启动,还真没做过几个项目是生成war扔tomcat上的。结果好一阵子搜索,其实也没什么,无非就是pom排除内嵌的tomcat,主类继承SpringBootServletInitializer并重写的configure方法。但就这么点简单的东西居然也坑了,正好就mark一下。Springboot生成war
2022-11-20 00:56:03
269
原创 Vue学习(九)——混入
混入(mixin)的使用非常简单,其实我原本打算直接写插件(plugin)的,但考虑到插件的使用范围也包括混入和自定义指令,还是先讲讲这两个的基本概念。混入在我看来,就是给组件加上一些通用的属性和方法。比如说我们项目有很多个页面是要展示分页列表的,那页面组件都会包含当前页、每页记录、总记录数、总页数这些属性、还有页面增删查改操作的函数等等,其中有很多是完全一样,或者具备一定可复用性的。如果每个页面都搞这么一大坨,不单写起来繁琐,看起来也很乱。要是碰上不同的人开发,变量名定义还不一样,可读性可维护性就很差。
2022-11-20 00:45:22
588
原创 Spring Security学习(三)——密码加密
上一篇文章我们实现了从数据库读取用户名密码到Spring Security中,并验证登录成功。不过密码的形式有点奇怪,这篇文章我们研究一下密码加密和比对的问题。
2022-10-16 19:33:56
1990
原创 Spring Security学习(二)——使用数据库保存密码
上一篇文章我们已经快速搭起Spring Security应用。我们使用的是默认的用户名密码。通常项目中我们使用数据库保存密码,并且数据库的密码是加密保存的。如何做到呢,是这篇文章的重点。
2022-10-16 11:57:49
1227
1
原创 Spring Security学习(一)——快速开始
Spring Security是目前Java后台管理系统中使用最常见的安全认证框架之一。本文讲述如何快速创建Spring Security应用。
2022-09-28 17:26:31
607
1
原创 身份证校验(JAVA、JS)
我也是最近做项目的时候,才知道身份证的尾数是个校验位。说白了,并不是你随随便便输入一个身份证号码都是正确的号码。不单开头两位的省份编码要正确,中间出生年月日是合理数值,还有身份证最后一位是前面17位的一个校验码。其实逻辑很简单,基本一看就懂了,废话不说,直接上源码:...
2022-07-07 11:05:38
2280
原创 Vue学习(八)——引入mock进行测试
前言按照前后端分离的架构设计思路,通常前端通过axios调用后端接口。如果后端接口未写好,前端如何进行测试呢?这时候就要引入mock。mock会拦截前端请求,并生成测试数据。这样看起来就像调用了后端接口一样。虽然mock不能实现什么业务功能,但作为前端开发,引入mock也是必不可少的。安装mock由于mock的作用本来就是用于相应ajax调用,因此我们沿用《Vue学习(七)——引入Axios》建好的项目作为例子。在此之上引入mock并使用。首先在...
2022-01-24 17:59:42
3002
3
原创 Vue学习(七)——引入Axios
前言Vue官网推荐使用Axios用于Ajax调用。本文介绍如何在Vue项目中引入Axios。准备服务端程序本服务端程序仅用来测试,如果读者有其他rest接口用于测试可跳过此节。我通过Eclipse创建一个Springboot项目。首先新建maven选择webapp那一项填写必要信息便可完成修改pom.xml文件,主要增加对spring-boot和spring-mvc的依赖。前几行注释掉的地方是我的项目信息,读者可以改成自己的。<project x.
2022-01-22 18:20:13
11043
原创 Vue学习(六)——Vue-Router引入
前言Vue-Router是Vue官方推荐的使用的路由库。由于官方文档以单页面为主,而实际项目大多不是这样。所以这篇文章记录一下搭建一个简单Vue应用如何引入Vue-Router。新建项目安装依赖我们还是按照之前《Vue学习(一)——组件基础》的方式初始化项目。vue create router1之后安装依赖npm install这之后我们进入项目的目录并安装Vue-Router。cd route1npm install vue-router --save
2022-01-12 17:15:15
8852
原创 Vue学习(五)——Vuex核心概念(State、Getter、Mutation、Action、Module)
本文会把Vuex的五个核心概念State、Getter、Mutation、Action、Modul都进行介绍和展示
2021-12-14 19:30:49
1848
原创 Vue学习(四)——Vuex入门
Vue的组件的传值方式通常是这样的:父组件给子组件设定属性,子组件从props中取出;子组件通过$emit给父组件发送消息,父组件处理该消息从而获取传值。这种设计理念在遇到诸如兄弟组件传值、祖父节点给孙子节点传值时,就比较麻烦了。所以这种场景可以考虑使用Vuex。
2021-12-08 10:31:21
613
原创 SpringMVC(一)——新建SpringMVC项目
环境准备eclipse:Oxygen.1 Release (4.7.1)servlet:3.1.0新建maven项目关于转换项目为Servlet3.x,请参考《Eclipse新建基于Servlet3.x的maven项目》。SpringMVC传统是通过XML方式配置。后来也增加了java方式配置。XML方式配置先编辑pom.xml<project xmlns="http://maven.apache.org/POM/4.0.0" xm...
2021-10-25 19:35:46
512
转载 jupyter notebook 登陆需密码问题
引用参考:Python-Jupyter notebook更换浏览器时需要输入密码的问题 - 倦刻懒骨 - 博客园使用Jupyter notebook学习Python,打开后如果切换浏览器,提示需要密码。自己在网上查了下,基本解决。1、首先打开Anaconda Prompt(有的写的是cmd命令行,我的反正尝试了是不行的)输入如下 jupyter notebook --generate-config出现如下:Overwrite C:\Users\LENOVO\.jupyter\jupyter_
2021-10-19 09:59:52
2982
原创 Shiro学习(七)——Shiro与web集成
前言Shiro作为一个权限认证框架,最主要的服务对象应该就是JavaWeb。因此如何与web集成是发挥shiro作用的关键。这里以最基础的与servlet集成作为例子。新建简单的servlet应用这里以《Eclipse新建基于Servlet3.x的maven项目》这篇文章的方式构建基本的servlet,就不在本文叙述了。...
2021-10-07 17:12:15
493
原创 Eclipse新建基于Servlet3.x的maven项目
前言好长时间没有玩servlet了,还是十年前在校的时候入门java时折腾一下。最近想用Eclipse新建一个基于Servlet3.x的maven项目,却没想到还折腾了好一阵子。正好写一篇文章作为参考的例子。环境准备eclipse:Oxygen.1 Release (4.7.1)servlet:3.1.0新建maven项目转换为serlvet3.0此时我们发现Dynamic Web Module转换不了3.0,这是本项目最麻烦的地方。我们在...
2021-09-30 18:08:36
261
原创 Shiro学习(六)——MD5加密与盐值
前言上一篇文章讲了shiro如何配置加密服务。这篇文章我们用md5加密算法作为例子。md5算法是常见的加密算法,另外为了提高安全性,通常还会加上盐值。这些如何进行配置呢,在本文进行展示...
2021-09-25 22:49:41
1734
1
原创 xxl-job适配PostgreSQL数据库
xxl-job是xxl系列的任务调度平台,本身默认使用mysql。如果我们的项目需要使用pg数据库,那就必须对其进行适配了。其实修改的核心在于建表语句和mapper中的sql语句变更。不同版本xxl-job的sql是有所不同的,不可能生搬硬套。如果版本不一致时,要先比对不同版本xxl-job的mysql建表语句和mapper之间的区别,然后在给定pg适配语句上修改。切勿生搬硬套!!切勿生搬硬套!!切勿生搬硬套!!这里我以xxl-job 2.3.1版本为例:建表语句:CREATE TABLE
2021-09-17 09:39:31
5742
5
原创 Shiro学习(五)——密码的加密解密
前言前面几篇文章的密码都是以明文形式存储。在真实项目中当然不可能明文存储密码,密码一定是以加密的形式存储的。前面我们可以看到当我们给出帐号和密码后,shiro就会去查找ini配置文件或者数据库对应字段来匹配账号密码。那如果我们把存储的密码加密,shiro又如何根据我们提交的明文密码与存储的加密密码匹配呢?Shiro加密与匹配的原理这里不准备展示源码。相信很多读者看文章时面对大量源码也看得一头雾水,并不能总结出什么来,所以这里大致讲讲思路,有兴趣的读者可以自行跟踪源码。这里以读取ini文件为例
2021-09-09 10:58:33
6476
原创 Shiro学习(四)——认证与授权(ini文件配置与数据库配置方式)
前言安全框架最基本的两个功能是认证和授权。在系列第一篇文章《Shiro学习(一)——Shiro配置与快速开始》中,我们已经通过login验证了其认证功能。本篇主要讲讲授权功能。另外也想讲讲通过数据库方式进行授权的管理。网上搜索以及很多例子基本都是以ini文件配置为主,即使个别使用数据库管理的,也讲得不清不楚,希望这篇文章能让大家搞明白。ini文件配置方式还是先以ini文件配置方式讲起,我们新建文件shiro.ini[users]zhang=123,role1wang=456,r
2021-09-02 17:08:18
931
原创 mybatis学习(二)——各种查询操作示例
前言查询是数据库操作中最频繁,花样最多的操作,没有之一。上一篇文章看来只要在xml里写好sql即可。主要的问题在于各种类型参数如何传参到sql语句里,可能还需要一些动态语句。另外当数据库字段和接收查询结果的实体类属性没对上的话,如何进行映射。事前准备上篇文章我们直接在主程序里面进行。这篇文章开始我们使用junit测试。我是使用Eclipse Oxygen(挺老的版本),Eclipse都是自带junit的,在build path中添加即可,如下图所示:然后我们在src/test/j
2021-07-17 11:52:33
313
1
原创 mybatis学习(一)——快速搭建基于maven的项目
前言本次系列文章不打算把mybatis的各项配置解释得清清楚楚。配置细节不单繁琐,而且官网上篇幅也挺多,觉得没必要把官网的东西搬下来,也没必要每个配置项都各种尝试,否则写一百篇文章也讲不清。更想记录的是做项目中一些比较基础的搬砖式代码的,尤其是mybatis查询中的各种例子,省去每次遇到问题还要自己试验半天。快速开始新建数据库首先在mysql数据库中新建一个名为test的schema,然后新建数据表studentCREATE TABLE `student` ( `id` in
2021-07-14 11:12:59
133
dubbo-admin-2.6.0.war
2019-10-08
LoadRunner入门与提升
2014-08-30
Linux内核设计的艺术
2014-08-30
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人