只会Top10也能挖SRC赚外快!全套信息收集、账号接管、多洞实战流程,可直接复刻
0x01 简介深度复盘单一企业SRC全维度挖洞过程整合多平台资产数据通过手工测试突破防护限制先后发现社区XSS、SQL盲注、接口越权、一键账号接管等漏洞。详解字典爆破、参数污染绕过、ticket劫持等核心技术技巧干货实用性极强。本文仅用于技术学习与合规交流严禁非法滥用。因违规使用产生的一切后果由使用者自行承担与作者无关。现在只对常读和星标的才展示大图推送建议大家把渗透安全HackTwo“设为星标”否则可能就看不到了啦参考文章末尾可领取挖洞资料/加圈子 #渗透安全HackTwo0x02 正文详情信息收集思路开展目标企业资产摸排时第一步全面梳理企业主体、下属分公司、子公司全部相关域名尽可能收拢业务覆盖的所有线上入口。依托鹰图、Fofa 等网络空间测绘平台检索关键词批量导出关联 IP、域名、端口、站点等线上资产清单。同时搭配子域名爆破工具二次主动探测挖掘测绘平台遗漏的隐性子域名。社区评论中的xss在社区评论模块测试发现页面可正常解析 a 标签尝试 javascript 伪协议被系统拦截过滤。转而测试各类鼠标触发事件大量事件均可正常执行。但该评论需要后台人工审核才能对外展示且漏洞无法窃取用户 Cookie整体利用条件受限。最终该漏洞评估危害有限平台发放 500 元漏洞奖金。这类 XSS 限制较多难以实现高危攻击属于低风险可利用漏洞。在社区评论的地方测一下a标签发现可以解析使用伪协议发现被过滤了直接跑一遍事件发现有太多可以用了例如鼠标移动到元素上方触发的事件由于弹不了cookie且评论需要审核才能发布危害没有那么大只给了500rmb任意用户注册漏洞置空鉴权字段不仅仅在登录口,在查询处,鉴权处都是很经典的思路如jwt置空加密字段,个人信息置空回显站点全部信息,最简单的思路往往能造成最致命的问题置空鉴权字段不仅仅在登录口,在查询处,鉴权处都是很经典的思路如jwt置空加密字段,个人信息置空回显站点全部信息,最简单的思路往往能造成最致命的问题进入站点简单熟悉一下业务,发现存在注册功能,未注册的账户会自动注册,登录注册均是同一接口(划重点)正常bp抓包进行注册,接口/xjky-server/xjky-biz-server/app/open/sms/registerAndLogin记录了注册手机号及短信验证码以及一串不知道的tenantId,正确的验证码会返回Token,后续请求带上Token对用户进行身份信息认证{openId:“307332password:“307332”username:“15xxxxx454tenantId:0ff61e364ea44c44a9b27c9198alcdd9}将此接口发送到重发器测试,置空验证码,同样成功请求并返回token,为了确认新生成的token是否为新号码,在此站点也测试了有一会,熟悉了业务,有一个接口可以通过token回显个人信息替换后响应包返回loginId对应的正是我尝试任意注册的号,那么此账号已经成功被注册记录好187号码所生成的token响应包,来到登录功能点,验证码随意输入,拦截响应包替换响应内容为任意生成生成的token而后一直放包会登录到187账户,图片未截取完,不过已经是进入了187个人信息页面当我测试完成任意注册后,发觉登录口和注册均是一套接口,只是未登录过的账号会自动注册/xjky-server/xjky-biz-server/app/open/sms/registerAndLogin任意用户注册攻击置空验证会产生token,那么**如果是我拿到已登录的账户,在此登录口同样进行置空验证码操作,是否也会返回对应号码token**呢我正常注册了一位138账户进行模拟,省略过程,直接来到登录口进行测试,模拟攻击者不知道验证码的情况,随意输入然后拦截响应包纯粹的置空让其不做校验然后放包同我想的一样,只要置空验证就可以绕过登录验证,直接根据号码生成token,直接任意用户登录接管账户,又可以吃N顿馒头了从点到面的挖掘过程起初登录界面无法暴力破解注册流程也需要人工审核。翻阅帮助手册摸清账号命名规则账号为机构简称搭配学号默认密码和账号一致。登录需要携带凭证密码经过 Base64 编码。先后搭建学生、教师两套字典爆破学生账号无果爆破教师账号时多次出现 500 报错最终成功跑出两个高权限教师账号。平台按学校做好隔离不同院校数据互不互通。获取多个测试账号登录界面如下如图是无法进行爆破密码的正常注册也是需要审核好在还有一个帮助页面有个使用手册手册就有几个非常关键的信息给出了演示环境的账号格式真实的账号格式为简称学号简称可以直接登录页面查询默认密码即为账号学号的格式基本也是固定的很容易就找到回到登录页面看下流程这里有个获取类似于凭证的请求包最后一个数据包则带着这个凭证还有账号密码去请求密码一眼就能看出来是base64编码这就可以尝试爆破测试账号一个大公司每个系统的项目组都不一样而都需要从这个界面登录理论上应该有非常多的测试账号能爆破出来测试账号最好测试风险低点稍微构造下字典爆破方式选择第三个两个字典一一对应的去跑第二个字典选择base64编码即可这里爆破了400个账号是没有爆破成功在刚刚学生使用手册的地方还有一个教师手册继续构造字典爆破一波这里爆破到200多之后都是500服务器错误了不过好在成功爆出来两个接下来就是开盲盒时间使用上面账号登录直接就是金色传说权限很高的教师账号这里教师账号管理功能只有两个账号估计往上还有个超管的权限学生账号就比较多了一共1w多个均为测试大学下的测试账号这里是看不到其他真实学校的账号的估计学校和学校之间做了很明确的隔离限制任意账号接管平台个人中心支持微信绑定登录刷新页面的数据包依靠用户 ID 生成微信绑定链接。ID 无法直接遍历但考试、作业等功能接口会泄露各类账号 ID。拿到目标 ID 替换请求参数即可生成他人的微信绑定地址。扫码完成绑定后清理缓存就能用微信登录接管账号。学生端接口可轻易拿到教师 ID低权限账号也能拿下高权限账户风险覆盖面广。右上角个人设置功能有个绑定微信的功能这里F5刷新一下会加载如下数据包会根据id值返回一个绑定微信到此账号的链接因为是可以使用微信直接登录此平台的只要获取到目标账号id值就可以把我的微信尝试绑定到目标账号上虽然是不可遍历的但是有很多途径可以获取到这个id值在一个考试的系统中有个新建题库功能过程中可以选择显示全部教学负责人开启抓包返回了目标id在一开始数据包直接替换这个id即可打开访问然后拿自己微信扫一扫提示微信号绑定成功这里需要先清除下浏览器缓存然后拿这个微信扫码登录成功接管了其他账号这个功能需要教师权限才行不过拿学生账号也很容易接管到教师的账号例如下面功能点抓包即可看到教师的id其他类似于老师发布的作业、公告、考试功能都可以获取到这个值1-click任意账号接管跳转子系统过程中抓包发现 302 跳转携带 ticket 参数后续凭借 ticket 换取登录 token。修改跳转链接 service 地址为自身服务器即可诱导用户访问并劫持 ticket。ticket 存在时效性需要快速拿凭证换取 token超时则失效。拿到有效 token 替换至浏览器请求就能直接登录受害者子系统账号。该漏洞操作简便一次诱导便可完成账号接管危害范围覆盖全部关联子业务。跳转到某个系统的时候发现如下数据包302跳转的时候有个ticket下一个数据包则是带着上面的ticket去获取一个token拿着这个token就可以登录到这个子系统了这里将第一个数据包中的service参数中的url改为baidu.com这时如果把百度改为自己的服务器就可以盗取到受害者的这个ticket再通过这个ticket获取token然后接管受害者账号这里本地启动一下http作为演示成功获取到ticket这里需要快一点获取token不然ticket就会失效直接替换token浏览器打开即可sql注入1访问站点内嵌的业务地址提交数据时发现内容直接拼接进 SQL 语句。直接注入会抛出 SQL 报错于是对照页面返回语句调整闭合方式利用 order by 判断出数据表存在四列。随后使用联合查询测试回显位置页面多位置均可正常带出查询内容。依靠可回显的注入点顺利读取数据库数据整体利用门槛较低仅需要调整语句闭合逻辑即可绕过基础拦截完成脱库。点击其中某个系统js里面有几个地址访问之后是下面这个页面随便输入点击提交直接可以登录并且加载很多同一个数据包具体如下随便输入几个字符可以看到是拼接到了sql语句里面这里尝试注入都提示sql异常这里先按照他返回的语句重新写上然后再把后面的注释掉观察哪里可以加入注入语句这里把order by语句当成正常的联合查询就行先判断是有四列然后使用联合查询判断回显位发现全部回显了成功注出数据sql注入2课程系统存在 order by 字段注入sleep 延时会触发 403 封禁。测试发现 if 函数不受拦截借助参数污染完成绕过执行延时可延迟 4 秒推测是语句重复执行导致。确认数据表共 8 列延时函数无法使用便选择布尔盲注逐字符猜解。最终测出数据库名一共八位字符该注入较为隐蔽常规扫描很难发现依赖参数拼接技巧才可利用。其中某个学习课程系统典型的 order by 注入后端语句大概为 order by asc 这样这里随便输入一个比较大的数基本可以确定存在sql注入如果不存在注入应该返回还是上面那个正常的值然后判断列数是有8列尝试if函数发现不会被拦截加入sleep函数直接403经过测试在后面拼接orderType使用参数污染即可绕过当条件11时延时4秒这里为什么会延时四秒大概率是因为他有两条数据查询了两次之类的剩下就是基础的盲注了判断当前数据库共有8位越权我注册普通账号账号本身无任何业务数据。通过脚本爬取前端暴露的一百多个接口批量尝试请求多数返回报错少数正常回显数据。顺着有效接口找到配套新增、修改、删除接口修改请求参数重放数据包成功改动他人数据。很多站点仅做前端限制后端鉴权缺失借助前端泄露接口 Fuzz 测试就能实现水平越权篡改数据。某个系统注册的账号但是没有任何数据前端有很多接口写个脚本爬取一下一共100多个接口构造字典跑一下其中很多403、504、400只有几个接口返回了数据这时候返回包的参数是非常有用的可以先全局搜索一下这个有数据的接口发现还有新增、删除、编辑等功能点替换接口把上面返回包的第一条数据复制到请求包然后修改某个参数的值为下面这样再去查询的那个数据包查看这条数据成功被修改了其他类似于你只有查询的权限但通过前端泄露的接口一般都会写在一块实在没有可以fuzz一波可以越权编辑、删除未授权文件上传某个系统前端泄露了路由当我直接浏览器访问的时候他会加载一些接口返回code为401然后跳到登录界面自动修改返回的值为200再重新浏览器访问path来到下面这个页面实际还是没有权限的这里有两个主要思路第一就是去找上传文件下载文件的功能点一般这种地方不会做鉴权第二就是它会加载很多登录页面没有的js文件去寻找有没有能深入利用的地方这里就找到了一个新增的功能点有个添加附件的功能这里如果点击受托人也是没有权限可以未授权上传svg文件导致xss0x03 总结一开始东一榔头西一棒子乱测毫无收获沉下心收拢全网资产手工细抠接连挖出 XSS、多类型 SQL 注入、验证码绕过任意注册、多重账号接管、越权与未授权上传漏洞。各类绕过技巧全靠抓包反复试错老系统防护套路多踩坑无数才找到突破口。挖洞不靠工具堆料拼细心和耐心慢慢扒接口总能揪出问题合规挖洞拿赏金安心薅补贴喜欢这类文章或挖掘SRC技巧文章师傅可以点赞转发支持一下谢谢

相关新闻

最新新闻

日新闻

周新闻

月新闻