问答
发起
提问
文章
攻防
活动
Toggle navigation
首页
(current)
问答
商城
实战攻防技术
漏洞分析与复现
NEW
活动
摸鱼办
搜索
登录
注册
双记一次安服仔薅洞实战-前端JS的相爱相杀
渗透测试
哈喽everyone,我又双回来了,猴子点点的渗透测试工程师这次来分享一个关于前端JS渗透测试的实战教程,这一次也是干公司的项目,老样子还是一个登录框的渗透测试。前端JS通常会泄漏一些接口用于与后台服务器交互,时常会出现未授权或者越权等操作,这一次遇到一个很有意思的接口,下面进入正题吧
哈喽everyone,我又双回来了,猴子点点的渗透测试工程师这次来分享一个关于前端JS渗透测试的实战教程,这一次也是干公司的项目,老样子还是一个登录框的渗透测试。前端JS通常会泄漏一些接口用于与后台服务器交互,时常会出现未授权或者越权等操作,这一次遇到一个很有意思的接口,下面进入正题吧 首先登录框还是那个登录框,他又来了 ![](https://shs3.b.qianxin.com/attack_forum/2022/04/attach-bfe6c7b11a513719c67a1f5dfefd31c0637a338c.png) 用Wappalyzer识别一下看看用了什么技术搭建的网站,一看vue就知道了这是一次很费眼睛的JS前端代码审计了 ![](https://shs3.b.qianxin.com/attack_forum/2022/04/attach-b5fd3714e11dad92547ab2e86c09f698ee9082ea.png) F12到web前端控制台看看,vue框架就是前后端分离的居多,其中有个特性就是js文件很多接口都写在前端,通过js文件去跟服务器后端交互的,先看app这个js文件是主文件,很多接口都写在这个文件里面 ![](https://shs3.b.qianxin.com/attack_forum/2022/04/attach-1068d41de3cc428dbf5f8caf7208162c650d8b49.png) ![](https://shs3.b.qianxin.com/attack_forum/2022/04/attach-fdca5f2fb44492bb448c6a33b95754453a01f7cb.png) 这里教一些前端看代码的小技巧,第一个是js代码格式化,点击下面这个花括号,就能格式化JS代码比较好看 ![](https://shs3.b.qianxin.com/attack_forum/2022/04/attach-7e1031293d0e511edf5ad0296413bae3df18c0c9.png) ![](https://shs3.b.qianxin.com/attack_forum/2022/04/attach-d3de7006c6eca9298c3f626a89f44bdb9693c352.png) 第二点就是如何找接口,通过ctrl+F搜索path: ',就能看到他的路由配置或者直接搜routes或者home(有没有大佬还有好的方法可以评论区说说) ![](https://shs3.b.qianxin.com/attack_forum/2022/04/attach-03b8da7c688b6a2f70cb89e390b40c7b77cfeff0.png) 这里能看到有127个接口,接下来一个个测试 ![](https://shs3.b.qianxin.com/attack_forum/2022/04/attach-7ae5ebf3ed868c135d9347520b8dfb5321f5f1bc.png) ![](https://shs3.b.qianxin.com/attack_forum/2022/04/attach-642158ac5822f4871f978e34b1bc963d53bbaa35.png) 接口这么多我只能说未来可期,发现一个接口是[https://X.X.com/#/](https://smart.zjsuntree.com.cn/#/accountAdd)XXXXconferenceRoomList,拼接直接get请求访问,前端会自动向后端发起对应接口的查询,替换部分参数即可查询到想要查询到信息,未做权限校验,未授权直接调用接口查到一些敏感信息了 ![](https://shs3.b.qianxin.com/attack_forum/2022/04/attach-d7ad234645c98a375ebce276d93569ea3844888f.png) 下面有发现一个接口时XXXXAddressBookByProjectId,也是直接泄漏了地址、姓名、电话等敏感信息 ![](https://shs3.b.qianxin.com/attack_forum/2022/04/attach-45b56f204f6f58a860ebb6508d09da1a790abdbb.png) 下面就不一一展示了,泄漏的东西太多,接下来看到一个很有趣的接口XXXXUserInfo,这明显是一个用户信息的接口,访问后显示系统修复中 ![](https://shs3.b.qianxin.com/attack_forum/2022/04/attach-b93c2087bf417f2861c9fe6522b4453f8daeae55.png) 见到这个不要慌,URL后面直接?id=1试试->不行,把数据包改成POST果然可以了,直接可以遍历用户了,接口还返回了用户名和密码,这不就齐活了 ![](https://shs3.b.qianxin.com/attack_forum/2022/04/attach-279ebc06d29be5b4d894fed9b54afe828d55be57.png) 输入账号密码,直接就进来了,还是管理员权限,真希望以后都遇到这样的开发,我爱死他 ![](https://shs3.b.qianxin.com/attack_forum/2022/04/attach-e76132b3c8c363b0ee12f95ba55d77c64f92b5d8.png) 接下来就找上传接口了,其实在前端找上传接口也有,但是他上传的filename名猜不到,只能进来找找了,果然在合同的地方找到了一个上传 ![](https://shs3.b.qianxin.com/attack_forum/2022/04/attach-a5b01b237e377638a6a08a693e5f184846ca8e69.png) 使用burp抓包上传,一看他的name叫enclosure,牛的这我确实猜不到,一般上传name都是什么upload、file等 ![](https://shs3.b.qianxin.com/attack_forum/2022/04/attach-dbfdee21cbc38dab6462c88051383c23bcf0c6ad.png) 虽然显示导入失败,但是用之前在前端查到接口可以查询这个文件的id,里面是有返回路径的 ![](https://shs3.b.qianxin.com/attack_forum/2022/04/attach-2124437e497d976aeb6847f18629177247de0f63.png) 接着上冰蝎结束这次渗透之旅 ![](https://shs3.b.qianxin.com/attack_forum/2022/04/attach-7a7791bebbbb8129ab08b20fdedcf756256d2d04.png) 总结写在后面,前面也说了找接口用通过ctrl+F搜索path: ',就能看到他的路由配置或者直接搜routes或者home,还有就是有的js下面会配置POST包或者GET包参数,如果POST就是data,GET就是params,不像这次这么简单直接访问就把参数补齐了,我只能说细心再细心很重要~,再见各位期待下次再见。
发表于 2022-04-02 11:17:26
阅读 ( 8989 )
分类:
渗透测试
9 推荐
收藏
7 条评论
边路之虎
2022-06-21 11:26
L师傅你好,看过你的这篇文章深受启发,顿时来了灵感,特地开发了一款工具减少工作量;由于重复点击验证有点麻烦,所以搞了个专门针对vue框架的未授权目录接口扫描工具,https://github.com/zangcc/Aakian-v1.0。
L1NG
回复
边路之虎
不错不错👍
请先
登录
后评论
闲鱼的狗蛋
2022-04-02 10:09
师傅牛皮
请先
登录
后评论
边路之虎
2022-04-02 10:18
牛逼啊
请先
登录
后评论
Admininstrator
2022-04-02 11:53
师傅tql
请先
登录
后评论
俊师傅
2022-04-03 09:07
L师傅牛皮,狂粉~期待下一部创作
请先
登录
后评论
xiemao
2022-04-11 14:15
搜索那块是不是可以用一下JSFinder
请先
登录
后评论
请先
登录
后评论
L1NG
甲方安全
3 篇文章
×
发送私信
请先
登录
后发送私信
×
举报此文章
垃圾广告信息:
广告、推广、测试等内容
违规内容:
色情、暴力、血腥、敏感信息等内容
不友善内容:
人身攻击、挑衅辱骂、恶意行为
其他原因:
请补充说明
举报原因:
×
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!