Skip to content
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

Automated authentication detection and configuration #4105

Closed
5 tasks done
psiinon opened this issue Nov 30, 2017 · 14 comments
Closed
5 tasks done

Automated authentication detection and configuration #4105

psiinon opened this issue Nov 30, 2017 · 14 comments

Comments

@psiinon
Copy link
Member

psiinon commented Nov 30, 2017

Have converted this issue into a tracker:

  • Authentication detection & configuration
  • Session management detection & configuration
  • Verification detection & configuration
  • Browser based authentication
  • Automated authentication configuration

Currently a user must manually configure ZAP to handle authentication, eg as per https://github.com/zaproxy/zaproxy/wiki/FAQformauth
This is time consuming and error prone.
Ideally ZAP would help detect login and registration pages and provide more assistance when configuring authentication, ideally being able to completely automate the task for as many sort of webapps as possible.
There are lots of aspects to this project, but hopefully its possible to address them one at a time and gradually improve ZAP.
A good start would be to help detect login and registration pages. A good start would be flagging pages with forms that have either one or two password fields - one could imply login and 2 could imply registration.
We already detect session cookies so a combination of login form detection of session cookie detection would allow us to set up some of the auth config automatically.
Identifying logged in/out indicators is harder, but if the user provides some example credentials then we can request pages when using and not using those creds and suggest some strings that could be used.
The user interface is important to this development, but so is automation - it would be great to be able to just specify example credentials and for ZAP to be able to do the rest in many cases.
Testing against a wide variety of apps is key here.

@psiinon psiinon assigned ghost Dec 6, 2017
@psiinon
Copy link
Member Author

psiinon commented Jan 12, 2018

@Tisa-Segovic are you still planning on working on this?

@codesahil
Copy link

Would like to work on this project any ideas or steps to how to achieve . @psiinon

@psiinon
Copy link
Member Author

psiinon commented Jan 25, 2018

@codesahil : Start one step at a time.
As mentioned above "A good start would be flagging pages with forms that have either one or two password fields - one could imply login and 2 could imply registration."
Passive scan rules would be good for that, so try writing one of those. Then try to find a good range of test sites / apops and see how well it works against them.

@kingthorin
Copy link
Member

@Tisa-Segovic are you still planning on working on this?

@psiinon
Copy link
Member Author

psiinon commented May 10, 2018

Kajans blog: https://kajanm.github.io/gsoc.html
Doc detailing Web App Auth Schemes: https://docs.google.com/document/d/1LSg8CMb4LI5yP-8jYDTVJw1ZIJD2W_WDWXLtJNk3rsQ/edit

@binarymist
Copy link
Contributor

May also be worth updating (https://github.com/zaproxy/zap-core-help/wiki/HelpStartConceptsAuthentication) as work progresses

@psiinon
Copy link
Member Author

psiinon commented May 15, 2018

@binarymist the zap-core-help wiki is generated from the help pages when we do a full release.
The help pages should definitely be updated but the wiki will only be updated when those changes are part of a full release.

@tumluliu
Copy link

tumluliu commented Sep 3, 2018

Do you have a plan to provide the python scripts, e.g. zap-baseline.py, zap-full-scan.py with auth-related options, something like the cmdline arguments in https://github.com/ICTU/zap-baseline? The problem of the ICTU version script is it's pretty unstable and randomly generated 0-length reports

@psiinon
Copy link
Member Author

psiinon commented Sep 3, 2018

I did raise ICTU/zap2docker-auth-weekly#5 but I was a bit concerned about the implementation as it looked like it could be a bit unstable :/
This project which @KajanM is working on is all about improving authentication via ZAP. I'd love us to be able to extend the python scripts to automatically handle authentication but its complicated to handle all situations so I'm afraid it will take a while.

@tumluliu
Copy link

tumluliu commented Sep 4, 2018

Thank you for the message! @psiinon
I tried making a context file with ZAP desktop app with some manual steps according to this FAQ you recommended in some other threads. I can export an xml context file now, and about to pass it as a parameter to the zap-baseline script. Do you think this is the correct way to achieve the target?

@ricekot
Copy link
Member

ricekot commented Feb 21, 2023

I believe the authhelper add-on now offers some of the basic features that are requested in this issue. Should we close this issue, or convert it into a tracker for future work on the add-on?

@psiinon psiinon assigned psiinon and unassigned KajanM Feb 21, 2023
@psiinon
Copy link
Member Author

psiinon commented Feb 21, 2023

Yeah, this could be a tracker issue .. have assigned it to me and will add checkboxes to the first comment...

@psiinon
Copy link
Member Author

psiinon commented May 10, 2023

Wow, raised in 2017 😁

@psiinon psiinon closed this as completed May 10, 2023
@github-actions
Copy link

github-actions bot commented Aug 9, 2023

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot locked and limited conversation to collaborators Aug 9, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Development

No branches or pull requests

8 participants