-
Notifications
You must be signed in to change notification settings - Fork 346
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
http with multi-connect :session.connect(s.get"xxx") #652
Comments
What do you mean multi-connect? Take HTTP requests as an example, supposing you define 4 requests: login, req1, req2 and req3, you can connect them as follows. session.connect(s_get("login"))
session.connect(s_get("login"), s_get("req1"), callback=handle_auth)
session.connect(s_get("login"), s_get("req2"), callback=handle_auth)
session.connect(s_get("login"), s_get("req3"), callback=handle_auth) In my opinion, as for HTTP requests, these 3 requests (req1, req2, req3) have no explicit order. In addition, there might be a callback used to modify the auth cookie dynamically for next post-authenticated requests. |
Thank you very much.
Yesterday,I have finished login and reqeust1 of boofuzz。
You are right, the cookie shoud be modified after one hours or more;
Howerver, I modified the cookie manually,just beacause I don't know how to modify it by callback functionly; my cookie of dir-x1860 router contains cookieID、admin and password (MD5 maybe)、HNAP_auth and so on。
Therefore,I modified it manually with Burpsuite proxy capture.
Finally, maybe it is not so important, in my opinion, the choice of request does matter, which should be analysed again and again.
|
The auth information can be dynamically updated via callback automatically. session.connect(s_get("req1"), callback=handle_auth) Actually, the login request can be done in def handle_auth(target, fuzz_data_logger, session, node, edge, *args, **kwargs):
global cookie
if not session.last_send or (session.last_recv and b'401 Not Authorized' in session.last_recv):
# send login request and set the correct cookie with value from login response
# ...
# update cookie attribute in req1 request dynamically
s_update(node.name + '.cookie', cookie)
return node.render() |
My boofuzz is installed via pip; |
Yeah, the No need to modify the |
According to your code, you did nothing in the
Since you have written these parameters as fixed values, after the session timeout, it will fail of course. Similarly, you can add another edge callback to update related parameters dynamically.
The edge callback |
Thank you so much! |
The clue is already in the In the
By the way, to get yourself farmilar with the |
Thank you! |
Thanks for the support @cq674350529! Closing for now. |
Proposal
In some blogs, session.connect for FTP is like:
So, maybe it is useful for FTP protocol, if i want to fuzz more after login;
However, with HTTP request,how could I connect 2 or 3 request after I login successfully?
Use-Case
No response
Anything else?
No response
The text was updated successfully, but these errors were encountered: