今天,一位朋友遇到sql注入漏洞,被waf给拦截了。目标使用的中间件为nginx,可以使用updatexml进行报错注入,waf使用mod-security规则,而且开发人员自己改写了规则,禁用了concat等常见字符串拼接函数。朋友一开始使用hex来读取数据,后来发现部分数据会丢失。原因很简单,updatexml中存在特殊字符、字母时,会出现报错,报错信息为特殊字符、字母及之后的内容,而hex出的数据包含字母和数字,所以第一个字母前面的内容都会丢失
今天,一位朋友遇到sql注入漏洞,被waf给拦截了。目标使用的中间件为nginx,可以使用updatexml进行报错注入,waf使用mod-security规则,而且开发人员自己改写了规则,禁用了concat等常见字符串拼接函数。朋友一开始使用hex来读取数据,后来发现部分数据会丢失。原因很简单,updatexml中存在特殊字符、字母时,会出现报错,报错信息为特殊字符、字母及之后的内容,而hex出的数据包含字母和数字,所以第一个字母前面的内容都会丢失