自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 [极客大挑战 2019]PHP

这里注意,原本生成的序列化字符串中有好几个小方格,但是复制后就没了,我们需要手动写上,看网上说的是将原来小方格的地方写为 %00 ,我也不太清楚为什么,就这样写吧。若在对象的魔法函数中存在的__wakeup方法,那么之后再调用 unserilize () 方法进行反序列化之前则会先调用__wakeup方法,但是。访问链接,根据提示可知,此网站有备份,那么我们用目录扫描器来扫描一下,扫出来www.zipwww.zip。满足上诉条件即可,3和4好满足,关键是如何天国__wakeup方法呢,

2023-01-13 16:45:43 190

原创 [极客大挑战 2019]BabySQL

我们首先用万能密码尝试登录,提示我们账号或者密码错误,可以证明 符号 or并没有起作用,应该是被过滤掉了,也证明了此处仍然存在注入点。然后爆表,这里试了好多次,一直以为information和schema也被过滤了,后来发现并没有,过滤的还是or,from也被过滤了。接下来联合查询进行查询回显的点,仍然报错 ,根据报错信息可知:union,select都被过滤为空了。访问链接,我们看到熟悉的界面,不过页面上的提示内容变了,告诉了我们这里会有过滤。仍然复写绕过,得到回显点,2和3处。

2023-01-12 16:39:54 364

原创 [极客大挑战 2019]Http

应该是对ip做了判断,我们修改x-forwarded-for为127.0.0.1,代表本地,修改后成功得到flag。页面回显提示,说不是从那个网址过来的,很明显我们要修改referer的值。访问网址,出现一个挺好看的页面,大概看一下页面上没有什么可以交互的地方。打开burp进行抓包,修改referer的值为页面中指定的。放出去发现,仍然有提示,意思好像是说我们只能读本地的。放出去之后页面继续提示,让我们用这个浏览器访问。继续抓包,并在前一步的基础上修改ua为指定的。查看页面源代码发现一个网页,我么访问他。

2023-01-10 12:25:08 158

原创 [极客大挑战 2019]LoveSQL

然后爆表名,有geekuser,l0ve1ysq1两个表 注意:数据库名字要用单引号括起来。(这里我在2那个地方注入会报错,只能在3那里注入成功,不知道什么原因)找到flag对应的password,成功发现flag。访问目标地址,出现下面酷酷的页面,最上面有提示。万能语句注入测试,成功,判断为单引号字符型注入。我用sqlmap扫了一下,果然扫不出来注入点。order by为4时报错,为3时页面正常。尝试联合注入,成功,判断列数为3列。接下来爆破数据库名,为geek。接下来测试回显点,为2,3。

2023-01-09 19:32:49 506

原创 [GXYCTF2019]Ping Ping P

发现flag.php,flag应该就在这里面,我们打开这个文件试试,结果报错,space可以理解为空格的意思,应该是空格被代码检查后不被放行。可以在地址栏定义一个变量,然后调用这个变量来拼接成flag,如下图,定义一个变量b,值为lag,然后在后面通过 $ 符号进行引用。不确定,来打开index.php文件试一下,发现可以正常打开,并在其中发现了逻辑代码来做验证。但是过滤成功后还是有报错提示,提示信息改变,跟flag有关,好像还会过滤flag这个关键词。我们在浏览器地址栏输入IP地址进行测试,有结果回显。

2023-01-07 22:18:01 120

原创 [强网杯 2019]随便注

进行多个结果查询,尝试查找漏洞,输入以下语句发现有正则表达式对某些关键词进行过滤(大小写就不用考虑了)然后把flag存在的表`1919810931114514`改名为worlds。ALTER TABLE 表名 CHANGE 旧字段名 新字段名 新数据类型;并且把flag字段改名为data(因为页面中回显的是data字段的值)尝试用其他关键词,比如说show,成功注入,得到两个表。测试整数型还是单双引号型注入,结果为单引号注入。把原来的worlds表改名为word2,执行结束输入万能语句取出我们想要的值。

2023-01-07 18:43:25 51

原创 [ACTF2020 新生赛]Exec

ls,结果如下,证明并没有做一些过滤,因此我们可以利用这一点来读取文件,查找flag文件。|| : 顺序执行各条命令, 只有当前面一个执行失败的时候, 才执行后面的。分号: 顺序地独立执行各条命令, 彼此之间不关心是否失败, 所有命令都会执行。&& : 顺序执行各条命令, 只有当前一个执行成功时候, 才执行后面的。利用cd../来逐级目录查找flag的所在位置,经测试,在输入。打开靶场地址我们发现是一个ping命令输入框,我们尝试输入。

2023-01-06 14:37:34 457

原创 [ACTF2020 新生赛]Include

利用filter协议读文件±,将index.php通过base64编码后进行输出。这样做的好处就是如果不进行编码,文件包含后就不会有输出结果,而是当做php文件执行了,而通过编码后则可以读取文件源码。当它与包含函数结合时,php://filter流会被当作php文件执行。从而导致 任意文件读取。查看tips和flag.php页面源代码,并没有发现什么,只是一些简单的html代码,此时想到应该去获取php文件源代码。简单通俗的说,这是一个中间件,在读入或写入数据的时候对数据进行处理后输出的一个过程。

2023-01-06 13:16:13 237 2

原创 vue基础学习

Vue (发音为 /vjuː/,类似view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。data() {return {count: 0}}声明式渲染:Vue 基于标准 HTML 拓展了一套模板语法,使得我们可以声明式地描述最终输出的 HTML 和 JavaScript 状态之间的关系。响应性。

2022-09-24 22:46:01 398

原创 BootStrap基础学习(一)

col-md-4即占四份,col-md-3即占3份,md和后面的数字可根据实际情况分别换成xs,sm,lg和任何你想要的数字(数字值必须小于等于12,多个行内占比大于12的会自动换行,如下)并不是,而是移动结束的位置存在元素,将移动后的元素覆盖掉了,可见,其他元素并不会收到被执行元素的影响。行内偏移,想往后面移动几份就写几(仍旧不能大于12,否则会自动换行),下面的情况即是移动了两份,执行元素后面的元素会跟着移动。列排序和列偏移有什么区别呢,列偏移移动时后面的元素会跟着动,而列排序移动时,后面的元素不动,

2022-09-24 22:01:27 302

原创 注解pathvariable和 requestparam的区别

RequestParam是接收参数请求的params(就是访问地址中问号后面的内容)由图可知,这样接收前端传入的参数是没问问题的,当我用下面的请求地址访问时,便报错了。而当我将注解换为pathvariable后,问题便得到了解决。@pathvariable是用来接收url路径上的参数。没有深入了解,大概明白了。......

2022-07-31 19:54:45 809

原创 Java-方法(参数,重载,递归)

Java包下面放Java类,类下面放一些方法,方法即可理解为功能,可用这些方法去做一些事方法参数;方法参数就是创建方法时定义的需要在括号里填入的数据;这里面的m,n就是参数,当我们调用这个方法时,需要 给m,n传入相应的值,这个方法才能被使用在这个示例里面main调用了swapNum方法,并给其方法参数赋值a和b,经过运行我们发现,main方法中打印出来的ab数值并未发生变化,原因如下;当启动main方法运行完int b=2;后,会为其创建一个内存空间,将a和b的值存进去,然后调用swapnum方法,运行后

2022-06-06 21:31:21 212

原创 Java-数组,冒泡排序

数组是一中引用数据类型,同一个数组中的元素需要时同一个数据类型,例如,如果有一个是int类型,数组中的所有变量都要是int类型 eg:【1,2,3,6,8,7,9】数组的特点:1.里面的元素按照线性排列,可以通过下标编号来访问数组中的每个元素2.当一个数组被初始化之后,数组的大小便定了下来,即数组的长度不可再变3.数组不仅可以存基本数据类型的数据,还可以存引用数据类型的数据,例如二维数组,只要里面 的数据类型相同就行数组初始化的方式;1.静态初始化:数组名称=new 数据类型[]{元素1,元素2,元素3..

2022-06-06 19:25:10 835

原创 瑞吉外卖项目-08修改,删除分类

前面我们完成了公共字段的填充,今天我们来操作分类,实现分类的新增和删除当我们登陆进来之后,在分类管理栏目中可以对一些菜品进行管理,我们首先来进行删除操作,当我们点击删除按钮时,前端页面会向后端发起请求,通过观察我们可以获得前端的请求方式和地址同时像后端传递参数 ids 因此我们可以同步在后端进行实现,方法很简单,直接调用service层的remove方法,如下...

2022-05-10 17:35:43 579 1

原创 瑞吉外卖项目-07公共字段自动填充

随着业务功能的增加,我们的代码量也越来越多,逐渐我们发现在不同的业务中存在着很多重复的代码,例如,在新增员工时需要设置创建时间、创建人、修改时间、修改人等字段,在编辑员工时需要设置修改时间和修改人等字段。这些字段属于公共字段,也就是很多表中都有这些字段,这导致我们写起来异常繁琐,因此,我们想到了一个解决办法,那就是将这些重复的字段统一处理,以达到简化开发的目的;首先,我们需要在实体类中需要被统一管理的字段上上面加上 @TableField注解,并在内部添加fill属性,INSERT为在执行新增操

2022-05-09 09:53:49 662

原创 瑞吉外卖项目-06员工状态禁用

当我们成功以管理员的身份登陆进主页面时,我们可以对已存在的员工的一些信息进行编辑,今天我们来对员工的状态进行禁用或启用由前端代码可知,员工状态为启用时,点击按钮为“禁用”,我们通过点击禁用即可把状态设置为“禁用”,按钮随之变成“启用”,点击禁用之后,向后端发送id和status,同时状态码status由1变为0,由前端实现,我们在数据库中规定了1为启用状态,0为禁用状态,思路梳理完毕,我们接着编写对应的业务代码,首先创建一个方法,设置相应方式与前端对应,为Put方式,因此我们在方法上写上

2022-05-06 20:37:32 675 2

原创 瑞吉外卖项目-05员工信息分页查询

上一章我们完成了新增员工的功能开发,今天我们进行员工信息的分页查询首先我们要配置分页插件的配置类,MybatisPlusInterceptor是mybatis-plus提供的核心插件,我们提供的插件都将基于InnerInterceptor接口来实现功能 目前已有的功能:自动分页:PaginationInnerInterceptor多租户:TenantLineInnerInterceptor动态表名: DynamicTableNameInnerInterceptor乐观锁:Optimisti

2022-05-01 16:58:17 177

原创 瑞吉外卖项目-04新增员工功能开发

前面我们完成了对登录功能的完善,今天我们来实现增加员工的功能添加从员工表中我们可以发现,每一个员工所具备的属性有id,name,username,,,,,等多种,因此一个完整的员工信息,我们需要把这些元素都给他传入值,经我们观察前端页面可知,前端传来的信息,只有username,name,phone.....等五个,与数据库中需要的信息相比,并不完整,因此,除去前端传来的还缺少的信息,我们需要在后台业务中自己实现, @PostMapping public R<Stri.

2022-05-01 15:52:34 615

原创 瑞吉外卖项目-03过滤器完善登录

在前面项目02中,我们完成了项目登录功能的开发,但是我们发现一个问题,正常情况下我们需要登陆成功才能进入首页面,而此时我们直接输入主页面地址也可以成功访问到主页面,不满足实际需求,因此,我们需要对这一点进行改进。可使用springmvc的拦截器和javaweb阶段的过滤器实现登录拦截,我们此处使用过滤器。在spring boot项目启动类同级目录下创建一个软件包,在包下创建一个继承了Filter的类(类名可以随意,注意继承时不要导错包,应为 import javax.servlet.*;)需要实

2022-04-30 21:41:37 1515 7

原创 瑞吉外卖项目-02登录功能实现

首先我们要先把项目的整体结构搭建起来,如下图common包用来放公共类,config用来放置配置类(在瑞吉外卖项目-01配置前端资源映射器文章下有详细讲解)下面四个分别是控制层,实体类,dao层,业务层,各层中的代码如下common(R.java为通用返回结果类,后端接受前端参数后进行处理,经处理好的结果封装到这个类里面,对于业务比较多的情况下,用此种方式比较方便)@Datapublic class R<T> { private Integer code; //编码.

2022-04-29 19:18:38 2629

原创 瑞吉外卖项目-01配置试图解析器

引入前端资源,放在resources目录下,但是此时静态资源并不能被访问到,因为在Springboot中默认的静态资源路径有:classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,classpath即相当于resources目录,可见直接放在resources下的路径并不在上述四个路径中,因此我们需要配置静态资源映射器,创建步骤为:在与spring boot启动类(Spri

2022-04-28 22:05:43 747

空空如也

空空如也

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

TA关注的人

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