记一次edusrc的sql注入漏洞挖掘
某大学网站存在sql注入
该系统存在sql注入漏洞,特征为:desc关键字后, 命令大小写绕过注入
0x01 注册
首先打开站点:https://xxx.edu.cn/xx/index
首先进入网页,右上角是一个登录注册界面,尝试用虚拟邮箱进行注册
这里我随便使用临时邮箱进行注册,注册过程出现激活邮件
到邮箱中进行激活,至此注册成功。
0x02 寻找注入点
点开各个界面,发现有申请界面有查询框,尝试寻找注入点。
此步开始,打开firefox的浏览器代理到burpsuite,由burp进行监听。
在申请界面发现有表单界面:
任意选择条件后提交后查看burp抓到的数据包,我是选择了学院条件后查看。查看burp抓到的数据包列表,发现有POST包,其中两个POST包均存在参数。
说明刚刚选择的学院条件被提交到后台数据库,
点开任意一个POST包,发现存在sql语句关键字desc。图片较为模糊,已做马赛克处理,大致意思理解即可。于是,将该数据包send to repeater进行payload构造,发现没有waf,如果有可以尝试绕过一下。
尝试修改desc为desca,发送之后出现报错。
爆出sql查询语句,表名列名等;确认为注入点。
0x03 构造payload
尝试各类字符串注入,发现有滤过。
构造payload为:desc.exp(1) 和 desc,,updatexml(1,concat(0x01,user()),1)
发现被后台滤过,出现非法操作的响应
尝试修改updatexml语句中的大小写,修改payload为desc,updateXMl(1,concAt(0x01,user()),1)
发现成功注入。
同理构造payload:desc,updateXMl(1,concAt(0x01,database()),1)
desc,updateXMl(1,concAt(0x01,version()),1),爆出数据库名和数据库版本。
0x04 总结
至此该漏洞验证,使用抓包工具为Burpsuite。属于desc关键字处存在POST型sql注入,且通过大小写绕过实现注入。updatexml和concat二者必须同时满足有大写字母存在,才能实现绕过。
声明:文中所包含漏洞均已提交edusrc且以修复,所有内容均已脱敏,仅作为学习记录。由于查看本文章造成的任何后果本团队不承担任何责任,请遵守中华人民共和国法律!