Fixes the replay Function of Live HTTP Headers, a common security test plug-in for Firefox browsers.
Live Http headers is a powerful tool for capturing Http header information in Firefox and is often used for security testing. Unfortunately, the Replay Function cannot work in the latest Firefox browser (35.0.1). I decided to make a temporary fix before the official version of the plug-in is updated.
I found that If-Modified-Since contained in HTTP Headers can allow the replay Function to work again.
What is If-Modified-Since?
If-Modified-Since is a standard HTTP Request Header label. When sending an HTTP request, the last modification time of the browser cache page is sent to the server, the server compares the time with the last modification time of the actual file on the server.
If-Modified-Since is used to record the HTTP header information of the Last modification time of the page. It is the header sent by the client to the server, which is similar to Last-Modified, the difference is that Last-Modified is the HTTP header sent from the server to the client.
If the time is the same, the HTTP status code 304 (no file content is returned) is returned. After the client receives the request, the local cached file is directly displayed in the browser.
If the time is inconsistent, the HTTP Status Code 200 and the new file content are returned. After receiving the request, the client discards the old file, caches the new file, and displays it in the browser.
If
If-Modified-Since: *
Add to the default HTTP header of the replay Function in Live HTTP Headers to make the replay work normally.
Solution:
In the firfox address bar, enter: about: support
Go to the configuration folder.
Here, the Live HTTP Headers plug-in directory is
.\extensions\{8f8fe09b-0bd3-4470-bc1b-8cad42b8203a}
Then go to the chrome directory and find livehttpheaders. jar.
Modify the file/content/LiveHTTPReplay. js in livehttpheaders. jar.
Original version:
if(!livehttpheaders) var livehttpheaders={};if(!livehttpheaders.replay) livehttpheaders.replay={};livehttpheaders.replay.live = window.arguments[0];livehttpheaders.replay.init = function() { var args = window.arguments; document.getElementById("livehttpheaders.replay.method").value = args[1]; document.getElementById("livehttpheaders.replay.url").value = args[2]; document.getElementById("livehttpheaders.replay.version").value = args[3]; document.getElementById("livehttpheaders.replay.headers").value = args[4]; if (args[5] != null) { document.getElementById("livehttpheaders.replay.post").value = livehttpheaders.replay.stringToEscape(args[5]); document.getElementById("livehttpheaders.replay.sendpost").checked="true"; } livehttpheaders.replay.updatePost();}
To:
if(!livehttpheaders) var livehttpheaders={};if(!livehttpheaders.replay) livehttpheaders.replay={};livehttpheaders.replay.live = window.arguments[0];livehttpheaders.replay.init = function() { var args = window.arguments; document.getElementById("livehttpheaders.replay.method").value = args[1]; document.getElementById("livehttpheaders.replay.url").value = args[2]; document.getElementById("livehttpheaders.replay.version").value = args[3]; document.getElementById("livehttpheaders.replay.headers").value = args[4] + "If-Modified-Since: *\n"; if (args[5] != null) { document.getElementById("livehttpheaders.replay.post").value = livehttpheaders.replay.stringToEscape(args[5]); document.getElementById("livehttpheaders.replay.sendpost").checked="true"; } livehttpheaders.replay.updatePost();}
After the modification is complete, restart firfox and try the replay Function. You will find that it is working properly.
Notice:
After modification, pack the file into livehttpheaders.jar(not livehttpheaders.zip)