在学习burp suite APIs中的Intruder payload处理器的过程中,一直搞不明白IIntruderPayloadProcess接口中processPayload方法的currentPayload和originalPayload参数有啥区别。虽说从名字上看currentPayload就是当前paylaod,originalPayload是原始payload的意思。翻了一下文档,大概知道了它们的区别,但总感觉还是没弄清其本质区别,很不舒服!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
/** * This method is invoked by Burp each time the processor should be applied * to an Intruder payload. * * @param currentPayload The value of the payload to be processed. * @param originalPayload The value of the original payload prior to * processing by any already-applied processing rules. * * @param baseValue The base value of the payload position, which will be * replaced with the current payload. * @return The value of the processed payload. This may be * <code>null</code> to indicate that the current payload should be skipped, * and the attack will move directly to the next payload. */ byte[] processPayload( byte[] currentPayload, byte[] originalPayload, byte[] baseValue);
Processor1 currentPayload: a originalPayload: a ------------------------- Processor1 currentPayload: b originalPayload: b ------------------------- Processor1 currentPayload: c originalPayload: c ------------------------- Processor1 currentPayload: d originalPayload: d ------------------------- Processor1 currentPayload: e originalPayload: e -------------------------