之前帮同事测的站,本来还想骂她的,这个注入直接贴在脸上了,怎么没测出来。
因为进了这网站首页之后,随便在导航栏点一个模块,接口是一样的,id不一样,直接就是注入贴在脸上。
后来才发现其实也没有那么明显,要细细的才能发现这个注入。好吧,这个直接是个GET,但是它很坏:
GET请求大家都知道,在浏览器里面直接发,如果有符号会自动做一次URL编码,这个系统我猜它可能是不会自己解码,然后就识别不了,所以判断不出来:
但是当我来到BP里面,插入单引号时:
看见了吧,这基本上包有的:
看看长度函数有没有被禁,构造语句:
'||1/(length(123)=2)||'
先盲猜一手,我猜他是Mysql数据库:
鈤你大坝的,database()函数G了。
我不用了
所以那么,理论上来说,众所周知,database()函数是Mysql获取库名的:
如果他被禁了,怎么办呢?没事,还有:
没错,就是schema()函数。那如果两个都用不了怎么办呢?还怎么办你大坝,下机了,还怎么办:
O凯啦家人们,跑一下长度:17
牛波一了,先看看截取函数能不能用:
'||1/(substr(123,1,1)=1)||'
好的家人们,现在我们跑库名。是这样的,依照我一坤年的注入经验,我会习惯性的加入这几个符号:
O的JBK,直接梭哈:
下机了,别问为什么不跑数据,我R他的M,跑数据必须要用select,但是WQTM的,select被禁了。
最后记得一定要细细的,我说的是测试的时候大家要细细的,不是说牛牛细细的。
原文始发于微信公众号(犀利猪安全):SQL注入 | 当你细节一点,你就会发现看似没有SQL注入的地方,它其实是有注入的
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论