前言
记录如何拿到一所学校该如何攻打,寻找漏洞的手法和思路,在分析可疑资产的时候,只举例两个,实际上从学校域名到漏洞站点,花费了很多的时间,一个一个站点分析,猜测,最后才找的漏洞站点,一定要细心。
0x1 信息收集
1、收集资产可疑的站点
假设我们的学校为“xxx 大学”,通过 Google 找到 https://www.xxx.edu.cn/ 主域名地址,然后将 xxx.edu.cn ,直接丢到灯塔中去扫描子域名和敏感文件,打 edu 一般就开这两个功能点,或者通过 fofa、鹰图一些资产测绘的去收集信息。
等到灯塔扫描完成后,我直接查看文件泄露的信息,所谓渗透不就是从资产的薄弱面去攻击吗,看看有无一些敏感信息泄露,然后根据泄露信息的站点进一步的攻击,比使用 fofa 通过 domain=“xxx.edu.cn”扫出的信息,更有目标性。
2、分析可疑资产
发现一个子域名,报错为 spring boot,通常这中,直接使用曾哥的 spring boot-scan 扫描结果,看会不会出结果。
扫过之后,又尝试拼接路径,还是木有出现任何信息。放弃看下一个。
。。。。。
发现一个地址存在 xxx.edu.cn:8080/prod-api/这个接口一看就是若依啊,访问但是直接报错
尝试在后面加上若依的的常见路径,试一下,还是报错,直接将 prod-api这个路径删除,加载的页面,经典的若依系统。
可以注册,直接注册用户登录
0x2 漏洞挖掘
进来之后,随便点点,查看数据包,有无敏感信息之类的,因为若依系统后台漏洞就那几个,sql 注入、计划任务、接口泄露信息等,但是这个系统,因该被修复过,注入点什么也没有发现。
像这种 spring 的站点,在查看个人信息的地方最 happy了,也是最容易出现信息泄露的问题
查看个人信息的数据包,观察是否可以遍历?
将 profile 改为 list、Infolist、page 等,直接告诉我们没有权限
欧克,将若依敏感路径跑一遍
/system/duplicate/check
/system/fillRule/add
/system/fillRule/delete
/system/fillRule/deleteBatch
/system/fillRule/edit
/system/fillRule/executeRuleByCode/
/system/fillRule/exportXls
/system/fillRule/importExcel
/system/fillRule/list
/system/fillRule/testFillRule
/system/gatewayRoute/clearRedis
/system/gatewayRoute/delete
/system/gatewayRoute/list
/system/gatewayRoute/updateAll
/system/getEncryptedString
/system/log/list
/system/login
/system/loginfo
/system/logout
/system/message/systemMessage/add
/system/message/systemMessage/delete
/system/message/systemMessage/deleteBatch
/system/message/systemMessage/edit
/system/message/systemMessage/list
/system/message/systemMessageTemplate/add
/system/message/systemMessageTemplate/delete
/system/message/systemMessageTemplate/deleteBatch
/system/message/systemMessageTemplate/edit
/system/message/systemMessageTemplate/list
/system/message/systemMessageTemplate/sendMsg
/system/online/forceLogout
/system/online/list
/system/oss/file/delete
/system/oss/file/list
/system/oss/file/upload
/system/permission/add
/system/permission/addPermissionRule
/system/permission/delete
/system/systemDepartRole/deptRoleUserAdd
/system/systemDepartRole/edit
/system/systemDepartRole/getDeptRoleByUserId
/system/systemDepartRole/getDeptRoleList
/system/systemDepartRole/list
/system/systemUserAgent/add
/system/systemUserAgent/edit
/system/systemUserAgent/queryByUserName
/system/tenant/add
/system/tenant/delete
/system/tenant/deleteBatch
/system/tenant/edit
/system/tenant/list
/system/tenant/queryById
/system/tenant/queryList
/system/third/user/checkPassword
/system/third/user/create
/system/thirdApp/getEnabledType
/system/thirdApp/recallMessageTest
/system/thirdApp/sendMessageTest
/system/thirdApp/sync/dingtalk/depart
/system/thirdApp/sync/dingtalk/user
/system/thirdApp/sync/wechatEnterprise/depart
/system/thirdApp/sync/wechatEnterprise/user
/system/thirdLogin/bindingThirdPhone
/system/thirdLogin/getLoginUser/
/system/thirdLogin/oauth2/
/system/thirdLogin/render/
/system/upload/uploadMinio
/system/user/add
/system/user/addSystemUserRole
/system/user/changePassword
/system/user/checkOnlyUser
/system/user/delete
/system/user/deleteBatch
/system/user/deleteRecycleBin
/system/user/deleteUserInDepart
/system/user/deleteUserInDepartBatch
/system/user/deleteUserRole
/system/user/deleteUserRoleBatch
/system/user/departUserList
/system/user/edit
/system/user/editSystemDepartWithUser
/system/user/exportXls
/system/user/frozenBatch
/system/user/generateUserId
/system/user/getCurrentUserDeparts
/system/user/getMultiUser
/system/user/list
/system/user/passwordChange
/system/user/phoneVerification
/system/user/putRecycleBin
/system/user/queryByIds
/system/user/queryByOrgCodeForAddressList
/system/user/queryUserByDepId
/system/user/queryUserComponentData
/system/user/queryUserRole
/system/user/recycleBin
/system/user/register
没有一个成功的,发现一个点,只有 /prod-api/system/user//prod-api/system/role/这两个接口,提示说参数类型不匹配,其他都是错误报错
根据提示,将 user 和 role 的后面改为数字 1,就查到 admin 的敏感信息
遍历数字 1,即可拿到系统内所有人的敏感信息,但是 password 是加盐的,解不开,不过可以获得其他人身份证号和邮箱地址,手机号等信息
想要获取其他的漏洞,但是都存在鉴权,拿不到管理员的权限
所以这个站就先这样了。