unicode

我们在对使用Moodle作为LMS(学习管理系统)后台的应用程序进行渗透测试的时候发现了此漏洞。Moodle LMS默认使用Unicode对数据进行转换,他们这样做的初衷是为了便于数据清理。但是同时也给攻击者提供了机会,攻击者可以绕过这些过滤器成功实现SQL攻击。
Django的密码重置表单使用不区分大小写的查询来获取输入的邮箱地址对应的账号。一个知道邮箱地址和账号对应关系的攻击者可以精心构造一个和该账号邮箱地址不同,但经过Unicode大小写转换后相同的邮箱地址,来接收该账户的密码重置邮件。
接下来,将介绍当缓冲区溢出遇到unicode利用。
有幸拿到了这道题的1血,也在赛后的交流讨论中,发现了一些新的思路,总结一下3个做法:伪造session、unicode欺骗、条件竞争。