自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(51)
  • 收藏
  • 关注

原创 CTF-Web习题:2019强网杯 UPLOAD

本题涉及知识点:代码审计、文件上传漏洞、反序列化漏洞

2024-07-22 19:41:37 193

原创 CTF-Web习题:[HFCTF2021]Unsetme

本题涉及知识点:php代码执行漏洞,payload的编辑

2024-07-18 21:55:08 381

原创 CTF-Web习题:[BJDCTF2020]ZJCTF,不过如此

本题涉及PHP文件包含漏洞以及伪协议等知识点

2024-07-18 02:00:24 403

原创 CTF-Web习题:[BJDCTF2020]Mark Loves cat

本题知识点:目录扫描、.git源码泄露、PHP变量覆盖漏洞

2024-07-17 01:52:52 371

原创 CTF学习记录(一)——Web基础

日常HTTP请求中,例如回车,Tab,或者存在特殊意义的字符,如&(分割参数),#(锚点)等无法手工输入,倘如在解题时需要输入,就要用到URL编码,URL编码会将这些字符转换成%+16进制的ASCII码。这题的难点是通过观察发现并推断出可能是git文件泄露,书上P22用的是.py的解法,我用的是安装班githacker的解法,书上的方法也有参考的必要,毕竟安装版的很麻烦,还要配置环境变量。UA头的作用是:某些应用会根据UA头判断客户端类型,例如必须要用微信客户端访问,或者说禁止某些浏览器访问。

2024-07-10 01:24:05 648

原创 《汇编语言》第四版——课程设计1 代码记录

题目编写一个汇编程序,将实验7中的公司数据按照下图的格式在屏幕上显示出来每列含义为:年份、公司收入、雇员人数、员工平均收入数据:data segment db '1975','1976','1977','1978','1979','1980','1981','1982','1983' db '1984','1985','1986','1987','1988','1989','1990','1991','1992' db '1993','1994','1995' ;以上是表示21年的21个字

2021-09-20 23:50:57 1053

原创 《汇编语言》第四版——实验九

题目编程:在屏幕中间分别显示绿色、绿底红字,白底蓝字的字符串’welcome to masm!’。具体的材料知识参考课本分析两层循环,外层循环控制显示的行,内层循环控制每一行中数据的复制,需要用到的数据在data段中定义好,方便循环,熟练运用各种寄存器来灵活地定位地址是结题的必要条件,寄存器不够用的话就用栈暂存。代码assume cs:code,ds:datadata segment db 'welcome to masm!' dw 06e0h,0780h,0820h ;显存第一页第

2021-09-19 22:45:21 2085

原创 《汇编语言》第四版——实验七

实验七——《寻址方式在结构化数据访问中的应用 》这个实验对于初学而言确实比较复杂,用到了前8章几乎所有的知识点,但这的确也是前8章最好的总结性实验。题目assume cs:codedata segment db '1975','1976','1977','1978','1979','1980','1981','1982','1983' db '1984','1985','1986','1987','1988','1989','1990','1991','1992' db '1993','

2021-09-17 09:36:28 4043 1

原创 SSM中编译后的classes文件夹下没有配置文件的解决方案

pom.xml中加入以下代码<build> <resources> <!-- 配置maven扫描配置文件 --> <resource> <directory>src/main/java</directory> <includes> <include>**/*.properti

2021-07-28 03:58:57 457

原创 浏览器发送查询请求报404,后台报出DispatcherServlet.noHandlerFound No mapping for GET xxx 的解决方案(IDEA)

SSM整合出现深坑BUG:浏览器发送 http://localhost:8080/team/list 请求查询所有,报这个错,所有网上的解决方案都看了一遍,所有所有项目细节都检查了N遍,搞了五六个小时,没搞出来,最后的最后自己整出来了,思路如下DispatcherServlet.noHandlerFound No mapping for GET /team/list顾名思义,请求走了DispatcherServlet,但是找不到请求映射方法。首先可以肯定的是,配置文件加载到了,那么spring.xml,

2021-07-28 03:36:41 3298 1

原创 MyBatis 动态SQL

什么是动态SQL?根据不同的条件生成不同的sql语句搭建环境create table blog( id varchar(50) not null comment '博客id', title varchar(100) not null comment '博客标题', author varchar(30) not null comment '博客作者', create_time datetime not null comment '创建时间', views int(

2021-07-21 15:15:56 86

原创 从0搭建一个MyBatis程序

一、搭建环境思路:搭建环境→导入MyBatis→编写代码→测试1.1、搭键数据库#创建一个数据库,命名为mybatiscreate database `mybatis`;#使用该库use `mybatis`;#创建一张用户表create table `user`( `id` int(20) not null primary key, `name` varchar(30) default null, `pwd` varchar(30) default null)engine=inno

2021-07-19 11:00:34 110

原创 SpringMVC请求html页面报出406问题及解决方案

刚学习完SpringMVC框架,为了巩固,打算将之前的项目升级成SpringMVC项目,却遇到了地址栏提交/admin/login.html请求访问登录页面却返回406的问题,但是,却可以访问其他静态资源网页。这里有个前提,我的Controller中的登录方法的请求url是/admin/login我在springmvc的配置文件中明确配置了<mvc:default-servlet-handler/>以过滤静态资源请求,为什么还会出现这样的问题一般情况下返回406,是因为后台接收到了请求

2021-07-16 15:59:28 1159

原创 Java高级——枚举、注解与反射

前言枚举、注解、反射是三个Java中最重要,也是最容易被忽视的三个技术。很多人只知道利用框架机械性地使用它们,但是对原理掌握不扎实,下面一起从根本来理解它们。一、枚举1.1 枚举简介JDK1.5引入了一个新的类型——枚举在JDK1.5之前,我们定义常量都是:public static final xxx很难去管理。而枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法。枚举:用于定义有限数量的一组同类常量,例如:错误级别:低、中、高、紧急一年四季:春、

2021-05-21 17:45:28 241

原创 AJAX——异步处理技术

AJAX学习笔记

2021-05-15 21:47:19 1063

原创 Git与版本控制

Git与Gitee的学习记录

2021-05-10 17:16:50 351 1

原创 LeetCode636 函数的独占时间

题目解题思路:函数的调用满足完全包含关系,可以使用栈来处理,函数开始调用则入栈,结束调用则出栈,想办法之前的一次函数操作时间即可。函数独占时间指的是:当前函数从开始到结束时间段内没有再进行函数调用的时间段函数调用(入栈)时,如果有父函数,那么就要结算父函数的独占时间(当前函数的调用时间-父函数的调用时间),如果没有父函数,直接入栈,记录时间即可。函数结束(出栈)时,要立即结算其独占时间(结束时间-开始时间+1),如果有父函数,那么逻辑上当当前函数结束调用,父函数会在(当前函数结束时间+1)的时

2021-05-07 20:45:54 186 1

原创 LeetCode227 基本计算器II(重点)

题目给你一个字符串表达式 s ,请你实现一个基本计算器来计算并返回它的值。整数除法仅保留整数部分。解题思路本题利用栈来求解,定义两个栈,一个存数字,一个存运算符,我们可以先明确一个点,逻辑上讲数字栈的元素个数是永远比运算符栈多一位的,所以当运算符栈存运算符,那么就可以直接对数字栈进行弹栈运算操作,当当前的运算符想要入栈时,需要判断它与栈顶运算符的优先级,来决定是否进行运算操作,当程序运行到最后,利用手动补充到字符串末尾的@运算符来计算最后剩下的表达式,最终数字栈将只存在一个元素,运算符栈将剩下一个

2021-05-07 17:49:03 106

原创 LeetCode331 验证二叉树的前序序列化

题目序列化二叉树的一种方法是使用前序遍历。当我们遇到一个非空节点时,我们可以记录下这个节点的值。如果它是一个空节点,我们可以使用一个标记值记录,例如 #例如,上面的二叉树可以被序列化为字符串 “9,3,4,#,#,1,#,#,2,#,6,#,#”,其中 # 代表一个空节点。给定一串以逗号分隔的序列,验证它是否是正确的二叉树的前序序列化。编写一个在不重构树的条件下的可行算法。每个以逗号分隔的字符或为一个整数或为一个表示 null 指针的 ‘#’ 。你可以认为输入格式总是有效的,例如它永远不会包含两

2021-05-07 10:00:36 117

原创 LeetCode 145 二叉树的后序遍历(重要)

题目给定一个二叉树,返回它的 后序 遍历。解题思路本题我们不使用递归的方式,而是使用栈的方式来实现,实例化两个栈,s1存储树节点,s2存储树节点的状态码,状态码共有3个值0,1,2;0代表该节点需要压入左节点,1代表该节点需要压入右节点,2代表左右子树都遍历完了,输出本节点。代码public List<Integer> postorderTraversal(TreeNode root) { if(root == null){ return ne

2021-05-06 19:16:47 84

原创 LeetCode1249 移除无效的括号

题目给你一个由 ‘(’、’)’ 和小写字母组成的字符串 s。你需要从字符串中删除最少数目的 ‘(’ 或者 ‘)’ (可以删除任意位置的括号),使得剩下的「括号字符串」有效。请返回任意一个合法字符串。有效「括号字符串」应当符合以下 任意一条 要求:空字符串或只包含小写字母的字符串可以被写作 AB(A 连接 B)的字符串,其中 A 和 B 都是有效「括号字符串」可以被写作 (A) 的字符串,其中 A 是一个有效的「括号字符串」解题思路本题可以使用栈实现,我使用的是创建模拟栈顶指针变量来实

2021-05-06 14:36:32 106

原创 LeetCode 1021 删除最外层的括号

题目有效括号字符串为空 ("")、"(" + A + “)” 或 A + B,其中 A 和 B 都是有效的括号字符串,+ 代表字符串的连接。例如,"","()","(())()" 和 “(()(()))” 都是有效的括号字符串。如果有效字符串 S 非空,且不存在将其拆分为 S = A+B 的方法,我们称其为原语(primitive),其中 A 和 B 都是非空有效括号字符串。给出一个非空有效字符串 S,考虑将其进行原语化分解,使得:S = P_1 + P_2 + … + P_k,其中 P_i 是有效括

2021-05-06 12:45:05 199

原创 LeetCode 20 有效的括号

题目给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。解题思路本题满足完全包含关系,也就是说我们可以使用栈来解题,遍历字符串,当遇到左括号(、[、{时,将其入栈,当遇到右括号时,判断栈顶元素是否是对应的左括号,如果是则弹栈,最后判断栈是否为空即可。代码public boolean isValid(String s) { Stack<Charac

2021-05-06 11:48:30 75

原创 LeetCode946 验证栈序列

题目:给定 pushed 和 popped 两个序列,每个序列中的 值都不重复,只有当它们可能是在最初空栈上进行的推入 push 和弹出 pop 操作序列的结果时,返回 true;否则,返回 false 。示例 1:输入:pushed = [1,2,3,4,5], popped = [4,5,3,2,1]输出:true解释:我们可以按以下顺序执行:push(1), push(2), push(3), push(4), pop() -> 4, push(5), pop() -> 5,

2021-05-05 18:52:57 78

原创 Leetcode844 比较含退格的字符串

题目给定 S 和 T 两个字符串,当它们分别被输入到空白的文本编辑器后,判断二者是否相等,并返回结果。 # 代表退格字符。注意:如果对空文本输入退格字符,文本继续为空。示例 :输入:S = “ab#c”, T = “ad#c”输出:true解释:S 和 T 都会变成 “ac”。解题思路利用栈解决,扫描字符串,遇到"#"时,弹栈即可代码public static boolean backspaceCompare(String s, String t) { return Objec

2021-05-05 16:20:36 99

原创 LeetCode682 棒球比赛

题目你现在是一场采用特殊赛制棒球比赛的记录员。这场比赛由若干回合组成,过去几回合的得分可能会影响以后几回合的得分。比赛开始时,记录是空白的。你会得到一个记录操作的字符串列表 ops,其中 ops[i] 是你需要记录的第 i 项操作,ops 遵循下述规则:整数 x - 表示本回合新获得分数 x "+" - 表示本回合新获得的得分是前两次得分的总和。题目数据保证记录此操作时前面总是存在两个有效的分数。"D" - 表示本回合新获得的得分是前一次得分的两倍。题目数据保证记录此操作时前面总是存在一个有效

2021-05-05 15:42:06 117

原创 LeetCode 面试题03.04 化栈为队

题目:实现一个MyQueue类,该类用两个栈来实现一个队列。解题思路:实例化两个栈s1(入队),s2(出队);入队操作时元素压入s1中,出队操作时判断s2是否为空,若为空那么依次将s1中的元素压入s2中,若不为空,s2出栈即可。代码:static class MyQueue { Stack<Integer> stack1; Stack<Integer> stack2; /** Initialize your data str

2021-05-05 13:54:27 92

原创 递归解决表达式求值问题

题目:要求输入一个表达式字符串,利用递归,求解表达式的值如:(5 * 10) + ((3 * 6) - 7)解题思路找到表达式中优先级(数值)最低的运算符,以该运算符分割表达式,然后递归求解。设定:+、- 优先级数值为 1,*、/优先级数值为 2,如果遇到(,那么之后遇到的运算符优先级数值都+100,当遇到)时,优先级数值-100代码变量声明:char[] c:存储表达式中的每一个字符的字符数组op:用于定位优先级最小的运算符的位置(字符数组下标),初始值-1pri:用于记录当前处理的表

2021-05-05 12:55:11 411

原创 JavaWeb——文件上传与下载

JavaWeb文件上传与下载功能实现学习记录

2021-05-01 13:02:58 224

原创 JavaWeb——JSP

JSP学习记录

2021-04-27 13:41:22 472

原创 JavaWeb——监听器、过滤器以及会话跟踪技术

监听器,过滤器,Session以及Cookie学习记录

2021-04-27 13:35:55 279

原创 JavaWeb——Servlet

Servlet学习记录

2021-04-22 22:52:40 292

原创 JavaWeb——Tomcat

tomcat学习记录

2021-04-21 17:18:58 443

原创 简洁高效的JQuery

jQuery·学习记录

2021-04-17 22:02:02 178

原创 JavaScript基础

javascript学习记录

2021-04-11 21:23:19 3386

原创 CSS与CSS3布局美化

CSS学习记录与常用样式收录

2021-04-08 16:18:57 153

原创 HTML与HTML5常用标签

HTML常用标签

2021-04-01 21:11:31 321

原创 JAVA操作数据库——JDBC

JDBC学习记录

2021-03-30 21:52:23 620

原创 数据库进阶——事务

数据库事务的基本概念记录

2021-03-27 14:28:23 112

原创 MySQL——数据查询综合练习

SQL 查询语句综合练习

2021-03-25 15:46:33 1880

空空如也

空空如也

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

TA关注的人

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