感觉自己写的不够详细于是便修改补充了一下
今天也是闲来无事,于是对科创进行了一次漏洞挖掘逛了一圈,发现了科创网多处功能点存在CSRF(跨站请求伪造漏洞)
首先我们来了解下什么是CSRF漏洞:
直白来说就是攻击者盗用了你的身份,以你的名义发送恶意请求,对服务器来说这个请求是完全合法的,但是却完成了攻击者所期望的一个操作,比如以你的名义关注某个了用户,修改用户账户的个人信息
了解完CSRF后接下来我们开始进入主题,首先我们需要分析科创网的功能点
首先我们找到一个用户的主页 我们这里以虎哥的主页为例子
可以看到上面有关注用户的功能,关注了那就是虎哥的粉丝了。我们点击一下关注然后再抓一下请求内容的数据包,然后我们可以看到它是发送了一个POST请求到XXXXXXXXXXXXXXXXXXXXXXXX/u/10/subscribe,并携带了一个请求包内容为{"cid":[]}是用来添加关注分类的,无分类时cid则为空值。发送请求成功后便成功关注成为了虎哥的粉丝
再看看请求的地址可以看到XXXXXXXXXXXXXXXXXXXXXXXX/u/10/subscribe当中有个数值为10再看看虎哥的KCID也是为10这个时候可以猜测地址中的10就是KCID就是用来控制关注的用户的,我们可以尝试看看修改为其他用户的KCID看看会不会成功关注,看尝试修改为科创喵的KCID看到也是成功关注了,所以可以确定地址中的数值就是用来控制关注的用户的,并且数值为用户ID
可以看到这里所带的请求包和地址内部没有使用token进行校验(请求中以参数的形式加入一个随机产生的 token,并在服务器端建立一个拦截器来验证这个 token,如果请求中没有 token 或者 token 内容不正确,则认为可能是 CSRF 攻击而拒绝该请求 ,如果请求中没有 token 或者 token 内容不正确,则认为可能是 CSRF 攻击而拒绝该请求),如果这个时候也没有检查 Referer则很有可能会存在CSRF漏洞,直接写POC验证下有没有就知道了,这里选择直接扔给burp生成一个POC
可以看到这里是创建了一个创建了form 表单并指定了请求的地址和请求类型并在点击按钮后上传表单
先取关虎哥,然后再用开启本机代理使用Burp构建跨域环境
复制地址到浏览器访问,可以看到是访问到了没有对Referer来源进行检查,再去看看有没有成功关注到
看这里也是请求成功成功关注到了,那么验证是存在CSRF漏洞的
这样来的话那么我只需要将KCID修改成我自己的然后再构建恶意链接放上科创网诱导兄弟们点击是不是就可以刷粉了,就像这样,不过很明显自己是不能关注自己的
当然存在CSRF漏洞的点也不只有这里关注收藏专栏和文章,还有加入黑名单这里也存在了CSRF漏洞,也是只要构造链接给兄弟们点击一下就会在你自己都不知道都情况下就把别人拉黑了,或者在你自己不知情的情况下关注了别人的专栏或者收藏别人的文章
可以看到上面请求包上面的Uid就是用来控制拉黑的用户的,只要修改为用户对应的KCID就可以把对方拉黑了。当然我也是都有复现过了,其他功能点的测试步骤都一样就不都放出来了。
当然修复防止CSRF的方法也是有的比如:验证HTTP Referer字段、在请求地址或者请求包内添加token进行验证等等这些我相信科创的技术人员们肯定比我懂,就不过多赘述了。到这里也就结束了,感谢科创的师傅们,还请各位师傅们多多关照
[修改于 6个月23天前 - 2024/02/17 13:15:50]
进行渗透工作,请拿到授权书
宣布漏洞,请得到所有者授权
我虽然确信KC不会小题大做针对你,但是别把自己的习惯搞坏了
进行渗透工作,请拿到授权书宣布漏洞,请得到所有者授权我虽然确信KC不会小题大做针对你,但是别把自己的...
师傅说的也是,但我也只是将KC的问题发到KC上,便没有在其他的地方发过,再说了审核既然能将我这篇文章通过那也肯定是对文章所涉及问题的危害程度进行了一定的评估才会通过的对吧,确实渗透工作没有事先通知确实不是个好的行为,我下次注意吧,感谢师傅了
这个问题似乎没有太完美的解决办法,你说的办法各有局限性,对于伤害不大的操作或许摆烂更好。站外按钮靠用户洁身自好不要乱按,站内只支持纯链接,大多数地方不支持写html,可以试试看有没有漏网的。
这个问题似乎没有太完美的解决办法,你说的办法各有局限性,对于伤害不大的操作或许摆烂更好。站外按钮靠用...
CSRF实际上就是攻击者能预知URL的请求参数及其参数值从而实现伪造该功能点请求。那么是不是只需要构建一个攻击者无法预知的token值就可以了呢?这个数值是随机的,需要请求时带上该token,再每次请求时都进行一次比对,攻击者就无法构建请求参数了。我也不是很明白虎哥所说的局限性到底在哪里。且该攻击不需要在站内编写html,只需要点击链接即可,假如我在KC发布一篇文章在文章中的一个内容中标明说只是我的B站但实际的链接却是我构建的实现CSRF攻击的链接,并在点击链接后发送一次请求再重定向到B站那用户是否能意识到自己已经在无意中访问了恶意链接呢?伤害大不大也是取决于功能点,如若存在该漏洞的功能点不是关注点赞呢而是购买商品、货币转账等呢
简介好像被暗改过了,之前还可以用 <script> <script> 里面塞xxxxx可以让主页变灰(纪念账号) 塞document.write("") 打开主页自动显示空白页面 onclick里面也能塞 点击按钮执行xxxxx 我记得还能改主页其他内容 比如把学术分改成99999 还有很多可diy的 现在都无了
时段 | 个数 |
---|---|
{{f.startingTime}}点 - {{f.endTime}}点 | {{f.fileCount}} |
200字以内,仅用于支线交流,主线讨论请采用回复功能。