某大学网站存在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且以修复,所有内容均已脱敏,仅作为学习记录。由于查看本文章造成的任何后果本团队不承担任何责任,请遵守中华人民共和国法律!