网站优化网,网页设计尺寸大小指的是什么,深圳龙华区鹭湖社区,四川做网站设计哪家好前言
现在的攻防演练不再像以往那样一个漏洞直捣黄龙#xff0c;而是需要各种组合拳才能信手沾来#xff0c;但是有时候使尽浑身解数也不能诚心如意。
前期信息收集
首先是拿到靶标的清单 访问系统的界面#xff0c;没有什么能利用的功能点 首先进行目录扫描#xff0c;…前言
现在的攻防演练不再像以往那样一个漏洞直捣黄龙而是需要各种组合拳才能信手沾来但是有时候使尽浑身解数也不能诚心如意。
前期信息收集
首先是拿到靶标的清单 访问系统的界面没有什么能利用的功能点 首先进行目录扫描扫描发现存在xxx.zip的文件放置在web目录上
一般zip文件大部分情况都是开发运维人员做系统维护时留下的备份文件在系统上线后并没有将其删除于是底裤即源代码都直接给到了攻击者
来到这一步都以为是一路高歌轻松拿下没想象到是跌宕起伏伏伏伏伏…
先使用wget下载zip文件文件总共200mb很有概率是源代码的打包 从文件内容可判断该系统是使用的.net开发可通过dnspy进行审计 文件上传漏洞审计
拿到源码后的第一个思路是寻找文件上传漏洞
果不其然在源码中找到uploadimg接口发现未对上传的文件格式进行过滤 实际访问接口发现怎么改变文件格式、文件内容、Content-Type、还是各种变种传输都无济于事。
帮助网安学习全套资料S信免费领取 ① 网安学习成长路径思维导图 ② 60网安经典常用工具包 ③ 100SRC分析报告 ④ 150网安攻防实战技术电子书 ⑤ 最权威CISSP 认证考试指南题库 ⑥ 超1800页CTF实战技巧手册 ⑦ 最新网安大厂面试题合集含答案 ⑧ APP客户端安全检测指南安卓IOS
返回包永远是{Status:1,Datanull}
运维实在是坏呀~ Sql注入漏洞审计
第二个思路就是找注入
但是代码中定义了一个SqlChecker全局的类强制处理所有用户传参找注入这个方向有有点难啃了 系统用户信息遍历
找到/api/user/getusers接口 接口没有做鉴权构造请求包发送返回包返回系统所有用户信息
其中用户信息包括姓名、出生日期、微信账号、手机号码、邮箱、密码等等 伪造jwt_token获取系统管理员-拿下靶标
源码获取到jwt_token的secret 但是该secret不是可读性文本估计是随机生成的byte字节序列因此不能自行使用cyberchief或者其他工具将token直接生成
这里有个坑点开始是使用gpt生成的脚本进行secret的读取和token的生成发现gpt在处理字节上面有点问题生成的jwt_token不能使用于是自行编写了个py脚本进行jwt_token的构造首先我们将字节序列做16进制的转化为了python能够使用bytes.fromhex()函数读取16进制化的secret然后根据上面读出的用户信息伪装admin账号身份并设置一个较长的ExpireTime 拿到jwt_token之后要如何使用才能拿到后台呢这里首先要明白该系统的登录鉴权机制
由于他存在注册功能我们便可在自行注册一个账号然后进行登录查看认证处理流程
从数据包里面得知登录成功后会返回jwt_token和一些与用户相关的一些信息前端会根据返回的身份信息跳转到对应的页面并且功能接口都会带上jwt_token进行请求以便获取系统数据 了解清楚后就开始进行身份伪造首先去后台登录系统 将登录返回包的内容替换为管理员账号的token从python脚本中生成和管理员用户的身份信息 通过鉴权后终于成功获取管理员后台靶标5000分到手哈哈 总结
本次渗透从惊喜到怀疑到失落总的来说就是“山穷水尽疑无路柳暗花明又一村”。
如果只是死磕文件上传、SQL注入这些能够快速获取权限的洞反而有时会错过一些有用的信息毕竟比赛中分数才是最要紧的如何高效快速拿下靶标才是第一要领。
同时代码审计的过程中要结合系统功能来多方面评估本次挖洞也是先认真理解了系统的登录认证机制才知道有jwt鉴权这种方式从而萌生在代码中找jwt secret的想法也才能把快到手的分数牢牢抓在自己手中。