解决了看人品的偏移注入搞不定的事,100%掉落,麻麻再也不担心我的access的注入啦!
access移位注入
我也不晓得这玩意应该叫什么好,升级版的偏移注入吧,搞出来这个方法的人称为“移位溢注”,太难念了,不过确实是对数据库真的很了解,学习一下。测试环境
用的之前的一个cookie注入的环境,南方数据的cms,由于这个cms的admin表列实在太长了,连偏移注入都用不了,更不用说这种移位注入了,所以我拿这个cms的另外一张表SmallClass_New来进行测试的。此表只有3个字段,记录有5条。注入过程
- 判断注入点。
- 通过order by 猜当前表的字段数量,为11。
- 通过联合查询猜表并判断回显点,回显点有2,3,8,9,10。
- 通过偏移注入的方法判断出SmallClass_New表的字段数量,数量为3。
- 这样都爆出来了一点字段值,不过不够,接下来使用新的注入方法。
alert(document.cookie="id="+escape("27 union select 1,2,3,4,5,6,7,SmallClass_New.*,11 from SmallClass_New")); - 三个字段一次全出来了,当然效果能这么好的原因是因为我挑了表来测试的,嘿嘿,其实是因为回显点连续连足够多,有3个,并且表的字段比较少刚刚好3个,所以全都显示出来了,如果回显点不连续或者数量少加上表的字段多怎么办呢,这个时候就可以移位来解决,如下所示,我这次换了另外一张表来显示,用img表,字段数量为4,记录有3条。
- 上图可以看出来,由于回显点不够,只能显示3个,ID值没有显示出来,这个时候,我们可以继续借用2,3两个回显位来完成ID值的回显。
- 还是失败了,仍然没有出现ID,但是我们可以移动img.*的位置来解决这个问题。
- OK,ID为10,在移动了位置后,终于把ID给爆出来了,我们就可以借助ID这种比较好尝试的字段来进行切换爆其它记录值,比如我将ID改成9,就会出现其它的记录,完事。