原理:sql漏洞的修复主要是采用一些特殊字符的过滤,所以在注入时,可以尝试多种字符交替使用,测试被过滤的字符,之后可将该字符进行替换尝试,如编码,双写等,或将该字符用相同效果的命令与之替换,一步步尝试,最终构造出可用的指令
首先传入参数 1,页面显示正常
加入 ‘ 后报错
之后尝试了--+,%23,还是报错
又尝试了 or' ,这次正常显示
于是又加了 or 1=1,显示正常
将1=1改为1=2,还是正常
于是将参数1更改为-1,页面有了变化
又将1=2改为1=1,页面显示正常,说明1=1也能正常传入数据库
接下来又用1>1,2>1进行测试,结果如下
所以下面直接利用ascii构造指令,(ascii(substr(database(),1,1)))>1进行测试,页面正常
之后进行查询指令的更换即可获得数据库数据
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)