Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/bansh2eBreak/SpringVulnBoot-backend
/ functions
Functions
498 in github.com/bansh2eBreak/SpringVulnBoot-backend
⨍
Functions
498
◇
Types & classes
132
↓ 391 callers
Method
error
(Object data)
src/main/java/icu/secnotes/pojo/Result.java:55
↓ 191 callers
Method
success
(Object data)
src/main/java/icu/secnotes/pojo/Result.java:45
↓ 85 callers
Method
toString
()
src/main/java/icu/secnotes/pojo/User.java:41
↓ 83 callers
Method
getUsername
()
src/main/java/icu/secnotes/pojo/User.java:17
↓ 26 callers
Method
getId
()
src/main/java/icu/secnotes/pojo/User.java:9
↓ 23 callers
Method
getName
()
src/main/java/icu/secnotes/controller/XML/XxeController.java:516
↓ 23 callers
Method
getPassword
()
src/main/java/icu/secnotes/pojo/User.java:25
↓ 20 callers
Method
getName
()
src/main/java/icu/secnotes/pojo/User.java:33
↓ 19 callers
Method
parseJwt
JWT 令牌解析方法 @param jwttoken @return
src/main/java/icu/secnotes/utils/JwtUtils.java:37
↓ 15 callers
Method
setId
(Integer id)
src/main/java/icu/secnotes/pojo/User.java:13
↓ 13 callers
Method
passwordLogin
账号密码登录
src/main/java/icu/secnotes/mapper/UserMapper.java:53
↓ 11 callers
Method
setName
(String name)
src/main/java/icu/secnotes/pojo/User.java:37
↓ 11 callers
Method
setUsername
(String username)
src/main/java/icu/secnotes/pojo/User.java:21
↓ 10 callers
Method
selectUserById
根据id查询用户,演示sql注入 @param id @return
src/main/java/icu/secnotes/mapper/UserMapper.java:19
↓ 10 callers
Method
setPassword
(String password)
src/main/java/icu/secnotes/pojo/User.java:29
↓ 9 callers
Method
getName
()
src/main/java/icu/secnotes/pojo/Person.java:10
↓ 8 callers
Method
getNodeValue
辅助方法:获取XML节点的文本内容
src/main/java/icu/secnotes/controller/XML/XPathInjectionController.java:190
↓ 8 callers
Method
insertUserLoginLog
插入登录日志
src/main/java/icu/secnotes/mapper/UserLoginLogMapper.java:18
↓ 8 callers
Method
readObject
(ObjectInputStream in)
src/main/java/icu/secnotes/pojo/BadPerson.java:29
↓ 7 callers
Method
getAge
()
src/main/java/icu/secnotes/pojo/Person.java:18
↓ 7 callers
Method
getSecretByUserId
(Integer userId)
src/main/java/icu/secnotes/service/MfaSecretService.java:14
↓ 7 callers
Method
setAge
(Integer age)
src/main/java/icu/secnotes/pojo/Person.java:22
↓ 7 callers
Method
setName
(String name)
src/main/java/icu/secnotes/pojo/Person.java:14
↓ 6 callers
Method
getAttributeValue
获取 LDAP 属性值
src/main/java/icu/secnotes/controller/Other/LdapInjectionController.java:162
↓ 5 callers
Method
escapeHtml
(String s)
src/main/java/icu/secnotes/controller/Other/CrlfController.java:103
↓ 5 callers
Method
getAdminById
根据id获取管理员信息
src/main/java/icu/secnotes/mapper/LoginMapper.java:23
↓ 4 callers
Method
checkSql
sql注入检测
src/main/java/icu/secnotes/utils/Security.java:14
↓ 4 callers
Method
deserializeFromXML
从XML字符串反序列化对象
src/test/java/icu/secnotes/test/XMLDecoderTest.java:66
↓ 4 callers
Method
findById
根据 ID 查询员工完整信息(含敏感字段)
src/main/java/icu/secnotes/mapper/GraphQLMapper.java:23
↓ 4 callers
Method
getCode
()
src/main/java/icu/secnotes/pojo/Result.java:20
↓ 4 callers
Method
getContent
()
src/main/java/icu/secnotes/controller/XML/XxeController.java:503
↓ 4 callers
Method
sendErrorResponse
发送 JSON 错误响应
src/main/java/icu/secnotes/interceptor/PermissionInterceptor.java:117
↓ 3 callers
Method
buildSensitiveData
从 JWT 解析当前登录用户身份,并从数据库查询其 MFA secret 作为敏感数据返回。 MFA secret 是高敏感字段,一旦泄露攻击者可伪造 OTP,直接接管账户。
src/main/java/icu/secnotes/controller/ConfigVuln/CorsController.java:47
↓ 3 callers
Method
changePassword
修改密码 - 二次注入漏洞版本(使用 ${} 拼接 username) ⚠️ 二次注入漏洞原理: 1. 第一次输入(注册):恶意 username 如 "hacker' OR username='admin'#" 被正确转义存入数据库 2. 第二次使用(修改密码):从数据库读取 username
src/main/java/icu/secnotes/mapper/LoginMapper.java:44
↓ 3 callers
Method
deserializeFromXML
从XML字符串反序列化对象
src/main/java/icu/secnotes/controller/Components/XMLDecoderController.java:107
↓ 3 callers
Method
deserializeFromXML
从XML字符串反序列化对象
src/main/java/icu/secnotes/controller/Components/XStreamController.java:156
↓ 3 callers
Method
pageOrderByVuln
ORDER BY 注入 - 漏洞版本(使用 ${})
src/main/java/icu/secnotes/service/UserService.java:15
↓ 3 callers
Method
selectUserByUsername
根据id查询用户,演示sql注入 @param username @return
src/main/java/icu/secnotes/mapper/UserMapper.java:27
↓ 3 callers
Method
updateSmsCodeUsed
更新验证码的使用状态
src/main/java/icu/secnotes/mapper/SmsCodeMapper.java:29
↓ 2 callers
Method
buildMailPreview
构造"模拟邮件预览"返回结构(前端会渲染成邮件卡片)
src/main/java/icu/secnotes/controller/Other/HostHeaderInjectionController.java:131
↓ 2 callers
Method
changePasswordByUserId
修改密码 - CSRF演示版本(通过 userId,不验证旧密码) @param userId 用户ID @param newPassword 新密码 @return 影响行数
src/main/java/icu/secnotes/mapper/LoginMapper.java:53
↓ 2 callers
Method
checkXPath
XPath注入危险字符检测 检测输入中是否包含可能导致XPath注入的特殊字符 @param content 待检测的内容 @return true表示包含危险字符,false表示安全
src/main/java/icu/secnotes/utils/Security.java:132
↓ 2 callers
Method
countUserLoginLogByIp
根据ip统计最近5分钟的登录失败次数
src/main/java/icu/secnotes/mapper/UserLoginLogMapper.java:30
↓ 2 callers
Method
deleteUserLoginLogByIp
根据ip删除所有登录日志
src/main/java/icu/secnotes/mapper/UserLoginLogMapper.java:24
↓ 2 callers
Method
escapeXPath
XPath字符串转义 将XPath字符串中的单引号转义为两个单引号(XPath标准转义方式) @param content 待转义的内容 @return 转义后的内容
src/main/java/icu/secnotes/utils/Security.java:155
↓ 2 callers
Method
extractAlgorithm
从JWT header中提取算法类型
src/main/java/icu/secnotes/utils/JwtRS256Utils.java:121
↓ 2 callers
Method
generateCode
生成短信验证码 @param smsCode
src/main/java/icu/secnotes/service/SmsCodeService.java:11
↓ 2 callers
Method
generateJwt
JWT 令牌生成方法 - 正常生成 @param claims JWT第二部分载荷,payload中存储的内容 @return
src/main/java/icu/secnotes/utils/JwtSignatureUtils.java:19
↓ 2 callers
Method
generateJwt
@param claims JWT第二部分载荷,payload中存储的内容 @return
src/main/java/icu/secnotes/utils/JwtSensitiveUtils.java:18
↓ 2 callers
Method
getFieldName
()
src/main/java/icu/secnotes/controller/SQLI/OrderByInjectionController.java:166
↓ 2 callers
Method
insertMessage
添加留言
src/main/java/icu/secnotes/mapper/MessageBoardMapper.java:15
↓ 2 callers
Method
login
管理员登录 @param admin @return
src/main/java/icu/secnotes/mapper/LoginMapper.java:17
↓ 2 callers
Method
passwordLogin2
(String username, String password)
src/main/java/icu/secnotes/mapper/UserMapper.java:56
↓ 2 callers
Method
saveOriginalZip
(byte[] zipBytes, String originalFilename, String scene)
src/main/java/icu/secnotes/controller/PathTraversal/ZipSlipController.java:182
↓ 2 callers
Method
serializeToXML
将对象序列化为XML字符串
src/main/java/icu/secnotes/controller/Components/XMLDecoderController.java:122
↓ 2 callers
Method
setCode
(Integer code)
src/main/java/icu/secnotes/pojo/Result.java:24
↓ 2 callers
Method
toString
()
src/main/java/icu/secnotes/pojo/BadPerson.java:47
↓ 2 callers
Method
updateAdmin
更新管理员信息(通用动态更新方法) ⚠️ Mass Assignment 漏洞成因(通用方法被滥用): 1. 最初目的:这是为"管理员后台"设计的通用更新方法 - 使用 MyBatis 动态 SQL(<if test>),自动更新传入的所有非空字段 - 管理员可以灵活修改用户的任意信
src/main/java/icu/secnotes/mapper/LoginMapper.java:98
↓ 2 callers
Method
updateUserPassword
更新用户密码
src/main/java/icu/secnotes/mapper/UserMapper.java:62
↓ 2 callers
Method
verifyCode
验证短信验证码 @param phone @param code @return
src/main/java/icu/secnotes/service/SmsCodeService.java:31
↓ 1 callers
Method
DnslogSnakeYamlTest
(Yaml yaml)
src/test/java/icu/secnotes/test/SnakeYAMLTest.java:27
↓ 1 callers
Method
EvilObjectSnakeYamlTest
(Yaml yaml)
src/test/java/icu/secnotes/test/SnakeYAMLTest.java:37
↓ 1 callers
Method
EvilObjectXMLDecoderTest
恶意payload测试方法 - 执行系统命令
src/test/java/icu/secnotes/test/XMLDecoderTest.java:83
↓ 1 callers
Method
JNDISnakeYamlTest
(Yaml yaml)
src/test/java/icu/secnotes/test/SnakeYAMLTest.java:17
↓ 1 callers
Method
ObjectSnakeYamlTest
(Yaml yaml)
src/test/java/icu/secnotes/test/SnakeYAMLTest.java:51
↓ 1 callers
Method
ObjectXMLDecoderTest
()
src/test/java/icu/secnotes/test/XMLDecoderTest.java:19
↓ 1 callers
Method
buildBaseUrl
(HttpServletRequest request)
src/main/java/icu/secnotes/controller/XML/XxeSsrfController.java:43
↓ 1 callers
Method
bytesToHex
(byte[] hash)
src/test/java/icu/secnotes/test/Sha256Test.java:35
↓ 1 callers
Method
changePassword
修改密码 - 二次注入版本(通过 username) @param username 用户名 @param newPassword 新密码 @return 影响的行数
src/main/java/icu/secnotes/service/LoginService.java:16
↓ 1 callers
Method
changePasswordByUserId
修改密码 - CSRF演示版本(通过 userId,不验证旧密码) @param userId 用户ID @param newPassword 新密码 @return 是否修改成功
src/main/java/icu/secnotes/service/LoginService.java:24
↓ 1 callers
Method
changePasswordSecure
修改密码 - CSRF防护(验证旧密码) @param userId 用户ID @param oldPassword 旧密码 @param newPassword 新密码 @return 影响行数
src/main/java/icu/secnotes/mapper/LoginMapper.java:63
↓ 1 callers
Method
changePasswordSecure
修改密码 - CSRF防护(验证旧密码) @param userId 用户ID @param oldPassword 旧密码 @param newPassword 新密码 @return 是否修改成功
src/main/java/icu/secnotes/service/LoginService.java:33
↓ 1 callers
Method
checkCommand
命令执行恶意字符检测
src/main/java/icu/secnotes/utils/Security.java:40
↓ 1 callers
Method
checkFilename
文件名检测
src/main/java/icu/secnotes/utils/Security.java:96
↓ 1 callers
Method
checkIp
合法IP地址检测
src/main/java/icu/secnotes/utils/Security.java:53
↓ 1 callers
Method
checkUserExistsByDollar
使用 ${} 检查用户是否存在(漏洞版本) ⚠️ 漏洞原因: 1. ${} 是字符串替换,直接将参数值拼接到 SQL 中 2. 不进行任何转义和预编译,相当于 JDBC 的字符串拼接 3. 攻击者可以注入任意 SQL 语句 示例: - 正常输入:username = "admin" 生成SQ
src/main/java/icu/secnotes/mapper/BooleanBlindMapper.java:33
↓ 1 callers
Method
checkUserExistsByDollar
使用 ${} 检查用户是否存在(漏洞版本) @param username 用户名 @return 用户数量
src/main/java/icu/secnotes/service/BooleanBlindService.java:13
↓ 1 callers
Method
checkUserExistsBySharp
使用 #{} 检查用户是否存在(安全版本) ✅ 安全原因: 1. #{} 是参数绑定,底层使用 PreparedStatement 2. 自动进行 SQL 预编译和参数转义 3. 用户输入仅作为数据值,无法改变 SQL 结构 示例: - 正常输入:username = "admin" 预编译
src/main/java/icu/secnotes/mapper/BooleanBlindMapper.java:57
↓ 1 callers
Method
checkUserExistsBySharp
使用 #{} 检查用户是否存在(安全版本) @param username 用户名 @return 用户数量
src/main/java/icu/secnotes/service/BooleanBlindService.java:20
↓ 1 callers
Method
checkUsernameExists
检查用户名是否已存在 @param username 用户名 @return 存在返回 1,否则返回 0
src/main/java/icu/secnotes/mapper/LoginMapper.java:115
↓ 1 callers
Method
checkUsernameExists
检查用户名是否存在 @param username 用户名 @return 是否存在
src/main/java/icu/secnotes/service/LoginService.java:55
↓ 1 callers
Method
contextSource
配置 LDAP 上下文源
src/main/java/icu/secnotes/config/LdapConfig.java:31
↓ 1 callers
Method
count
查询总记录数
src/main/java/icu/secnotes/mapper/UserMapper.java:41
↓ 1 callers
Method
countUserLoginLogByIp
(String ip)
src/main/java/icu/secnotes/service/UserLoginLogService.java:13
↓ 1 callers
Method
createCredentials
生成密钥 @return 生成的密钥信息
src/main/java/icu/secnotes/utils/GoogleAuthenticatorUtil.java:17
↓ 1 callers
Method
createMfaSecret
(MfaSecret mfaSecret)
src/main/java/icu/secnotes/service/MfaSecretService.java:8
↓ 1 callers
Method
customShiroRealm
创建自定义Realm
src/main/java/icu/secnotes/config/ShiroConfig.java:74
↓ 1 callers
Method
decodeBasicAuth
HTTP Basic Auth认证信息解码
src/main/java/icu/secnotes/utils/Security.java:75
↓ 1 callers
Method
delete
删除用户的mfa secret字符串,相当于重置MFA @param mfaSecret @return
src/main/java/icu/secnotes/mapper/MfaSecretMapper.java:22
↓ 1 callers
Method
deleteMfaSecret
(MfaSecret mfaSecret)
src/main/java/icu/secnotes/service/MfaSecretService.java:11
↓ 1 callers
Method
deleteUserLoginLogByIp
(String ip)
src/main/java/icu/secnotes/service/UserLoginLogService.java:11
↓ 1 callers
Method
deserializeFromJSON
从JSON字符串反序列化对象
src/main/java/icu/secnotes/controller/Components/JacksonController.java:82
↓ 1 callers
Method
deserializeFromJSON
从JSON字符串反序列化对象
src/main/java/icu/secnotes/controller/Components/XStreamController.java:183
↓ 1 callers
Method
deserializeFromXMLSecurely
使用安全配置的XStream进行反序列化
src/main/java/icu/secnotes/controller/Components/XStreamController.java:192
↓ 1 callers
Method
findAll
查询全部员工列表(不限数量)
src/main/java/icu/secnotes/mapper/GraphQLMapper.java:41
↓ 1 callers
Method
findAll
(Integer limit)
src/main/java/icu/secnotes/service/GraphQLService.java:13
↓ 1 callers
Method
findAllWithLimit
查询员工列表(支持数量限制)
src/main/java/icu/secnotes/mapper/GraphQLMapper.java:32
↓ 1 callers
Method
findById
(Long id)
src/main/java/icu/secnotes/service/GraphQLService.java:11
↓ 1 callers
Method
generateAndDisplayJwt
()
src/test/java/icu/secnotes/test/JwtTest.java:85
↓ 1 callers
Method
generateCodeByPhoneAndCode
(String phone, String code, LocalDateTime createTime, LocalDateTime expireTime)
src/main/java/icu/secnotes/service/SmsCodeService.java:13
next →
1–100 of 498, ranked by callers