File tree Expand file tree Collapse file tree 2 files changed +31
-1
lines changed
Expand file tree Collapse file tree 2 files changed +31
-1
lines changed Original file line number Diff line number Diff line change 1818
1919## 分类
2020
21- [ Java本身的安全问题 - 12个 ] ( https://github.com/4ra1n/JavaSecInterview/tree/master/java )
21+ [ Java本身的安全问题 - 15个 ] ( https://github.com/4ra1n/JavaSecInterview/tree/master/java )
2222
2323[ Shiro框架相关的安全问题 - 7个] ( https://github.com/4ra1n/JavaSecInterview/tree/master/shiro )
2424
Original file line number Diff line number Diff line change @@ -193,3 +193,33 @@ LinkedHashSet.readObject()
193193- 了解缩小反序列化Payload的手段吗(★★★)
194194
195195首先最容易的方案是使用Javassist生成字节码,这种情况下生成的字节码较小。进一步可以用ASM删除所有的LineNumber指令,可以更小一步。最终手段可以分块发送多个Payload最后合并再用URLClassLoader加载
196+
197+
198+
199+ - 谈谈实战中命令执行有哪些回显的办法(★★★★)
200+
201+ 首先想到的办法是` dnslog ` 等技术进行外带,但必须出网,有限制
202+
203+ 然后类似内存马的思路,针对指定中间件找` response ` 对象写入执行结果
204+
205+ 尝试写文件,往` web ` 目录下写,例如` xx.html ` 可以访问到即可
206+
207+ 将命令执行结果抛出异常,然后用` URLClassLoader ` 加载,达到报错回显
208+
209+ Y4er师傅提到的自定义类加载器配合RMI的一种方式
210+
211+
212+
213+ - 有没有了解过针对` linux ` 的通杀的回显方式(★★★★)
214+
215+ 获取本次` http ` 请求用到` socket ` 的文件描述符,然后往文件描述符里写命令执行的结果
216+
217+ 但鸡肋的地方在于需要确定源端口,才可以使用命令查到对应的文件描述符,存在反代可能有问题
218+
219+
220+
221+ - 是否存在针对` windows ` 的通杀的回显方式(★★★★)
222+
223+ 原理类似` linux ` 的通杀回显,在` windows ` 中` nio/bio ` 中有类似于` linux ` 文件描述符这样的句柄文件
224+
225+ 遍历` fd ` 反射创建对应的文件描述符,利用` sun.nio.ch.Net#remoteAddress ` 确认文件描述符有效性,然后往里面写数据实现回显
You can’t perform that action at this time.
0 commit comments