自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 SSRF漏洞利用与防御

SSRF(Server-Side Request Forgery,服务器请求伪造)是一种由攻击者构造请求,由服务端发 起请求的安全漏洞,一般情况下,SSRF 攻击的目标是外网无法访问的内网系统(正因为请求时由 服务端发起的,所以服务端能请求到与自身相连而与外网隔绝的内部系统)。攻击者通过篡改 URL 路径遍历或完全替换它来操纵 URL, 以向他们选择的任意域发出 HTTP 请求。SSRF 攻击可以利用链接到组织基础架构内,不应向用户公开的内部服务或用户不应访 问的外部系统的 URL。

2024-10-06 10:55:40 167

原创 CSRF漏洞利用与防御

CSRF(Cross-site request forgery)简称:跨站请求伪造,存在巨大的危害性。在 CSRF 的 攻击场景中,攻击者会伪造一个请求(这个请求一般是一个链接),然后欺骗目标用户进行点 击,用户一旦点击了这个请求,整个攻击就完成了,所以 CSRF 攻击也称为 one-click attack。

2024-10-04 18:46:04 342

原创 RCE漏洞利用与防御

命令执行漏洞 英文: remote command/code execute 简称RCE,包含远程命令执行和远程代码执行一般出现这种漏洞,是因为应用系统从设计上需要给用户提供指定的远程命令操作的接口,比如我们常见的路由器、防火墙、入侵检测等设备的web管理界面上一般会给用户提供一个ping操作的web界面,用户从web界面输入目标IP,提交后,后台会对该IP地址进行一次ping测试,并返回测试结果。

2024-10-02 23:09:11 694

原创 XSS漏洞

反射型XSS反射型XSS又称非持久性XSS,这种攻击往往具有一次性存储型XSS存储型XSS又称持久型XSS,攻击脚本存储在目标服务器的数据库中,具有更强的隐蔽性DOM型XSSDOM型XSS全称Document Object Model,使用DOM动态访问更新文档的内容、结构及样式。

2024-10-02 20:14:49 246

原创 文件包含、下载读取漏洞(二)

下载

2024-09-29 21:33:55 196

原创 文件包含下载、读取漏洞(一)

什么是文件包含漏洞:随着网站业务的需求,程序开发人员一般希望代码更灵活,所以将被包含的文件设置为变量,用来进行动态调用,但是正是这种灵活性通过动态变量的方式引入需要包含的文件时,用户对这个变量可控而且服务端又没有做合理的校验或者校验被绕过就造成了文件包含漏洞。

2024-09-29 17:13:20 743

原创 文件上传漏洞(二)

使用BP抓取上传1.php的请求包→在路径../upload后加上a.php(../upload/a.php)→选中a.php后面的空格并在inspector的code框里输入00,点击apply changes→修改文件名1.php为1.jpg→send→上传成功。使用BP抓取上传1.php的请求包→将1.php的后缀名改为允许上传的类型(如1.jpg)→在GET请求的url末尾加上a.php%00(目的是使url后面的代码为空失效)→send→上传成功。上传1.php(<?上传hacker.jpg。

2024-09-26 23:40:54 629

原创 文件上传漏洞(一)

文件上传漏洞利用三要素:文件能够允许上传、拿到上传文件的存放路径、上传的脚本能够被解析。方便的智能开发工具——豆包MarsCode(www.marscode.cn)php eval($_POST['cmd']);

2024-09-19 21:17:30 190

原创 Java学习笔记:数组的排序

1、冒泡排序每次拿前一个值跟后一个值进行比较,如果前一个值大就交换,每一轮会把当前的最大值交换到最后,直到排序成功。2、选择排序依次在数组中选择一个值,跟后面所有的值进行比较,如果有值比这个值小,就交换。3、插入排序 把数组分成左右两部分,假设左边部分已经完成排序,依次从第二个元素开始,把每个元素插入到左边合适的位置。完结...

2022-03-08 16:49:00 391

原创 Java学习笔记:数组

一、数组基础数组(Array),是多个相同类型数据按一定顺序排列的集合。使用一个名字命名,并通过编号的方式对这些数据进行统一管理。1、数组的特点:(1)数组一旦初始化长度就固定了,不能再改变。若需要增加、删除、修改数组,需要创建新数组来保存;(2)数组既可以储存基本数据类型,也可以存储引用数据类型;(3)一个数组中的所有元素的数据类型必须相同;2、数组的定义格式:格式一:元素数据类型[ ]数组名=new 元素数据类型 [ 元素个数(数组长度) ];格式二: 元素数据类型...

2022-03-08 13:24:12 383

原创 JavaWeb学习笔记:JavaScript-鼠标悬浮和离开

1、任务:实现在水果库存表中鼠标悬浮时该行背景颜色改变,鼠标离开后恢复原状,且鼠标悬浮在单价单元格出鼠标箭头表为手势。html代码:<html> <head> <meta charset="uf-8"> <link rel="stylesheet" href="css/demo02.css"> <script type="text/javascript" src="js/demo01.js"></script&gt

2022-02-20 13:10:26 1325 3

原创 JavaWed学习笔记:JavaScript语法快速学习

JavaScript:客户端的一个脚本语言,是一门弱类型语言,变量的数据类型由后面赋的值的类型决定;JavaScript数据类型·基本数据类型数值型:JavaScript不分整数、小数;字符型:JavaScript不区分字符、字符串,单引号、双引号意思一样;布尔型:true、false;在JavaScript中其他类型和布尔类型的自动转换true:非零的数值,非空字符串,非空对象;false:零,空字符串,null,undefined;·引用类型所有new出来的对象;

2022-02-19 15:40:51 490

原创 JavaWeb学习笔记:css布局

做如下页面布局:代码:<html><head> <style type="text/css"> body{ margin:0; padding:0; background-color:#808080; } div{ position:relative; } #div_top{ background-...

2022-02-18 16:30:51 200

原创 JavaWeb学习笔记:css的语法

代码和效果:外部样式表代码:1、为什么需要css:使网页变得美观;2、css的分类:标签样式表、类样式表、ID样式表、组合样式表;3、css从位置上的分类:嵌入式样式表、内部样式表、外部样式表;完结...

2022-02-18 12:20:44 209

原创 JavaWeb学习笔记:frameset、iframe标签

frameset代码:效果:(1)frameset 表示页面框架,这个标签已经淘汰,了解即可;frame 表示框架中的具体页面引用;(2)iframe 在一个页面嵌入一个子页面;完结

2022-02-17 16:52:04 228

原创 JavaWeb学习笔记:HTML表单标签

代码:demo04中的代码:效果:点击注册按钮跳转到demo04:(1)表单 form->action的值为请求发送的地址;(2)input type="text" 表示文本框,其中name属性必须要指定,否则将来这个文本框的数据是不会发送给服务器的;(3)input type="password" 表示密码框;(4)input type="radio" 表示单选按钮,需要注意的是,name属性值保持一致,这样才会有互斥的效果;(5)input type..

2022-02-17 14:00:45 307

原创 JavaWeb学习笔记:HTML中的table标签

(1)表格 table; 行 tr; 列 td; 表头列 th; 直线 hr;(2)table中有如下属性(虽然已经淘汰,但是最好了解一下) border 表格边框粗细; cellspacing 单元格间距; cellpadding 单元格填充; tr只有一个对齐方式属性:align-> center,left(默认),rigth; rowspan 行合并; colspan 列合并;...

2022-02-17 10:34:49 249

原创 JavaWeb学习笔记:HTML中的基础标签

(1)html语言是解释型语言,不是编译型语言,浏览器是容错的;(2)html页面中由一对标签组成:<html> </html>,<html>称之为开始标签,</html>称之为结束标签;(3)title表示网页的标题;(4)可以在meta标签中设置编码方式;(5)<br/>表示换行,br标签是一个单标签。单标签:开始标签和结束标签是同一个,斜杠放在单词后面;(6)p表示段落标签;(7)img标签为图片标签,src...

2022-02-16 20:44:58 223

原创 Java学习笔记:对象流

使用对象流的目的是为了让对象持久化(把对象存储到本地)供使用时调用。1、对象输出流:将对象信息写入到本地文件2、对象输入流:将本地文件中的对象读出完结

2022-02-13 15:14:04 242

原创 Java学习笔记:打印流

用来做数据的显示和打印完结

2022-02-13 14:02:59 229

原创 Java学习笔记:缓冲流

任务:读取D:\file\再别康桥.txt中的内容并写入到D:\file\再别康桥1.txt中注:在进行输出流操作时要调用.flush( );方法清空缓冲区,并将缓冲区数据强制写入文件中

2022-02-13 13:54:01 135

原创 Java学习笔记:字符输入、输出流

1、字符输入流

2022-02-13 13:30:35 224

原创 Java学习笔记:字节输入、输出流

1、字节输入流将磁盘中的文件获取到程序中

2022-02-12 17:09:13 136

原创 Java学习笔记:文件相关操作

文件可认为是一系列数据的集合,文件一般存放在存储介质上:硬盘、U盘,光盘、软盘、云盘等。java.io.File类(只能对文件本身进行操作,不能对文件内容操作)是专门对文件进行操作的类,具体操作如:创建、删除文件和重命名等。在操作一个文件前先创建File对象:File file=new File(String path); //path为文件路径...

2022-02-11 17:59:40 312

原创 Java学习笔记:I/O流介绍

在程序中我们经常涉及到两种操作,一是将网络或者磁盘中的数据读取到程序中,称为输入流;二是将内存中的数据写入到磁盘中,称为输出流。比如一个简单的复制粘贴,都会涉及到文件中的输入和输出操作。文件读写的操作也被称为I/O操作,Java提供了针对不同情况的处理流的类,这些类在Java的io包中。Java中引入了“流”的概念,它表示任何有能力产生数据源或有能力接受数据源的对象。将数据理解为水,数据传输为水的运输,比如钢管运水和水桶运水,不同的运输方式对应不同的运输特性。流的分类按流向分输入流:程序

2022-02-11 15:42:38 209

原创 Java学习笔记:泛型

1、泛型泛型的本质是参数化类型,是将类的类型参数化,具体调用的时候再给具体的类型。这种参数类型可以用在类、方法和接口的创建中,方便称为泛型类、泛型接口和泛型方法。我们知道JAVA中所有的参数必须提前声明参数类型,例如方法的形参中,如果我们在定义这个方法时不知道这个参数的类型,要等具体调用时才知道,这时我们可以使用泛型来代替那些定义时还不明确的参数类型。2、定义格式泛型类:public class 类名 <T> { }泛型接口:public interface 接口名 <

2022-02-10 20:04:33 1647

原创 Java学习笔记:Map集合

1、Map集合介绍Map集合通过键值对(key-value)的形式来存储数据。(键值对:一个对象并不是单纯的只有一个内容,而是包含key和value两部分内容,key和value存在对应关系)Map中key可以为任意类型,实际开发建议使用String,value也可以是任意类型。Map集合通过键获取值,查询速度非常快。2、Map的实现类HashMap(使用频率最高)(无序);TreeMap(自然升序);HashTable(无序);三个实现类使用步骤类似,我们以HashMap为

2022-02-10 16:55:46 1047

原创 Java学习笔记:Iterator迭代器

1、什么是迭代器?迭代器是一种设计模式,它是一个对象,它可以遍历序列中的对象,而开发人员不需要了解该序列的底层结构。在之前的学习中我们可以用来遍历集合的方式有:for循环(需要有索引);for-each循环(需要类型统一)。2、JAVA中迭代器的实现步骤:(1)使用方法.iterator( )要求容器(集合就是一个容器)返回一个Iterator,第一次调用Iterator的.next( )方法时,它返回序列的第一个元素;(2)使用.next( )方法获得序列中的下一个元素;(3)使用

2022-02-10 15:36:38 294

原创 Java学习笔记:Set集合

1、什么是Set接口?Set接口是Collection接口的子接口,存放的元素无序且不允许重复(没有索引信息,不能调用.get()方法)。Set接口没有提供Collection接口额外的方法,也就是仍然使用Collection接口已经定义好的方法,这一点和List接口类似。2、Set接口常用的实现类有:HashSet:散列存放,无序;TreeSet:有序存放,自然排序(并非按照存入顺序);Set接口存、取、删对象都有很高的效率。HashSet原理:根据每个对象的哈希码值(调用.h

2022-02-10 12:33:19 225

原创 Java学习笔记:List集合

1、什么是List接口?List接口是Collection接口的子接口,存放的元素有序且可以重复。List集合类常用的有:ArrayList(重点) LinkedList Vector(知道即可)2、使用ArrayList创建ArrayList对象:ArrayList 对象名=new ArrayList();创建对象后我们可以使用Collection接口中的方法对ArrayList各种操作,这些方法是定义在Collection接口中的方法,所以Collection接口中其他集合类...

2022-02-09 16:30:36 544

原创 Java学习笔记:集合框架

1、集合框架介绍集合框架是java中一系列关于集合的实现类和接口。集合可以看作是一个容器,用来存储对象(集合只能存对象)。跟之前所学习的数组类似,但特性不一样,集合的功能更强大,集合类的空间容量是可以调整的。集合类都位于java.util包下。2、集合和数组的区别(1)集合专门用来存放对象,数组可以存放基本类型等数据;(2)集合中的数据可以是不同类,数组中只能存放同类型数据;(3)数组一旦被定义不可以修改,集合中的数据可以被修改;3、集合框架结构Java的集合框架从整体上可.

2022-02-09 14:32:24 276

原创 Java学习笔记:StringBuffer和StringBuider

1、使用StringBuffer和StringBuider的意义Java字符串一旦被定义就无法修改,我们之前对字符串的各种修改都是通过在内存中不同的开辟新的空间的方式进行的,这种方式非常影响程序运行的性能。我们可以使用StringBuffer和StringBuider类来实现字符串的直接修改。2、使用StrngBuffer的步骤 (1) 使用StringBuffer声明字符串对象;(2)使用.append()方法添加字符串;.append()方法可以多次调用实现多次拼接,这个操作..

2022-02-08 14:25:14 147

原创 Java学习笔记:正则表达式

1、正则表达式定义了字符串的模式,定义了字符串的各种匹配规则,可以用来搜索、编辑或处理文本。在Java中我们使用Pattern类来操作正则表达式。想象我们正在写一个应用,用户名需要设置成由字母、数字、下划线的组合且长度不宜过长,这时我们就可以使用正则表达式来定义相应的书写规则了。·入门案例1:查看手机号符合规则 1开头,总共11位数字...

2022-02-08 13:13:27 435

原创 Java学习笔记

java学习数天后的第一篇博客,从正则表达式开始。

2022-02-08 11:53:43 174

空空如也

空空如也

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

TA关注的人

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