以下面這一段引數為例,被§§包圍的部分為需要破解的部分:
user=§ss§&password=§zxcv§&imageField.x=17&imageField.y=1
(1) (2)
----------------------------------------------------------
payload1 = [admin,administrator,sys,system,root]
payload2 = [pass,passwd,pwd]
1. Sniper (狙擊)
按順序將(1)(2)其中之一中使用所給的payload進行替換,另一個引數不變.
若在這裡使用payload2的話,破解嘗試順序為:
user | password
-------------------
ss | pass
ss | passwd
ss | pwd
pass | zxcv
passwd | zxcv
pwd | zxcv
2. Battering ram (撞擊)
使用payload同時替換所有被選中的位置.
在這裡使用payload2的話,破解嘗試順序為:
user | password
-------------------
pass | pass
passwd | passwd
pwd | pwd
3. Pitchfork (交叉)
按順序分別使用payload1替換(1),payload2替換(2).payload數量較少的列表用完則停止.
破解方式如下:
for i in range( min(len(payload1),len(payload2)) ):
user = payload1[i]
password = payload2[i]
4. Cluster Bomb (集束炸彈)
通常意義上的窮舉法.
for i in payload1:
for j in payload2:
user = payload1
password = payload2