11 2020 档案
摘要:XML的解析: 操作xml文档,将文档中的数据读取到内存中。 操作xml文档 解析(读取):将文档中的数据读取到内存中 写入:将内存中的数据保存到xml文档中,持久化的存储。 解析xml的方式: DOM:将标记语言文档一次性加载进内存,在内存中形成一颗dom树 优点:操作方便,可以对文档进行CRUD
阅读全文
摘要:XML概念 Extensible Markup Language 可扩展标记语言 可扩展:标签都是自定义的。 XML的功能 存储数据 配置文件 在网络中传输 XML与HTML的区别 xml标签都是自定义的,html标签是预定义。 xml的语法严格,html的语法松散 xml是存储数据的,html是展
阅读全文
摘要:概念 注释:用文字描述程序的。给程序员看的。 注解:说明程序的,是给计算机看的。 定义:注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、美剧是在同一个层次的。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素
阅读全文
摘要:反射:框架设计的灵魂 框架:半成品软件。可以在框架的基础上进行软件开发,简化编码。 反射:将类的各个组成部分封装为其他对象,这就是反射机制。 好处: 可以在程序运行过程中,操作这些对象。 可以解耦,提高程序的可扩展性。 获取Class对象的方式: class.forName("全类名"):将字节码文
阅读全文
摘要:Junit单元测试 测试分类 黑盒测试:不需要写代码,给输出值,看程序是否能够输出期望的值。 白盒测试:需要写代码的。关注程序具体的执行流程。 junit使用:白盒测试 步骤: 定义一个测试类(测试用例) 建议: 测试类名:被测试的类名Test CalculatorTest 包名:xxx.xxx.x
阅读全文
摘要:通过对象名引用成员方法 使用前提是对象名是已经存在的,成员方法也是已经存在的,就可以使用对象名来引用成员方法。 代码演示 //创建一个成员方法 package day17; public class MethodRerObject { //定义一个成员方法,吧字符串大写输出 public void
阅读全文
摘要:概述 在使用lambda表达式的时候,我们实际上传递进去的代码就是一种解决办法:拿什么参数做什么操作,那么考虑一种情况:如果我们在lambda中所指定的操作方案,已经有地方存在相同的方案,那么是否还有必要再重写重复逻辑。 代码演示 package day17; public class Demo01
阅读全文
摘要:Stream流属于管道流,只能被消费(使用)一次 第一个Stream流调用完毕方法,数据就会流转到下一个Stream上 而这时第一个Stream流已经使用完毕,就会关闭了。 所以第一个Stream流就不能再调用方法了。 IllegalStateException:Stream has already
阅读全文
摘要:使用Stream流的方式,对集合中的数据进行过滤 Stream流是JDK1.8之后出现的 关注的是做什么,而不是怎么做。 package day15; import java.util.ArrayList; import java.util.List; public class Demo01 { p
阅读全文
摘要:package day14; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.ServerSoc
阅读全文
摘要:TCP通信程序 概述: TCP通信能实现两台计算机之间的数据交互,通信的两端,要严格区分为客户端(Client)与服务端(Server)。 两端通信时步骤: 服务端程序,需要事先启动,等待客户端的连接。 客户端主动连接服务器端,连接成功才能通信。服务端不可以主动连接客户端。 在JAVA中,提供了两个
阅读全文
摘要:软件结构 C/S结构:全称为Client/Server结构,是指客户端和服务器结构。常见程序有qq,迅雷等软件。 B/S结构:全称为Browser/Server结构,是指浏览器和服务器结构。常见浏览器有谷歌、火狐。 网络通信协议 网络通信协议:通过计算机网络可以使多态计算机视线连接,位于同一个网络中
阅读全文
摘要:打印流 java.io.PrintStream:打印流 PrintStream:为其他输出流添加了功能,使他们能够方便地打印各种数据值表示形式。 PrintStream特点: 只负责数据的输出,不负责数据的读取。 与其他输出流不同,PrintStream永远不会抛出IOException。 有特有的
阅读全文
摘要:对象序列化和反序列化的概述 把对象以流的方式,写入到文件中保存,叫写对象,也叫对象的序列化。 ObjectOutputStream:对象的序列化流 把文件中保存的对象,以流的方式读取出来,叫读对象,也叫对象的反序列化。 ObjectInputStream:对象的反序列化流。 对象的序列化流 java
阅读全文
摘要:字符编码 计算机中存储的信息都是用二进制数表示的,而我们在屏幕上看到的数字、英文、标点符号,汉字等字符是二进制数转换之后的结果,按照某种规则,将字符存储到计算机中,称为编码,反之,将存储在计算机中的二进制数按照某种规则解析显示出来,称为解码。比如说,按照A规则存储,同样按照A规则解析,那么就能显示正
阅读全文
摘要:dnslog注入 dnslog注入主要用于布尔型盲注、时间型盲注、有注入但是无显示,注入线程太大容易被waf拦截等情况。主要原理就是利用load_file这个函数,这个函数的目的是读取本地文件,也可以对外发送请求,利用这个函数,我们再使用concat函数将我们想要执行的语句和dnslog的网址拼接起
阅读全文
摘要:phpmyadmin日志getshell phpmyadmin日志getshell应该算是很常规的日志getshell,简单来说,就是我首先先开启日志记录我输入的命令,然后在找到网站绝对路径的情况下(可以使用命令先获取数据库的位置,然后推算网站绝对路径),将日志的存在地址修改为前端可以访问的地址,然
阅读全文
摘要:使用缓冲流复制文件 步骤: 创建字节缓冲输入流对象,构造方法中传递字节输入流 创建字节缓冲输出流对象,构造方法中传递字节输出流 使用字节缓冲输入流对象中的方法read,读取文件 使用字节缓冲输出流的方法write,把读取的数据写入到内部缓冲区中 释放资源(会先把缓冲区中的数据,刷新到文件中) 代码演
阅读全文
摘要:sqlmap --os-shell执行原理 对于mysql数据库来说,--os-shell的本质就是写入两个shell文件,其中的一个可以让我们用来执行命令,而另外一个,如果在网站访问的话,可以让我们可以上传文件。 说到写入shell,就要说一下两个限制条件,首先,我们需要知道上传文件的两个限制条件
阅读全文
摘要:缓冲流原理 缓冲流,也叫高效流,是4个基本的FileXxx流的曾倩,所以也是四个流,按照数据类型分类: 字节缓冲流:BufferedInputStream,BufferedOutStream 字符缓冲流:BufferedReader,BufferedWriter 缓冲流的基本原理,是在创建流对象时,
阅读全文
摘要:使用Properties集合存储数据,遍历取出Properties集合中的数据 java.util.Properties集合 extends Hashtable<k,v> implements Map<K,v> Properties类表示了一个持久的属性集,Properties可保存在流中,或从流中
阅读全文
摘要:字符流 使用字节流读取中文文件 1个中文: GBK:占用两个字节 UTF-8:占用3个字节。 当使用字节流读取文本文件时可能会有一些小问题,就是遇到中文字符时,可能不会显示完整的字符,那是因为一个中文字符可能占用多个字节存储,所以java提供了一些字符流,以字符为单位读写数据,专门用于处理文本文件。
阅读全文
摘要:读取字节数据 读取数据的原理(硬盘-->内存) java程序-->JVM-->OS-->OS读取数据的方法-->读取文件。 字节输入流的使用步骤(重点) 创建FileInputStream对象,构造方法中绑定要读取的数据源。 使用FileInputStream对象中的方法read,读取文件。 释放资
阅读全文
摘要:端口转发(复现) 0x00 前期准备 1.环境准备: 端口转发的目的是,和一个未开启3389端口的内网服务器远程连接。所以我们需要准备的是一台内网服务器,和一台公网服务器。 2.条件准备 想要进行端口转发,首先我们要先知道这台内网服务器远程连接的端口是哪个。 利用代码: tasklist /svc
阅读全文
摘要:一切皆为字节 一切文件数据(文本、图片、视频等)在存储时,都是以二进制数字的形式保存,都一个一个的字节,那么传输时一样如此。所以,字节流可以传输任意文件数据。在操作流的时候,我们要时刻明确,无论使用什么样的流对象,底层传输的始终为二进制数据。 字节输出流【OutputStream】 java.io.
阅读全文
摘要:打点漏洞选择 首先,清楚web打点的目的,是为了获取目标网站权限。简单来说,就是为了拿shell。 在漏洞选择上,我们可以放弃一些以获取信息为目的的漏洞。例如:反射型xss,越权,逻辑支付等漏洞。 比较常见,也是所有人在学习渗透基础时候都会学的能拿到权限的漏洞,有两个: SQL注入。 文件上传。 S
阅读全文
摘要:FileFilter过滤器的原理 在file类中有两个和listFiles重载的方法,方法的参数传递的就是过滤器。 File[] listFiles(FileFilter filter) java.io.FileFilter接口:用于抽象路径名(File对象)的过滤器。 作用:用来过滤文件(File
阅读全文
摘要:递归概念 指在当前方法内调用自己的这种现象。 递归的分类: 递归分为两种,直接递归和间接递归。 直接递归称为方法自身调用自己。 简介递归可以用A方法调用B方法,B方法调用C方法,C方法调用A方法。 注意事项: 递归一定要有条件限定,保证递归能够停止下来,否则会发生栈内存溢出。 在递归中虽然有限定条件
阅读全文
摘要:File类概述 java.io.File类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。 java把电脑中的文件和文件夹(目录)封装为了一个File类,我们可以使用File类对文件和文件夹进行操作。 我们可以使用File类的方法: 创建一个文件/文件夹 删除文件/文件夹
阅读全文