File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1616
1717## 分类
1818
19- 当前问题总数:100
19+ 当前问题总数:102
2020
21- [ Java本身的安全问题 - 23个 ] ( https://github.com/4ra1n/JavaSecInterview/tree/master/java )
21+ [ Java本身的安全问题 - 25个 ] ( https://github.com/4ra1n/JavaSecInterview/tree/master/java )
2222
2323[ Shiro框架相关的安全问题 - 8个] ( https://github.com/4ra1n/JavaSecInterview/tree/master/shiro )
2424
@@ -58,6 +58,8 @@ https://y4er.com/
5858
5959https://paper.seebug.org/1689/
6060
61+ https://www.anquanke.com/post/id/151398
62+
6163## Star
6264
6365![ ] ( https://starchart.cc/4ra1n/JavaSecInterview.svg )
Original file line number Diff line number Diff line change @@ -292,4 +292,34 @@ jdbc:mysql://attacker/db?queryInterceptors=com.mysql.cj.jdbc.interceptors.Server
292292
293293### RASP如何绕过(★★)
294294
295- 使用` JNI ` 是比较通用的办法,具体到每一种漏洞类型,也会有其他的绕过方式(参数污染,特殊字符等等)
295+ 使用` JNI ` 是比较通用的办法,具体到每一种漏洞类型,也会有其他的绕过方式(参数污染,特殊字符等等)
296+
297+
298+
299+ ### 简单谈一谈SecurityManager是干什么的(★★★)
300+
301+ ` Java Security Manager ` 的一个典型应用场景是` JVM ` 需要加载运行一段代码,但是这段代码是不可信的
302+
303+ 例如来自用户的输入上传和反序列化指定的` bytecode ` 或者使用` URLClassLoader ` 在网络中远程加载等
304+
305+ 这些情况下,需要防止不可信来源的恶意代码对系统造成破坏。其实这就是沙箱的应用场景
306+
307+
308+
309+ ### 谈一谈SecurityManager的绕过姿势(★★★★)
310+
311+ (1)单等号` +home ` 目录可写导致` Java Security Manager ` 绕过
312+
313+ 例如这样指定` policy ` 文件:` -Djava.security.policy=java.policy `
314+
315+ (2)通过` setSecurityManager ` 绕过` Java Security Manager `
316+
317+ 恶意代码可以在运行时调用` setSecurityManager ` 方法将` SecurityManager ` 置为` null ` 以绕过
318+
319+ (3)通过反射绕过` Java Security Manager `
320+
321+ 反射调用` getProtectionDomain0 ` 方法将所有` hasAllPerm ` 属性设置为` true `
322+
323+ (4)自定义类加载器绕过
324+
325+ (5)通过` JNI ` 调用` native ` 方法绕过
You can’t perform that action at this time.
0 commit comments